(CommandList
  children: [
    (C {(echo)} {(DQ ("*** GENERATE ROOTFS BEGIN ***"))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SRC_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub "$(">
                spids: [12 14]
              )
            }
          spids: [11]
        )
      ]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GLIBC_PREPARED)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub "$(">
                spids: [21 23]
              ) (/work/glibc/glibc_prepared)
            }
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BUSYBOX_INSTALLED)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub "$(">
                spids: [31 33]
              ) (/work/busybox/busybox_installed)
            }
          spids: [30]
        )
      ]
      spids: [30]
    )
    (C {(cd)} {(work)})
    (C {(echo)} {(DQ ("Preparing initramfs work area..."))})
    (C {(rm)} {(-rf)} {(rootfs)})
    (C {(cp)} {(-r)} {($ VSub_Name "$BUSYBOX_INSTALLED")} {(rootfs)})
    (C {(cp)} {(-r)} {(src/minimal_rootfs/) (Lit_Other "*")} {(rootfs)})
    (C {(cd)} {(rootfs)})
    (C {(rm)} {(-f)} {(linuxrc)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:COPY_SOURCE_ROOTFS)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(grep)} {(-i)} {(Lit_Other "^") (COPY_SOURCE_ROOTFS)} 
                              {($ VSub_Name "$SRC_ROOT") (/.config)}
                            )
                            (C {(cut)} {(-f2)} {(-d) (SQ <"=">)})
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [100 121]
                )
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$COPY_SOURCE_ROOTFS"))} {(Lit_Other "=")} 
                  {(DQ (true))} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(cp)} {(-r)} {(../src)} {(src)})
            (C {(echo)} {(DQ ("Source files and folders have been copied to '/src'."))})
          ]
          spids: [-1 143]
        )
      ]
      else_action: [(C {(echo)} {(DQ ("Source files and folders have been skipped."))})]
      spids: [169 178]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BUSYBOX_ARCH)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(file)} {(bin/busybox)}) (C {(cut)} {(-d) (SQ <" ">)} {(-f3)})]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [191 206]
              )
            }
          spids: [190]
        )
      ]
      spids: [190]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$BUSYBOX_ARCH"))} {(Lit_Other "=")} 
                  {(DQ (64-bit))} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(mkdir)} {(lib64)})
            (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/ld-linux) (Lit_Other "*")} {(lib64)})
            (C {(echo)} {(DQ ("Dynamic loader is accessed via '/lib64'."))})
          ]
          spids: [-1 226]
        )
      ]
      else_action: [
        (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/ld-linux) (Lit_Other "*")} {(lib)})
        (C {(echo)} {(DQ ("Dynamic loader is accessed via '/lib'."))})
      ]
      spids: [249 267]
    )
    (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/libm.so.6)} {(lib)})
    (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/libc.so.6)} {(lib)})
    (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/libresolv.so.2)} {(lib)})
    (C {(cp)} {($ VSub_Name "$GLIBC_PREPARED") (/lib/libnss_dns.so.2)} {(lib)})
    (SimpleCommand
      words: [
        {(strip)}
        {(-g)}
        {($ VSub_Name "$SRC_ROOT") (/work/rootfs/bin/) (Lit_Other "*")}
        {($ VSub_Name "$SRC_ROOT") (/work/rootfs/sbin/) (Lit_Other "*")}
        {($ VSub_Name "$SRC_ROOT") (/work/rootfs/lib/) (Lit_Other "*")}
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[338])]
    )
    (C {(echo)} {(DQ ("Reduced the size of libraries and executables."))})
    (C {(echo)} {(DQ ("The initramfs area has been generated."))})
    (C {(cd)} {($ VSub_Name "$SRC_ROOT")})
    (C {(echo)} {(DQ ("*** GENERATE ROOTFS END ***"))})
  ]
)