(command.CommandList children: [ (command.ShFunction name_tok: <unmount_devpts> name: unmount_devpts body: (BraceGroup left: <Id.Lit_LBrace '{'> 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: <mountpoint> more_env: [] words: [{<mountpoint>} {<-q>} {<'/dev/pts/'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <umount> more_env: [] words: [{<umount>} {<-n>} {<-l>} {<'/dev/pts/'>}] redirects: [] do_fork: T ) ] spids: [38 47] ) ] else_action: [] 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: <mountpoint> more_env: [] words: [{<mountpoint>} {<-q>} {<'/dev/shm/'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <umount> more_env: [] words: [{<umount>} {<-n>} {<-l>} {<'/dev/shm/'>}] redirects: [] do_fork: T ) ] spids: [63 72] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <mount_devtmpfs> name: mount_devtmpfs body: (BraceGroup left: <Id.Lit_LBrace '{'> 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: <grep> more_env: [] words: [ {<grep>} {<-E>} {<-q>} {(DQ <'^[^[:space:]]+ /dev devtmpfs'>)} {<'/proc/mounts'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mount> more_env: [] words: [ {<mount>} {<-n>} {<-o>} {<remount> <Id.Lit_Comma ','> <nosuid> <Id.Lit_Comma ','> <Id.Lit_VarLike 'size='> ($ Id.VSub_DollarName tmpfs_size) <Id.Lit_Comma ','> <Id.Lit_VarLike 'mode='> <0755> } {<-t>} {<devtmpfs>} {<devtmpfs>} {<'/dev'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] spids: [99 114] ) ] else_action: [] 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.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <mount> more_env: [] words: [ {<mount>} {<-n>} {<-o>} {<nosuid> <Id.Lit_Comma ','> <Id.Lit_VarLike 'size='> ($ Id.VSub_DollarName tmpfs_size) <Id.Lit_Comma ','> <Id.Lit_VarLike 'mode='> <0755> } {<-t>} {<devtmpfs>} {<devtmpfs>} {<'/dev'>} ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'udev requires devtmpfs support, not started'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] spids: [149 176] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <create_dev_makedev> name: create_dev_makedev body: (BraceGroup left: <Id.Lit_LBrace '{'> 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 '['>} {<-e>} {<'/sbin/MAKEDEV'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <ln> more_env: [] words: [{<ln>} {<-sf>} {<'/sbin/MAKEDEV'>} {<'/dev/MAKEDEV'>}] redirects: [] do_fork: T ) ] spids: [209 220] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <ln> more_env: [] words: [{<ln>} {<-sf>} {<'/bin/true'>} {<'/dev/MAKEDEV'>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <supported_kernel> name: supported_kernel body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <2.> pattern: (pat.Words words: [ {<2.> <Id.Lit_LBracket '['> <012345> <Id.Lit_RBracket ']'> <.> <Id.Lit_Star '*'>} {<2.6.> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>} {<2.6.> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})] right: <Id.Op_DSemi _> ) (CaseArm left: <2.6.> pattern: (pat.Words words: [ {<2.6.> <Id.Lit_LBracket '['> <12> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } {<2.6.> <Id.Lit_LBracket '['> <12> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})] right: <Id.Op_DSemi _> ) (CaseArm left: <2.6.3> pattern: (pat.Words words: [ {<2.6.3> <Id.Lit_LBracket '['> <0-1> <Id.Lit_RBracket ']'>} {<2.6.3> <Id.Lit_LBracket '['> <0-1> <Id.Lit_RBracket ']'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <my_tty> name: my_tty body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/bin/readlink'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-e>} {<'/proc/self/fd/0'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <readlink> more_env: [] words: [{<readlink>} {<--silent>} {<'/proc/self/fd/0'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <warn_if_interactive> name: warn_if_interactive body: (BraceGroup left: <Id.Lit_LBrace '{'> 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 ($ Id.VSub_DollarName RUNLEVEL))} {<Id.Lit_Equals '='>} {(DQ <S>)} {<-a>} {(DQ ($ Id.VSub_DollarName PREVLEVEL))} {<Id.Lit_Equals '='>} {(DQ <N>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] spids: [421 450] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TTY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TTY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TTY='> name:TTY) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <my_tty> more_env: [] words: [{<my_tty>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] 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 '['>} {<-z>} {(DQ ($ Id.VSub_DollarName TTY))} {<-o>} {(DQ ($ Id.VSub_DollarName TTY))} {<Id.Lit_Equals '='>} {(DQ <'/dev/console'>)} {<-o>} {(DQ ($ Id.VSub_DollarName TTY))} {<Id.Lit_Equals '='>} {(DQ <'/dev/null'>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] spids: [466 503] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nIt has been detected that the command'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <t> ($ Id.VSub_Number 0) <' '> ($ Id.VSub_Star '*') <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} {(DQ <'has been run from an interactive shell.'> <Id.Lit_BadBackslash '\\'> <n>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'It will probably not do what you expect, so this script will wait'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'60 seconds before continuing. Press ^C to stop it.'> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<60>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <make_static_nodes> name: make_static_nodes body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-e>} {<'/lib/modules/'> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'/modules.devname'> } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/bin/kmod'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Pipeline children: [ (command.Simple blame_tok: <'/bin/kmod'> more_env: [] words: [ {<'/bin/kmod'>} {<static-nodes>} {<--format> <Id.Lit_Equals '='> <tmpfiles>} {<--output> <Id.Lit_Equals '='> <'/proc/self/fd/1'>} ] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<type>} {<name>} {<mode>} {<uid>} {<gid>} {<age>} {<arg>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName name)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] ops: [<Id.Op_DAmp _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName type))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <c> pattern: (pat.Words words: [{<c>} {<b>} {<c> <Id.KW_Bang '!'>} {<b> <Id.KW_Bang '!'>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <mknod> more_env: [] words: [ {<mknod>} {<-m>} {($ Id.VSub_DollarName mode)} {($ Id.VSub_DollarName name)} {($ Id.VSub_DollarName type)} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName arg)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s/:/ /'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <d> pattern: (pat.Words words:[{<d>} {<d> <Id.KW_Bang '!'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <mkdir> more_env: [] words: [{<mkdir>} {($ Id.VSub_DollarName name)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'unparseable line ('> ($ Id.VSub_DollarName type) <' '> ($ Id.VSub_DollarName name) <' '> ($ Id.VSub_DollarName mode) <' '> ($ Id.VSub_DollarName uid) <' '> ($ Id.VSub_DollarName gid) <' '> ($ Id.VSub_DollarName age) <' '> ($ Id.VSub_DollarName arg) <')'> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> 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 '['>} {<-x>} {<'/sbin/restorecon'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <'/sbin/restorecon'> more_env: [] words: [{<'/sbin/restorecon'>} {($ Id.VSub_DollarName name)}] redirects: [] do_fork: T ) ] spids: [775 786] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {(DQ <'/sbin:/bin'>)} ) ] redirects: [] ) (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 <systemd-udevd>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DAEMON='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DAEMON='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DAEMON='> name:DAEMON) op: assign_op.Equal rhs: {(DQ <'/lib/systemd/systemd-udevd'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DESC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DESC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESC='> name:DESC) op: assign_op.Equal rhs: {(DQ <'the hotplug events dispatcher'>)} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-x>} {($ Id.VSub_DollarName DAEMON)} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmpfs_size='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmpfs_size='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmpfs_size='> name:tmpfs_size) op: assign_op.Equal rhs: {(DQ <10M>)} ) ] 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 '['>} {<-e>} {<'/etc/udev/udev.conf'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/etc/udev/udev.conf'>}] redirects: [] do_fork: T ) ] spids: [852 863] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/lib/lsb/init-functions'>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <supported_kernel> more_env: [] words: [{<supported_kernel>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'udev requires a kernel >= 2.6.32, not started'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] spids: [878 885] ) ] else_action: [] 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.KW_Bang '!'>} {<-e>} {<'/proc/filesystems'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'udev requires a mounted procfs, not started'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] spids: [902 915] ) ] else_action: [] 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.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {(SQ <'[[:space:]]devtmpfs$'>)} {<'/proc/filesystems'>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'udev requires devtmpfs support, not started'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] spids: [932 947] ) ] else_action: [] 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.KW_Bang '!'>} {<-d>} {<'/sys/class/'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'udev requires a mounted sysfs, not started'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] spids: [964 977] ) ] else_action: [] 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.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <ps> more_env: [] words: [{<ps>} {<--no-headers>} {<--format>} {<args>} {<ax>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {<-q>} {(SQ <'^\\['>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_warning_msg> more_env: [] words: [{<log_warning_msg>} {(DQ <'udev does not support containers, not started'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [994 1019] ) ] else_action: [] 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.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {<'/sys/class/mem/null'>} {<-a>} {<Id.KW_Bang '!'>} {<-L>} {<'/sys/class/mem/null'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-e>} {<'/sys/block'>} {<-a>} {<Id.KW_Bang '!'>} {<-e>} {<'/sys/class/block'>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_warning_msg> more_env: [] words: [{<log_warning_msg>} {(DQ <'CONFIG_SYSFS_DEPRECATED must not be selected'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_warning_msg> more_env: [] words: [ {<log_warning_msg>} {(DQ <'Booting will continue in 30 seconds but many things will be broken'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<30>}] redirects: [] do_fork: T ) ] spids: [1036 1075] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <start> pattern: (pat.Words words:[{<start>}]) middle: <Id.Right_CasePat _> action: [ (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: <init_is_upstart> more_env: [] words: [{<init_is_upstart>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [1122 1130] ) ] else_action: [] 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.KW_Bang '!'>} {<-e>} {(DQ <'/run/udev/'>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <warn_if_interactive> more_env: [] words: [{<warn_if_interactive>}] redirects: [] do_fork: T ) ] spids: [1142 1157] ) ] else_action: [] 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 '['>} {<-w>} {<'/sys/kernel/uevent_helper'>} {<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>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/sys/kernel/uevent_helper'>} ) ] do_fork: T ) ] spids: [1167 1178] ) ] else_action: [] 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.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <mountpoint> more_env: [] words: [{<mountpoint>} {<-q>} {<'/dev/'>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <unmount_devpts> more_env: [] words: [{<unmount_devpts>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mount_devtmpfs> more_env: [] words: [{<mount_devtmpfs>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-d>} {<'/proc/1'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <mount> more_env: [] words: [{<mount>} {<-n>} {<'/proc'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] spids: [1192 1203] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <make_static_nodes> more_env: [] words: [{<make_static_nodes>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <udevadm> more_env: [] words: [{<udevadm>} {<info>} {<--cleanup-db>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-x>} {<'/sbin/restorecon'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <'/sbin/restorecon'> more_env: [] words: [{<'/sbin/restorecon'>} {<-R>} {<'/dev'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Starting '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (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.VSub_DollarName '$DAEMON'> more_env: [] words: [{($ Id.VSub_DollarName DAEMON)} {<--daemon>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] spids: [1283 1290] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_warning_msg> more_env: [] words: [{<log_warning_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_warning_msg> more_env: [] words: [ {<log_warning_msg>} {(DQ <'Waiting 15 seconds and trying to continue anyway'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<15>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_action_begin_msg> more_env: [] words: [{<log_action_begin_msg>} {(DQ <'Synthesizing the initial hotplug events'>)}] redirects: [] do_fork: T ) (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: <udevadm> more_env: [] words: [{<udevadm>} {<trigger>} {<--action> <Id.Lit_Equals '='> <add>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_end_msg> more_env: [] words: [{<log_action_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] spids: [1329 1340] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_action_end_msg> more_env: [] words: [{<log_action_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <create_dev_makedev> more_env: [] words: [{<create_dev_makedev>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_action_begin_msg> more_env: [] words: [{<log_action_begin_msg>} {(DQ <'Waiting for /dev to be fully populated'>)}] redirects: [] do_fork: T ) (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: <udevadm> more_env: [] words: [{<udevadm>} {<settle>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_end_msg> more_env: [] words: [{<log_action_end_msg>} {<0>}] redirects: [] do_fork: T ) ] spids: [1375 1382] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_action_end_msg> more_env: [] words: [{<log_action_end_msg>} {<0>} {(SQ <timeout>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <stop> pattern: (pat.Words words:[{<stop>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Stopping '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (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: <start-stop-daemon> more_env: [] words: [ {<start-stop-daemon>} {<--stop>} {<--name>} {($ Id.VSub_DollarName NAME)} {<--user>} {<root>} {<--quiet>} {<--oknodo>} {<--retry>} {<5>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] spids: [1425 1448] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <restart> pattern: (pat.Words words:[{<restart>}]) middle: <Id.Right_CasePat _> action: [ (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: <init_is_upstart> more_env: [] words: [{<init_is_upstart>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [1475 1483] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Stopping '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (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: <start-stop-daemon> more_env: [] words: [ {<start-stop-daemon>} {<--stop>} {<--name>} {($ Id.VSub_DollarName NAME)} {<--user>} {<root>} {<--quiet>} {<--oknodo>} {<--retry>} {<5>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] spids: [1506 1529] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.AndOr children: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Starting '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (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.VSub_DollarName '$DAEMON'> more_env: [] words: [{($ Id.VSub_DollarName DAEMON)} {<--daemon>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] spids: [1565 1572] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <reload> pattern: (pat.Words words:[{<reload>} {<force-reload>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <udevadm> more_env: [] words: [{<udevadm>} {<control>} {<--reload-rules>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <status> pattern: (pat.Words words:[{<status>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <status_of_proc> more_env: [] words: [ {<status_of_proc>} {($ Id.VSub_DollarName DAEMON)} {($ Id.VSub_DollarName NAME)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}'>)} ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )