(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LOCALRC) op:Equal rhs:{(/usr/etc/rc.local)} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MYLOCALRC) op: Equal rhs: {(/mnt/etc/rc.local)} spids: [31] ) ] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ROOTMB) op:Equal rhs:{(16)} spids:[34])] spids: [34] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOTSECTS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$ROOTMB')} {(SQ <'*'>)} {(1024)} {(SQ <'*'>)} {(2)}) ] ) left_token: <Left_Backtick '`'> spids: [39 55] ) ) } spids: [37] ) ] spids: [37] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:USRKBFILE) op:Equal rhs:{(/.usrkb)} spids:[58])] spids: [58] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$USRKBFILE'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('Are you really running from CD?'))}) (C {(echo)} {(DQ ('No ') ($ VSub_Name '$USRKBFILE') (' file.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 75] ) ] spids: [16777215 97] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USRKB) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(cat)} {(/.usrkb)})]) left_token: <Left_Backtick '`'> spids: [101 105] ) ) } spids: [99] ) ] spids: [99] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TOTALMB) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {(3)} {(Lit_Other '+')} {($ VSub_Name '$USRKB')} {(/)} {(1024)} {(Lit_Other '+')} {($ VSub_Name '$ROOTMB')} ) ] ) left_token: <Left_Backtick '`'> spids: [110 126] ) ) } spids: [108] ) ] spids: [108] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROOTFILES) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(cat)} {(/.rootfiles)})]) left_token: <Left_Backtick '`'> spids: [131 135] ) ) } spids: [129] ) ] spids: [129] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:USRFILES) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(cat)} {(/.usrfiles)})]) left_token: <Left_Backtick '`'> spids: [140 144] ) ) } spids: [138] ) ] spids: [138] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TOTALMB'))} {(-lt)} {(1)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ('Are you really running from CD?'))}) (C {(echo)} {(DQ ('Something wrong with size estimate on CD.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 162] ) ] spids: [16777215 184] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ROOTFILES'))} {(-lt)} {(1)} {(Lit_Other ']')}) ] action: [ (C {(echo)} {(DQ ('Are you really running from CD?'))}) (C {(echo)} {(DQ ('Something wrong with root files count on CD.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 201] ) ] spids: [16777215 223] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USRFILES'))} {(-lt)} {(1)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ('Are you really running from CD?'))}) (C {(echo)} {(DQ ('Something wrong with usr files count on CD.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 240] ) ] spids: [16777215 262] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {(/bin) (Lit_Other ':') (/usr/bin)} spids: [265] ) ] spids: [265] ) (C {(export)} {(PATH)}) (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(SQ <EOF>)} here_end_span_id: 302 stdin_parts: [ ('Usage:\tsetup\t\t# Install a skeleton system on the hard disk.\n') ('\tsetup /usr\t# Install the rest of the system (binaries or sources).\n') ('\n') ('\t# To install from other things then floppies:\n') ('\n') ('\turlget http://... | setup /usr\t\t# Read from a web site.\n') ('\turlget ftp://... | setup /usr\t\t# Read from an FTP site.\n') ('\tmtools copy c0d0p0:... - | setup /usr\t# Read from the C: drive.\n') ('\tdosread c0d0p0 ... | setup /usr\t\t# Likewise if no mtools.\n') ] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [280] ) spids: [276 279] ) (FuncDef name: warn body: (BraceGroup children: [ (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') ('b ! ') ($ VSub_Number '$1') ) } ) ] spids: [316] ) spids: [311 314] ) (WhileUntil keyword: <KW_While while> cond: [(Sentence child:(C {(getopts)} {(SQ )} {(opt)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [(Sentence child:(C {(usage)}) terminator:<Op_Semi ';'>)] spids: [389 394] ) ) (C {(shift)} { (CommandSubPart command_list: (CommandList children:[(C {(expr)} {($ VSub_Name '$OPTIND')} {(-)} {(1)})]) left_token: <Left_Backtick '`'> spids: [398 406] ) } ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER'))} {(KW_Bang '!') (Lit_Other '=')} {(root)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('Please run setup as root.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 424] ) ] spids: [16777215 437] ) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op:<Redir_LessAnd '9<&'> fd:9 arg_word:{(0)}) (Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(/etc/mtab)}) ] ) (C {(read)} {(thisroot)} {(rest)}) (C {(read)} {(fdusr)} {(rest)}) (SimpleCommand words: [{(exec)}] redirects: [ (Redir op:<Redir_LessAnd '0<&'> fd:0 arg_word:{(9)}) (Redir op:<Redir_LessAnd '9<&'> fd:9 arg_word:{(-)}) ] ) (Case to_match: {($ VSub_Name '$thisroot') (Lit_Other ':') ($ VSub_Name '$fdusr')} arms: [ (case_arm pat_list: [{(/dev/ram) (Lit_Other ':') (/dev/fd0p2)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fdroot) op:Equal rhs:{(/dev/fd0)} spids:[497])] spids: [497] ) ] spids: [492 495 504 16777215] ) (case_arm pat_list: [{(/dev/ram) (Lit_Other ':') (/dev/fd1p2)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fdroot) op:Equal rhs:{(/dev/fd1)} spids:[511])] spids: [511] ) ] spids: [506 509 518 16777215] ) (case_arm pat_list: [{(/dev/ram) (Lit_Other ':') (/dev/fd) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fdroot) op:Equal rhs:{(unknown)} spids:[526])] spids: [526] ) ] spids: [520 524 533 16777215] ) (case_arm pat_list: [{(/dev/fd) (Lit_Other '*') (Lit_Other ':') (/dev/fd) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fdroot) op: Equal rhs: {($ VSub_Name '$thisroot')} spids: [542] ) ] spids: [542] ) ] spids: [535 540 549 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fdroot) op: Equal rhs: {($ VSub_Name '$thisroot')} spids: [554] ) ] spids: [554] ) ] spids: [551 552 16777215 560] ) ] spids: [484 490 560] ) (C {(echo)} {(-n)} { (DQ ('\n') ('Welcome to the MINIX 3 setup script. This script will guide you in setting up\n') ('MINIX on your machine. Please consult the manual for detailed instructions.\n') ('\n') ('Note 1: If the screen blanks, hit CTRL+F3 to select ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('software scrolling') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('.\n') ('Note 2: If things go wrong then hit CTRL+C to abort and start over.\n') ('Note 3: Default answers, like [y], can simply be chosen by hitting ENTER.\n') ('Note 4: If you see a colon (:) then you should hit ENTER to continue.\n') (':') ) } ) (C {(read)} {(ret)}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 1: Select keyboard type --------------------------------------'))}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('What type of keyboard do you have? You can choose one of:'))}) (C {(echo)} {(DQ )}) (Pipeline children: [ (C {(ls)} {(-C)} {(/usr/lib/keymaps)}) (C {(sed)} {(-e)} {(SQ <'s/\\.map//g'>)} {(-e)} {(SQ <'s/^/ /'>)}) ] negated: F ) (C {(echo)} {(DQ )}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:step1) op:Equal rhs:{(DQ )} spids:[650])] spids: [650] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$step1'))} {(KW_Bang '!') (Lit_Other '=')} {(ok)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (Sentence child: (C {(echo)} {(-n)} {(DQ ('Keyboard type? [us-std] '))}) terminator: <Op_Semi ';'> ) (C {(read)} {(keymap)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$keymap'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:keymap) op:Equal rhs:{(us-std)} spids:[696])] spids: [696] ) ] ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(loadkeys)} {(DQ (/usr/lib/keymaps/) ($ VSub_Name '$keymap') (.map))}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:step1) op:Equal rhs:{(ok)} spids:[717])] spids: [717] ) ] spids: [16777215 715] ) ] else_action: [(C {(warn)} {(DQ ('invalid keyboard'))})] spids: [722 731] ) ] spids: [669 733] ) ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 2: Selecting full distribution -------------------------------'))}) (C {(echo)} {(DQ )}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nobigsource) op:Equal rhs:{(DQ )} spids:[828])] spids: [828] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:step3) op:Equal rhs:{(DQ )} spids:[836])] spids: [836] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$step3'))} {(KW_Bang '!') (Lit_Other '=')} {(ok)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 3: Create or select a partition for MINIX 3 -------------------'))} ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('Now you need to create a MINIX 3 partition on your hard disk.'))}) (C {(echo)} {(DQ ("You can also select one that's already there."))}) (C {(echo)} {(DQ (' '))}) (C {(echo)} {(DQ ('If you have an existing installation, reinstalling will let you'))}) (C {(echo)} {(DQ ('keep your current partitioning and subpartitioning, and overwrite'))}) (C {(echo)} {(DQ ('everything except your s1 subpartition (/home). If you want to'))}) (C {(echo)} {(DQ ('reinstall, select your existing minix partition.'))}) (C {(echo)} {(DQ (' '))}) (C {(echo)} {(DQ ('Unless you are an expert, you are advised to use the automated'))}) (C {(echo)} {(DQ ('step-by-step help in setting up.'))}) (C {(echo)} {(DQ )}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(DQ )} spids:[954])] spids: [954] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ok'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (C {(echo)} {(-n)} {(DQ ("Press ENTER for automatic mode, or type 'expert': "))}) (C {(read)} {(mode)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto) op: Equal rhs: {(DQ (1))} spids: [1007] ) ] spids: [1007] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok) op: Equal rhs: {(DQ (yes))} spids: [1013] ) ] spids: [1013] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 1005] ) ] spids: [16777215 1019] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$mode'))} {(Lit_Other '=')} {(expert)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto) op: Equal rhs: {(DQ )} spids: [1040] ) ] spids: [1040] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ok) op: Equal rhs: {(DQ (yes))} spids: [1045] ) ] spids: [1045] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 1038] ) ] spids: [16777215 1051] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ok'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(warn)} {(DQ ('try again'))}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1070] ) ] spids: [16777215 1079] ) ] spids: [975 1083] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:primary) op: Equal rhs: {(EmptyPart)} spids: [1087] ) ] spids: [1087] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other ']')})] action: [ (C {(echo)} {(-n)} { (DQ ('\n') ('MINIX needs one primary partition of ') ($ VSub_Name '$TOTALMB') (' MB for a full install,\n') ('plus what you want for /home.\n') ('\n') ( 'If there is no free space on your disk then you have to choose an option:\n' ) (' (1) Delete one or more partitions\n') (' (2) Allocate an existing partition to MINIX 3\n') (' (3) Exit setup and shrink a partition using a different OS\n') ('\n') ('To make this partition you will be put in the editor ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (part) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('. Follow the\n') ( "advice under the '!' key to make a new partition of type MINIX. Do not\n" ) ('touch an existing partition unless you know precisely what you are doing!\n') ( 'Please note the name of the partition (e.g. c0d0p1, c0d1p3, c1d1p0) you\n' ) ('make. (See the devices section in usage(8) on MINIX device names.)\n') (':') ) } ) (C {(read)} {(ret)}) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$primary'))} {(Lit_Other ']')}) ] body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [(C {(part)}) (ControlFlow token:<ControlFlow_Exit exit>)] ) (C {(echo)} {(-n)} { (DQ ('\n') ( 'Please finish the name of the primary partition you have created:\n' ) ('(Just type ENTER if you want to rerun ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (part) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (') /dev/') ) } ) (C {(read)} {(primary)}) ] spids: [1159 1190] ) ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('This is the point of no return. You have selected to install MINIX'))} ) (C {(echo)} { (DQ ('on partition /dev/') ($ VSub_Name '$primary') ('. Please confirm that you want to use this') ) } ) (C {(echo)} {(DQ ('selection to install MINIX.'))}) (C {(echo)} {(DQ )}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:confirmation) op: Equal rhs: {(DQ )} spids: [1228] ) ] spids: [1228] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-b)} {(DQ (/dev/) ($ VSub_Name '$primary'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ (/dev/) ($ VSub_Name '$primary') (' is not a block device.'))} ) ] spids: [16777215 1250] ) ] spids: [16777215 1261] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$confirmation'))} {(-o)} {(DQ ($ VSub_Name '$confirmation'))} {(KW_Bang '!') (Lit_Other '=')} {(yes)} {(-a)} {(DQ ($ VSub_Name '$confirmation'))} {(KW_Bang '!') (Lit_Other '=')} {(no)} {(Lit_Other ']')} ) ] body: (DoGroup children: [ (C {(echo)} {(-n)} { (DQ ( "Are you sure you want to continue? Please enter 'yes' or 'no': " ) ) } ) (C {(read)} {(confirmation)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$confirmation'))} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:step3) op: Equal rhs: {(ok)} spids: [1334] ) ] spids: [1334] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 1332] ) ] spids: [16777215 1338] ) ] spids: [1300 1341] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:biosdrivename) op: Equal rhs: {(DQ ('Actual BIOS device name unknown, due to expert mode.'))} spids: [1344] ) ] spids: [1344] ) ] spids: [16777215 1104] ) ] else_action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PF) op: Equal rhs: {(DQ (/tmp/pf))} spids: [1377] ) ] spids: [1377] ) (If arms: [ (if_arm cond: [ (C {(autopart)} {(-m) ($ VSub_Name '$TOTALMB')} {(-f) ($ VSub_Name '$PF')} ) ] action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-s)} {(DQ ($ VSub_Name '$PF'))} {(Lit_Other ']')} ) ] action: [ (C {(set)} { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$PF')})] ) left_token: <Left_Backtick '`'> spids: [1414 1418] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bd) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1421] ) ] spids: [1421] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bdn) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1427] ) ] spids: [1427] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:biosdrivename) op: Equal rhs: { (DQ ('Probably, the right command is ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ('boot ') ($ VSub_Name '$bdn') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.) ) } spids: [1433] ) ] spids: [1433] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-b)} {(DQ (/dev/) ($ VSub_Name '$bd'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:primary) op: Equal rhs: {(DQ ($ VSub_Name '$bd'))} spids: [1460] ) ] spids: [1460] ) ] spids: [16777215 1458] ) ] else_action: [ (C {(echo)} { (DQ ('Funny device ') ($ VSub_Name '$bd') (' from autopart.') ) } ) ] spids: [1466 1477] ) ] spids: [16777215 1409] ) ] else_action: [ (C {(echo)} {(DQ ("Didn't find output from autopart."))}) ] spids: [1480 1490] ) ] spids: [16777215 1394] ) ] else_action: [(C {(echo)} {(DQ ('Autopart tool failed. Trying again.'))})] spids: [1494 1503] ) (C {(atnormalize)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$primary'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:step3) op: Equal rhs: {(ok)} spids: [1534] ) ] spids: [1534] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 1532] ) ] spids: [16777215 1538] ) ] spids: [16777215 1370] ) ] spids: [16777215 1541] ) ] spids: [1350 1544] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-b)} {(DQ (/dev/) ($ VSub_Name '$primary'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(Doing)} {(step)} {(3)} {(again.)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:step3) op: Equal rhs: {(DQ )} spids: [1577] ) ] spids: [1577] ) ] spids: [16777215 1564] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:devsize) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(devsize)} {(/dev/) ($ VSub_Name '$primary')})] ) left_token: <Left_Backtick '`'> spids: [1587 1592] ) ) } spids: [1585] ) ] spids: [1585] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$devsize'))} {(-lt)} {(1)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ (/dev/) ($ VSub_Name '$primary') (' is a 0-sized device.'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:step3) op: Equal rhs: {(DQ )} spids: [1623] ) ] spids: [1623] ) ] spids: [16777215 1612] ) ] spids: [16777215 1628] ) ] spids: [1582 1631] ) ] spids: [855 1633] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(${ VSub_Name primary) (s0)} spids: [1642] ) ] spids: [1642] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:home) op: Equal rhs: {(${ VSub_Name primary) (s1)} spids: [1648] ) ] spids: [1648] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:usr) op: Equal rhs: {(${ VSub_Name primary) (s2)} spids: [1654] ) ] spids: [1654] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$root')}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(echo)} {(DQ ('Unmounted ') ($ VSub_Name '$root') (' for you.'))}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$home')}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(echo)} {(DQ ('Unmounted ') ($ VSub_Name '$home') (' for you.'))}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$usr')}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(echo)} {(DQ ('Unmounted ') ($ VSub_Name '$usr') (' for you.'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:devsizemb) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$devsize')} {(/)} {(1024)} {(/)} {(2)})] ) left_token: <Left_Backtick '`'> spids: [1717 1729] ) ) } spids: [1715] ) ] spids: [1715] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:maxhome) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$devsizemb')} {(-)} {($ VSub_Name '$TOTALMB')} {(-)} {(1)} ) ] ) left_token: <Left_Backtick '`'> spids: [1734 1746] ) ) } spids: [1732] ) ] spids: [1732] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$devsizemb'))} {(-lt)} {(DQ ($ VSub_Name '$TOTALMB'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('The selected partition (') ($ VSub_Name '$devsizemb') (' MB) is too small.'))} ) (C {(echo)} {(DQ ("You'll need ") ($ VSub_Name '$TOTALMB') (' MB at least.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 1766] ) ] spids: [16777215 1790] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Name '$maxhome'))} {(-lt)} {(1)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ("Note: you can't have /home with that size partition."))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:maxhome) op:Equal rhs:{(0)} spids:[1816])] spids: [1816] ) ] spids: [16777215 1807] ) ] spids: [16777215 1819] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TMPMP) op:Equal rhs:{(/m)} spids:[1822])] spids: [1822] ) (SimpleCommand words: [{(mkdir)} {($ VSub_Name '$TMPMP')}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:confirm) op:Equal rhs:{(DQ )} spids:[1836])] spids: [1836] ) (WhileUntil keyword: <KW_While while> cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$confirm'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:auto) op:Equal rhs:{(DQ )} spids:[1859])] spids: [1859] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 4: Reinstall choice ------------------------------------------'))} ) (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(mount)} {(-r)} {(/dev/) ($ VSub_Name '$home')} {($ VSub_Name '$TMPMP')}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) ] action: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$home')}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('You have selected an existing MINIX 3 partition.'))}) (C {(echo)} {(DQ ('Type F for full installation (to overwrite entire partition)'))}) (C {(echo)} {(DQ ('Type R for a reinstallation (existing /home will not be affected)'))} ) (C {(echo)} {(DQ )}) (C {(echo)} {(-n)} {(DQ ('(F)ull or (R)einstall? [R] '))}) (C {(read)} {(conf)}) (Case to_match: {(DQ ($ VSub_Name '$conf'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:confirm) op: Equal rhs: {(DQ (ok))} spids: [1968] ) ] spids: [1968] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto) op: Equal rhs: {(DQ (r))} spids: [1974] ) ] spids: [1974] ) terminator: <Op_Semi ';'> ) ] spids: [1964 1966 1980 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (Rr) (Lit_Other ']') (Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:confirm) op: Equal rhs: {(DQ (ok))} spids: [1989] ) ] spids: [1989] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto) op: Equal rhs: {(DQ (r))} spids: [1995] ) ] spids: [1995] ) terminator: <Op_Semi ';'> ) ] spids: [1983 1987 2001 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (Ff) (Lit_Other ']') (Lit_Other '*')}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:confirm) op: Equal rhs: {(DQ (ok))} spids: [2010] ) ] spids: [2010] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto) op: Equal rhs: {(DQ )} spids: [2016] ) ] spids: [2016] ) ] spids: [2004 2008 2020 16777215] ) ] spids: [1955 1961 2023] ) ] spids: [16777215 1894] ) ] else_action: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('No old /home found. Doing full install.'))}) (C {(echo)} {(DQ )}) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:confirm) op: Equal rhs: {(DQ (ok))} spids: [2048] ) ] spids: [2048] ) terminator: <Op_Semi ';'> ) ] spids: [2027 2055] ) ] spids: [1856 2058] ) ) (C {(rmdir)} {($ VSub_Name '$TMPMP')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:nohome) op:Equal rhs:{(DQ (0))} spids:[2066])] spids: [2066] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:homesize) op:Equal rhs:{(DQ )} spids:[2072])] spids: [2072] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other '=')} {(r)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 5: Select the size of /home ----------------------------------'))} ) (WhileUntil keyword: <KW_While while> cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$homesize'))} {(Lit_Other ']')})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defmb) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$maxhome')} {(/)} {(5)})] ) left_token: <Left_Backtick '`'> spids: [2134 2142] ) ) } spids: [2132] ) ] spids: [2132] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$defmb'))} {(-gt)} {(DQ ($ VSub_Name '$maxhome'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defmb) op: Equal rhs: {($ VSub_Name '$maxhome')} spids: [2166] ) ] spids: [2166] ) ] spids: [16777215 2163] ) ] spids: [16777215 2170] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('MINIX will take up ') ($ VSub_Name '$TOTALMB') (' MB, without /home.'))} ) (C {(echo)} {(-n)} { (DQ ('How big do you want your /home to be in MB (0-') ($ VSub_Name '$maxhome') (') ? [') ($ VSub_Name '$defmb') ('] ') ) } ) (C {(read)} {(homesize)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$homesize'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: {($ VSub_Name '$defmb')} spids: [2226] ) ] spids: [2226] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 2224] ) ] spids: [16777215 2230] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$homesize'))} {(-lt)} {(1)} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nohome) op: Equal rhs: {(1)} spids: [2250] ) ] spids: [2250] ) (C {(echo)} {(DQ ('Ok, not making a /home.'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: {(0)} spids: [2261] ) ] spids: [2261] ) ] spids: [16777215 2248] ) ] else_action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$homesize'))} {(-gt)} {(DQ ($ VSub_Name '$maxhome'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ("That won't fit!"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: {(DQ )} spids: [2294] ) ] spids: [2294] ) ] spids: [16777215 2285] ) ] else_action: [ (C {(echo)} {(DQ )}) (C {(echo)} {(-n)} {(DQ ($ VSub_Name '$homesize') (' MB Ok? [Y] '))}) (C {(read)} {(ok)}) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ok'))} {(Lit_Other '=')} {(Y)} {(-o)} {(DQ ($ VSub_Name '$ok'))} {(Lit_Other '=')} {(y)} {(-o)} {(DQ ($ VSub_Name '$ok'))} {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: {(DQ )} spids: [2358] ) ] spids: [2358] ) ] ) ] spids: [2299 2363] ) ] spids: [2265 2366] ) (C {(echo)} {(DQ )}) ] spids: [2120 2375] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homemb) op: Equal rhs: {(DQ ($ VSub_Name '$homesize') (' MB'))} spids: [2382] ) ] spids: [2382] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$homesize')} {(SQ <'*'>)} {(1024)} {(SQ <'*'>)} {(2)} ) ] ) left_token: <Left_Backtick '`'> spids: [2391 2407] ) ) } spids: [2389] ) ] spids: [2389] ) ] spids: [16777215 2092] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homepart) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(devsize)} {(/dev/) ($ VSub_Name '$home')})] ) left_token: <Left_Backtick '`'> spids: [2415 2420] ) ) } spids: [2413] ) ] spids: [2413] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homesize) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(expr)} {($ VSub_Name '$homepart')} {(/)} {(2)} {(/)} {(1024)}) ] ) left_token: <Left_Backtick '`'> spids: [2426 2438] ) ) } spids: [2424] ) ] spids: [2424] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$homesize'))} {(-gt)} {(DQ ($ VSub_Name '$maxhome'))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} { (DQ ('Sorry, but your /home is too big (') ($ VSub_Name '$homesize') (' MB) to leave enough') ) } ) (C {(echo)} { (DQ ('space on the rest of the partition (') ($ VSub_Name '$devsizemb') (' MB) for your') ) } ) (C {(echo)} {(DQ ('selected installation size (') ($ VSub_Name '$TOTALMB') (' MB).'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 2459] ) ] spids: [16777215 2494] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:homesize) op:Equal rhs:{(exist)} spids:[2501])] spids: [2501] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:homemb) op: Equal rhs: {(DQ ('current size'))} spids: [2505] ) ] spids: [2505] ) ] spids: [2410 2510] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:minblocksize) op:Equal rhs:{(1)} spids:[2513])] spids: [2513] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:maxblocksize) op:Equal rhs:{(64)} spids:[2516])] spids: [2516] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:blockdefault) op:Equal rhs:{(4)} spids:[2519])] spids: [2519] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other '=')} {(DQ (r))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 6: Select a block size ---------------------------------------'))} ) (C {(echo)} {(DQ )}) (C {(echo)} { (DQ ('The default file system block size is ') ($ VSub_Name '$blockdefault') (' kB.')) } ) (C {(echo)} {(DQ )}) (WhileUntil keyword: <KW_While while> cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$blocksize'))} {(Lit_Other ']')})] body: (DoGroup children: [ (Sentence child: (C {(echo)} {(-n)} {(DQ ('Block size in kilobytes? [') ($ VSub_Name '$blockdefault') ('] '))} ) terminator: <Op_Semi ';'> ) (C {(read)} {(blocksize)}) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$blocksize'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blocksize) op: Equal rhs: {($ VSub_Name '$blockdefault')} spids: [2624] ) ] spids: [2624] ) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$blocksize'))} {(-lt)} {($ VSub_Name '$minblocksize')} {(-o)} {(DQ ($ VSub_Name '$blocksize'))} {(-gt)} {($ VSub_Name '$maxblocksize')} {(Lit_Other ']')} ) ] action: [ (C {(warn)} { (DQ ('At least ') ($ VSub_Name '$minblocksize') (' kB and at most ') ($ VSub_Name '$maxblocksize') (' kB please.') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blocksize) op: Equal rhs: {(DQ )} spids: [2668] ) ] spids: [2668] ) ] spids: [16777215 2653] ) ] spids: [16777215 2673] ) ] spids: [2594 2676] ) ) ] spids: [16777215 2541] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blocksize) op: Equal rhs: {($ VSub_Name '$blockdefault')} spids: [2681] ) ] spids: [2681] ) ] spids: [2678 2684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:blocksizebytes) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$blocksize')} {(SQ <'*'>)} {(1024)})] ) left_token: <Left_Backtick '`'> spids: [2689 2699] ) ) } spids: [2687] ) ] spids: [2687] ) (C {(echo)} { (DQ ('\n') ('You have selected to (re)install MINIX 3 in the partition /dev/') ($ VSub_Name '$primary') ('.\n') ('The following subpartitions are now being created on /dev/') ($ VSub_Name '$primary') (':\n') ('\n') (' Root subpartition:\t/dev/') ($ VSub_Name '$root') ('\t') ($ VSub_Name '$ROOTMB') (' MB\n') (' /home subpartition:\t/dev/') ($ VSub_Name '$home') ('\t') ($ VSub_Name '$homemb') ('\n') (' /usr subpartition:\t/dev/') ($ VSub_Name '$usr') ('\trest of ') ($ VSub_Name '$primary') ('\n') ) } ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(installboot)} {(-m)} {(/dev/) ($ VSub_Name '$primary')} {(/usr/mdec/masterboot)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [ {(partition)} {(/dev/) ($ VSub_Name '$primary')} {(1)} {(81) (Lit_Other ':') (${ VSub_Name ROOTSECTS) (Lit_Other '*')} {(81) (Lit_Other ':') ($ VSub_Name '$homesize')} {(81) (Lit_Other ':') (0) (Lit_Other '+')} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (C {(echo)} {(DQ ('Creating /dev/') ($ VSub_Name '$root') (' for / ..'))}) (AndOr ops: [Op_DPipe] children: [ (C {(mkfs)} {(/dev/) ($ VSub_Name '$root')}) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$nohome'))} {(Lit_Other '=')} {(0)} {(Lit_Other ']')}) ] action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other '=')} {(r)} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('Creating /dev/') ($ VSub_Name '$home') (' for /home ..'))}) (AndOr ops: [Op_DPipe] children: [ (C {(mkfs)} {(-B)} {($ VSub_Name '$blocksizebytes')} {(/dev/) ($ VSub_Name '$home')} ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) ] spids: [16777215 2839] ) ] spids: [16777215 2864] ) ] spids: [16777215 2819] ) ] else_action: [(C {(echo)} {(DQ ('Skipping /home'))})] spids: [2866 2874] ) (C {(echo)} {(DQ ('Creating /dev/') ($ VSub_Name '$usr') (' for /usr ..'))}) (AndOr ops: [Op_DPipe] children: [ (C {(mkfs)} {(-B)} {($ VSub_Name '$blocksizebytes')} {(/dev/) ($ VSub_Name '$usr')}) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$nohome'))} {(Lit_Other '=')} {(0)} {(Lit_Other ']')}) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fshome) op: Equal rhs: {(DQ ('home=/dev/') ($ VSub_Name '$home'))} spids: [2916] ) ] spids: [2916] ) ] spids: [16777215 2913] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fshome) op:Equal rhs:{(DQ )} spids:[2924])] spids: [2924] ) ] spids: [2922 2928] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 7: Wait for files to be copied -------------------------------'))}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('All files will now be copied to your hard disk. This may take a while.'))}) (C {(echo)} {(DQ )}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$usr')} {(/mnt)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (Subshell child: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (C {(cd)} {(/usr)}) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(ls)}) (C {(fgrep)} {(-v)} {(install)})] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2991 3001] ) ) } spids: [2989] ) ] spids: [2989] ) (ForEach iter_name: d iter_words: [{($ VSub_Name '$list')}] do_arg_iter: F body: (DoGroup children: [ (C {(cpdir)} {(-v)} {($ VSub_Name '$d')} {(/mnt/) ($ VSub_Name '$d')}) ] spids: [3014 3028] ) spids: [3010 16777215] ) ] ) spids: [2977 3030] ) (C {(progressbar)} {(DQ ($ VSub_Name '$USRFILES'))}) ] negated: F ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$usr')}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$root')} {(/mnt)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(cpdir)} {(-vx)} {(/)} {(/mnt)}) (C {(progressbar)} {(DQ ($ VSub_Name '$ROOTFILES'))}) ] negated: F ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (C {(cp)} {(/mnt/etc/motd.install)} {(/mnt/etc/motd)}) (C {(rm)} {(/mnt/var/log)}) (C {(ln)} {(-s)} {(/usr/log)} {(/mnt/var/log)}) (SimpleCommand words: [{(rm)} {(/mnt/etc/issue)} {(/mnt/CD)} {(/mnt/.) (Lit_Other '*')}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (SimpleCommand words: [ {(echo)} { (DQ ("# Poor man's File System Table.\n") ('\n') ('root=/dev/') ($ VSub_Name '$root') ('\n') ('usr=/dev/') ($ VSub_Name '$usr') ('\n') ($ VSub_Name '$fshome') ) } ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/mnt/etc/fstab)})] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ VSub_Name '$keymap'))}) (C {(cp)} {(-p)} {(DQ (/usr/lib/keymaps/) ($ VSub_Name '$keymap') (.map))} {(/mnt/etc/keymap)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$root')}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$usr')} {(/mnt)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [ {(installboot)} {(-d)} {(/dev/) ($ VSub_Name '$root')} {(/usr/mdec/bootblock)} {(/boot/boot)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(edparams)} {(/dev/) ($ VSub_Name '$root')} { (DQ ('rootdev=') ($ VSub_Name '$root') ('; ramimagedev=') ($ VSub_Name '$root') ( '; minix(1,Start MINIX 3) { image=/boot/image_big; boot; }; newminix(2,Start Custom MINIX 3) { unset image; boot }; main() { echo By default, MINIX 3 will automatically load in 3 seconds.; echo Press ESC to enter the monitor for special configuration.; trap 3000 boot; menu; }; save' ) ) } ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pfile) op: Equal rhs: {(DQ (/mnt/src/tools/fdbootparams))} spids: [3255] ) ] spids: [3255] ) (SimpleCommand words: [ {(echo)} {(DQ ('rootdev=') ($ VSub_Name '$root') ('; ramimagedev=') ($ VSub_Name '$root') ('; save'))} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$pfile')})] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cddrive) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(mount)}) (C {(grep)} {(usr)}) (C {(awk)} {(SQ <'{ print $1 }'>)}) (C {(sed)} {(SQ <'s/p.*//'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [3278 3302] ) ) } spids: [3276] ) ] spids: [3276] ) (SimpleCommand words: [{(echo)} {(DQ ('cddrive=') ($ VSub_Name '$cddrive'))}] redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(/mnt/etc/rc.package)})] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bios) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$primary')}) (C {(sed)} {(-e)} {(SQ <s/d./dX/g>)} {(-e)} {(SQ <s/c.//g>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [3319 3339] ) ) } spids: [3317] ) ] spids: [3317] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_Name '$auto'))} {(Lit_Other '=')} {(DQ (r))} {(Lit_Other ']')} ) ] action: [ (If arms: [ (if_arm cond: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$home')} {(/home)}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] action: [ (ForEach iter_name: u iter_words: [{(bin)} {(ast)}] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:h) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(DQ ('~') ($ VSub_Name '$u'))}) ] ) left_token: <Left_Backtick '`'> spids: [3392 3401] ) } spids: [3391] ) ] spids: [3391] ) (If arms: [ (if_arm cond: [(C {(mkdir)} {($ VSub_Name '$h')})] action: [ (C {(echo)} { (DQ (' * Creating home directory for ') ($ VSub_Name '$u') (' in ') ($ VSub_Name '$h') ) } ) (C {(cpdir)} {(/usr/ast)} {($ VSub_Name '$h')}) (C {(chown)} {(-R)} {($ VSub_Name '$u') (Lit_Other ':') (operator)} {($ VSub_Name '$h')} ) ] spids: [16777215 3411] ) ] else_action: [ (C {(echo)} {(DQ (" * Couldn't create ") ($ VSub_Name '$h'))}) ] spids: [3441 3451] ) ] spids: [3389 3454] ) spids: [3383 16777215] ) (C {(umount)} {(/dev/) ($ VSub_Name '$home')}) ] spids: [16777215 3376] ) ] spids: [16777215 3463] ) ] spids: [16777215 3361] ) ] spids: [16777215 3465] ) (C {(echo)} {(DQ ('Saving random data..'))}) (C {(dd)} {(Lit_VarLike 'if=') (/dev/random)} {(Lit_VarLike 'of=') (/mnt/adm/random.dat)} {(Lit_VarLike 'bs=') (1024)} {(Lit_VarLike 'count=') (1)} ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(umount)} {(/dev/) ($ VSub_Name '$usr')}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ (' --- Step 8: Select your Ethernet chip ---------------------------------'))}) (C {(echo)} {(DQ )}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$root')} {(/mnt)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(mount)} {(/dev/) ($ VSub_Name '$usr')} {(/mnt/usr)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(/bin/netconf)} {(-p)} {(/mnt)}) (C {(echo)} {(FAILED)} {(TO)} {(CONFIGURE)} {(NETWORK)}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(umount)} {(/dev/) ($ VSub_Name '$usr')}) (C {(echo)} {(Unmounted)} {($ VSub_Name '$usr')}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(umount)} {(/dev/) ($ VSub_Name '$root')}) (C {(echo)} {(Unmounted)} {($ VSub_Name '$root')}) ] ) (C {(echo)} { (DQ ('\n') ("Please type 'shutdown' to exit MINIX 3 and enter the boot monitor. At\n") ("the boot monitor prompt, type 'boot ") ($ VSub_Name '$bios') ("', where X is the bios drive\n") ('number of the drive you installed on, to try your new MINIX system.\n') ($ VSub_Name '$biosdrivename') ('\n') ('\n') ('This ends the MINIX 3 setup script. After booting your newly set up system,\n') ('you can run the test suites as indicated in the setup manual. You also \n') ('may want to take care of local configuration, such as securing your system\n') ('with a password. Please consult the usage manual for more information. \n') ('\n') ) } ) ] )