(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FAT_SIZE) op: assign_op.Equal rhs: {<1600>} spids: [33] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOT1_SIZE) op: assign_op.Equal rhs: {<128k>} spids: [40] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number '$2'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' arch boot-filename'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [65 78] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [97] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:FILENAME) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTPUT_FILE) op: assign_op.Equal rhs: {<fat-> (${ Id.VSub_Name ARCH) <.tmpl>} spids: [107] ) ] ) (C {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/zero'>} {<Id.Lit_VarLike 'of='> ($ Id.VSub_DollarName '$OUTPUT_FILE')} {<Id.Lit_VarLike 'bs='> <512>} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$FAT_SIZE')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEVICE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mdconfig>} {<-a>} {<-f>} {($ Id.VSub_DollarName '$OUTPUT_FILE')}) ) } spids: [129] ) ] ) (C {<newfs_msdos>} {<-F>} {<12>} {<-L>} {<EFI>} {($ Id.VSub_DollarName '$DEVICE')}) (C {<mkdir>} {<stub>}) (C {<mount>} {<-t>} {<msdosfs>} {<'/dev/'> ($ Id.VSub_DollarName '$DEVICE')} {<stub>}) (C {<mkdir>} {<-p>} {<'stub/efi/boot'>}) (command.Pipeline children: [ (C {<echo>} {(SQ <'Boot1 START'>)}) (C {<dd>} {<Id.Lit_VarLike 'of='> <'stub/efi/boot/'> ($ Id.VSub_DollarName '$FILENAME')} {<Id.Lit_VarLike 'cbs='> ($ Id.VSub_DollarName '$BOOT1_SIZE')} {<Id.Lit_VarLike 'count='> <1>} {<Id.Lit_VarLike 'conv='> <block>} ) ] negated: F ) (command.Simple words: [{<echo>} {($ Id.VSub_DollarName '$FILENAME')}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'stub/efi/boot/startup.nsh'>} ) ] do_fork: T ) (C {<umount>} {<stub>}) (C {<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName '$DEVICE')}) (C {<rmdir>} {<stub>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOT1_OFFSET) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<hd>} {($ Id.VSub_DollarName '$OUTPUT_FILE')}) (C {<grep>} {(SQ <'Boot1 START'>)}) (C {<cut>} {<-f>} {<1>} {<-d>} {(SQ <' '>)}) ] negated: F ) ) } spids: [238] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOT1_OFFSET) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {<0x> ($ Id.VSub_DollarName '$BOOT1_OFFSET')}) (C {<awk>} {(SQ <'{printf("%x\\n",$1/512);}'>)}) ] negated: F ) ) } spids: [271] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$BOOT1_SIZE')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <k>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOT1_MAXSIZE) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<expr>} { (braced_var_sub token: <Id.VSub_Name BOOT1_SIZE> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Percent '%'> arg_word:{<k>}) ) } {(SQ <'*'>)} {<1024>} ) ) } spids: [302] ) ] ) ] spids: [297 299 320 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BOOT1_MAXSIZE) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$BOOT1_SIZE')} spids: [326] ) ] ) ] spids: [322 323 330 -1] ) ] ) (command.Simple words: [{<echo>} {(SQ <'# This file autogenerated by generate-fat.sh - DO NOT EDIT'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<Makefile.fat>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'# '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <FreeBSD> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ) } ] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Makefile.fat>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'BOOT1_OFFSET=0x'> ($ Id.VSub_DollarName '$BOOT1_OFFSET'))}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Makefile.fat>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'BOOT1_MAXSIZE='> ($ Id.VSub_DollarName '$BOOT1_MAXSIZE'))}] redirects: [(redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<Makefile.fat>})] do_fork: T ) (C {<bzip2>} {($ Id.VSub_DollarName '$OUTPUT_FILE')}) (command.Simple words: [{<echo>} {(SQ <'FAT template boot filesystem created by generate-fat.sh'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2.uu>} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(SQ <'DO NOT EDIT'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2.uu>} ) ] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <FreeBSD> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2.uu>} ) ] do_fork: T ) (command.Simple words: [ {<uuencode>} {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2>} {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2>} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2.uu>} ) ] do_fork: T ) (C {<rm>} {($ Id.VSub_DollarName '$OUTPUT_FILE') <.bz2>}) ] )