(command.CommandList children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ <x> ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <x-b>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <uudecode> more_env: [] words: [ {<uudecode>} {<-o>} {<'/tmp/hfs-boot-block.bz2'>} { (DQ (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {(DQ ($ Id.VSub_Number 0))}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'/hfs-boot.bz2.uu'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <bzip2> more_env: [] words: [{<bzip2>} {<-d>} {<'/tmp/hfs-boot-block.bz2'>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'OFFSET='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OFFSET='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OFFSET='> name:OFFSET) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <hd> more_env: [] words: [{<hd>} {<'/tmp/hfs-boot-block'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'Loader START'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-f>} {<1>} {<-d>} {(SQ <' '>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'OFFSET='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OFFSET='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OFFSET='> name:OFFSET) op: assign_op.Equal rhs: {<0x> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<0x> ($ Id.VSub_DollarName OFFSET)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'{printf("%x\\n",$1/512);}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <dd> more_env: [] words: [ {<dd>} {<Id.Lit_VarLike 'if='> (DQ ($ Id.VSub_Number 4) <'/boot/loader'>)} {<Id.Lit_VarLike 'of='> <'/tmp/hfs-boot-block'>} {<Id.Lit_VarLike 'seek='> ($ Id.VSub_DollarName OFFSET)} {<Id.Lit_VarLike 'conv='> <notrunc>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'bootable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bootable='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bootable='> name:bootable) op: assign_op.Equal rhs: {(DQ <'-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot'>)} ) ] redirects: [] ) (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {<-p>} {(DQ ($ Id.VSub_Number 4) <'/ppc/chrp'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [ {<cp>} {(DQ ($ Id.VSub_Number 4) <'/boot/loader'>)} {(DQ ($ Id.VSub_Number 4) <'/ppc/chrp'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number 4) <'/ppc/bootinfo.txt'>)} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'<chrp-boot>\n'> <'<description>FreeBSD Install</description>\n'> <'<os-name>FreeBSD</os-name>\n'> <'<boot-script>boot &device;:,'> <Id.Lit_BadBackslash '\\'> <ppc> <Id.Lit_BadBackslash '\\'> <chrp> <Id.Lit_BadBackslash '\\'> <'loader</boot-script>\n'> <'</chrp-boot>\n'> ] ) ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'bootable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bootable='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bootable='> name:bootable) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName bootable) <' -o chrp-boot'>)} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'FreeBSD Install=\'/boot/loader.ps3\''>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number 4) <'/etc/kboot.conf'>)} ) ] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [73 91] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'bootable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'bootable='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bootable='> name:bootable) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-lt>} {<3>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number 0) <' [-b] image-label image-name base-bits-dir [extra-bits-dir]'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [292 305] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'LABEL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LABEL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LABEL='> name:LABEL) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <tr> more_env: [] words: [{<tr>} {(SQ <'[:lower:]'>)} {(SQ <'[:upper:]'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NAME='> name:NAME) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] ) (command.ShAssignment left: <Id.Lit_VarLike 'publisher='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'publisher='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'publisher='> name:publisher) op: assign_op.Equal rhs: {(DQ <'The FreeBSD Project. http://www.FreeBSD.org/'>)} ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'/dev/iso9660/'> ($ Id.VSub_DollarName LABEL) <' / cd9660 ro 0 0'>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_Number 1) <'/etc/fstab'>)} ) ] do_fork: T ) (command.Simple blame_tok: <makefs> more_env: [] words: [ {<makefs>} {<-t>} {<cd9660>} {($ Id.VSub_DollarName bootable)} {<-o>} {<rockridge>} {<-o>} {<Id.Lit_VarLike 'label='> (DQ ($ Id.VSub_DollarName LABEL))} {<-o>} {<Id.Lit_VarLike 'publisher='> (DQ ($ Id.VSub_DollarName publisher))} {(DQ ($ Id.VSub_DollarName NAME))} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_Number 1) <'/etc/fstab'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {<'/tmp/hfs-boot-block'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-rf>} {(DQ ($ Id.VSub_Number 1) <'/ppc'>)}] redirects: [] do_fork: T ) ] )