(command.CommandList children: [ (C {<set>} {<-e>}) (C {<cd>} {<'/tmp'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-t>} {<0>} {<Id.Lit_RBracket ']'>}) (C {<bsdtar>} {<xzf>} {<->}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TGZ='> name:TGZ) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*.tgz'>)} {<-or>} {<-name>} {(SQ <'*.tar.gz'>)}) right: <Id.Eof_RParen _> ) ) } spids: [37] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName TGZ))} {<Id.Lit_RBracket ']'>}) (C {<bsdtar>} {<xzf>} {(DQ ($ Id.VSub_DollarName TGZ))}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EFI_ISO='> name:EFI_ISO) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*efi.iso'>)}) right: <Id.Eof_RParen _> ) ) } spids: [81] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ISO='> name:ISO) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*.iso'>)}) right: <Id.Eof_RParen _> ) ) } spids: [96] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAW='> name:RAW) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*.raw'>)}) right: <Id.Eof_RParen _> ) ) } spids: [111] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INITRD='> name:INITRD) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*.img'>)}) right: <Id.Eof_RParen _> ) ) } spids: [126] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KERNEL='> name:KERNEL) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {<vmlinuz64>} {<-or>} {<-name>} {(SQ <'*bzImage'>)}) right: <Id.Eof_RParen _> ) ) } spids: [141] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMDLINE='> name:CMDLINE) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<.>} {<-name>} {(SQ <'*-cmdline'>)}) right: <Id.Eof_RParen _> ) ) } spids: [162] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName EFI_ISO))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: { (DQ <'-pflash /usr/share/ovmf/bios.bin -usbdevice tablet -cdrom '> ($ Id.VSub_DollarName EFI_ISO) <' -boot d -drive file=systemdisk.img,format=raw'> ) } spids: [193] ) ] redirects: [] ) ] spids: [178 190] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName ISO))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: { (DQ <'-cdrom '> ($ Id.VSub_DollarName ISO) <' -drive file=systemdisk.img,format=raw'> ) } spids: [215] ) ] redirects: [] ) ] spids: [200 212] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName RAW))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: {(DQ <'-drive file='> ($ Id.VSub_DollarName RAW) <',format=raw'>)} spids: [241] ) ] redirects: [] ) ] spids: [222 234] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName KERNEL))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: {(DQ <'-kernel '> ($ Id.VSub_DollarName KERNEL))} spids: [263] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName INITRD))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName ARGS) <' -initrd '> ($ Id.VSub_DollarName INITRD) ) } spids: [286] ) ] redirects: [] ) ] spids: [270 283] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName ARGS) <' -drive file=systemdisk.img,format=raw'>)} spids: [297] ) ] redirects: [] ) ] spids: [248 260] ) ] else_action: [ (command.Simple words: [{<echo>} {(DQ <'no recognised boot media'>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Pipeline children: [(C {<echo>} {(DQ ($ Id.VSub_DollarName ARGS))}) (C {<grep>} {<-q>} {<systemdisk>})] negated: F stderr_indices: [] ) (C {<qemu-img>} {<create>} {<-f>} {<raw>} {<systemdisk.img>} {<256M>}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name CMDLINE))} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {($ Id.VSub_DollarName CMDLINE)}) right: <Id.Eof_RParen _> ) ) } spids: [369] ) ] redirects: [] ) ] spids: [352 366] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Star '*'))} spids: [381] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name APPEND))} {<Id.Lit_RBracket ']'>}) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'APPEND='> name:APPEND) op: assign_op.Equal rhs: {(DQ <'console=ttyS0'>)} spids: [405] ) ] redirects: [] ) ] spids: [388 402] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName EFI_ISO))} {<Id.Lit_RBracket ']'>} ) (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName ISO))} {<Id.Lit_RBracket ']'>} ) ] ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGS='> name:ARGS) op: assign_op.Equal rhs: { (DQ <'-append '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name APPEND) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (${ Id.VSub_Name ARGS) ) } spids: [440] ) ] redirects: [] ) ] spids: [413 437] ) ] else_action: [] redirects: [] ) (C {<eval>} {<qemu-system-x86_64>} {<-machine>} {<q35> <Id.Lit_Comma ','> <Id.Lit_VarLike 'accel='> <kvm> <Id.Lit_Colon ':'> <tcg>} {<-device>} {<virtio-rng-pci>} {<-nographic>} {<-vnc>} {<none>} {<-m>} {<1024>} {($ Id.VSub_DollarName ARGS)} ) ] )