(command.CommandList children: [ (C {<echo>} {(DQ <'*** GENERATE ROOTFS BEGIN ***'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SRC_ROOT) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>}))} spids: [11] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SYSROOT) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>})) <'/work/sysroot'>} spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BUSYBOX_INSTALLED) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<pwd>})) <'/work/busybox/busybox_installed'> } spids: [30] ) ] ) (C {<cd>} {<work>}) (C {<echo>} {(DQ <'Preparing initramfs work area...'>)}) (C {<rm>} {<-rf>} {<rootfs>}) (C {<cp>} {<-r>} {($ Id.VSub_DollarName '$BUSYBOX_INSTALLED')} {<rootfs>}) (C {<cp>} {<-r>} {<'src/minimal_rootfs/'> <Id.Lit_Star '*'>} {<rootfs>}) (C {<cd>} {<rootfs>}) (C {<rm>} {<-f>} {<linuxrc>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COPY_SOURCE_ROOTFS) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<grep>} {<-i>} {<Id.Lit_Other '^'> <COPY_SOURCE_ROOTFS>} {($ Id.VSub_DollarName '$SRC_ROOT') <'/.config'>} ) (C {<cut>} {<-f2>} {<-d> (SQ <'='>)}) ] negated: F ) ) ) } spids: [98] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$COPY_SOURCE_ROOTFS'))} {<Id.Lit_Equals '='>} {(DQ <true>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<cp>} {<-r>} {<'../src'>} {<src>}) (C {<echo>} {(DQ <'Source files and folders have been copied to \'/src\'.'>)}) ] spids: [125 143] ) ] else_action: [(C {<echo>} {(DQ <'Source files and folders have been skipped.'>)})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BUSYBOX_ARCH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [(C {<file>} {<'bin/busybox'>}) (C {<cut>} {<-d> (SQ <' '>)} {<-f3>})] negated: F ) ) } spids: [190] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$BUSYBOX_ARCH'))} {<Id.Lit_Equals '='>} {(DQ <64-bit>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<mkdir>} {<lib64>}) (C {<cp>} {($ Id.VSub_DollarName '$SYSROOT') <'/lib/ld-linux'> <Id.Lit_Star '*'>} {<lib64>}) (C {<echo>} {(DQ <'Dynamic loader is accessed via \'/lib64\'.'>)}) ] spids: [208 226] ) ] else_action: [ (C {<cp>} {($ Id.VSub_DollarName '$SYSROOT') <'/lib/ld-linux'> <Id.Lit_Star '*'>} {<lib>}) (C {<echo>} {(DQ <'Dynamic loader is accessed via \'/lib\'.'>)}) ] ) (C {<cp>} {($ Id.VSub_DollarName '$SYSROOT') <'/lib/libm.so.6'>} {<lib>}) (C {<cp>} {($ Id.VSub_DollarName '$SYSROOT') <'/lib/libc.so.6'>} {<lib>}) (command.Simple words: [ {<strip>} {<-g>} {($ Id.VSub_DollarName '$SRC_ROOT') <'/work/rootfs/bin/'> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$SRC_ROOT') <'/work/rootfs/sbin/'> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$SRC_ROOT') <'/work/rootfs/lib/'> <Id.Lit_Star '*'>} ] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (C {<echo>} {(DQ <'Reduced the size of libraries and executables.'>)}) (C {<echo>} {(DQ <'The initramfs area has been generated.'>)}) (C {<cd>} {($ Id.VSub_DollarName '$SRC_ROOT')}) (C {<echo>} {(DQ <'*** GENERATE ROOTFS END ***'>)}) ] )