(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (FunctionDef die [] (List (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub #]]} {[LIT_CHARS -eq]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "1 argument(s) required, "][VarSub #][LIT_CHARS " provided. Usage: ./mkimage-crux.sh /path/to/iso"]]} ) ) (= scope= flags=0 words=[] bindings=[('ISO', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('ROOTFS', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]} {[VarSub TMPDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS var] [LIT_SLASH /] [LIT_CHARS tmp]}] [LIT_CHARS /rootfs-crux-XXXXXXXXXX]})]})]) (= scope= flags=0 words=[] bindings=[('CRUX', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]} {[VarSub TMPDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS var] [LIT_SLASH /] [LIT_CHARS tmp]}] [LIT_CHARS /crux-XXXXXXXXXX]})]})]) (= scope= flags=0 words=[] bindings=[('TMP', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]} {[VarSub TMPDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS var] [LIT_SLASH /] [LIT_CHARS tmp]}] [LIT_CHARS /XXXXXXXXXX]})]})]) (= scope= flags=0 words=[] bindings=[('VERSION', {[ComSub (Pipeline (Com {[LIT_CHARS basename]} {[LIT_CHARS --suffix] [LIT_DBRACKET_LIKE "="] [LIT_CHARS .iso]} {[VarSub ISO]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (Com {[LIT_CHARS mount]} {[LIT_CHARS -o]} {[LIT_CHARS ro] [LIT_COMMA ","] [LIT_CHARS loop]} {[VarSub ISO]} {[VarSub CRUX]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS -C]} {[VarSub TMP]} {[LIT_CHARS -xf]} {[VarSub CRUX] [LIT_CHARS /tools/pkgutils] [LIT_OTHER "#"] [LIT_OTHER "*"] [LIT_CHARS .pkg.tar.gz]} ) (= scope= flags=1 words=[] bindings=[('PATH', {[DQ [VarSub TMP][LIT_CHARS "/usr/bin:"][VarSub PATH]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub ROOTFS] [LIT_CHARS /var/lib/pkg]} ) (Com {[LIT_CHARS touch]} {[VarSub ROOTFS] [LIT_CHARS /var/lib/pkg/db]} ) (For pkg [{[VarSub CRUX] [LIT_CHARS /crux/core/] [LIT_OTHER "*"]}]) (Com {[LIT_CHARS pkgadd]} {[LIT_CHARS -r]} {[VarSub ROOTFS]} {[VarSub pkg]} ) ) (If (Subshell (Com {[LIT_CHARS grep]} {[LIT_CHARS agetty]} {[VarSub ROOTFS] [LIT_CHARS /etc/inittab]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Removing agetty from /etc/inittab ..."]]} ) (Com {[LIT_CHARS chroot]} {[VarSub ROOTFS]} {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS /agetty/d]]} {[LIT_CHARS /etc/inittab]} ) (Com {[LIT_CHARS chroot]} {[VarSub ROOTFS]} {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS /shutdown/d]]} {[LIT_CHARS /etc/inittab]} ) (Com {[LIT_CHARS chroot]} {[VarSub ROOTFS]} {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "/^"][LIT_OTHER "$"][LIT_CHARS "/N;/^"][\ LIT_ESCAPED_CHAR "\\n"][LIT_OTHER "$"][LIT_CHARS /d]]} {[LIT_CHARS /etc/inittab]} ) ) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub ROOTFS] [LIT_CHARS /usr/src/] [LIT_OTHER "*"]} ) (= scope= flags=0 words=[] bindings=[('DEV', {[VarSub ROOTFS] [LIT_CHARS /dev]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub DEV]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub DEV]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /null]} {[LIT_CHARS c]} {[LIT_CHARS 1]} {[LIT_CHARS 3]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /zero]} {[LIT_CHARS c]} {[LIT_CHARS 1]} {[LIT_CHARS 5]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /random]} {[LIT_CHARS c]} {[LIT_CHARS 1]} {[LIT_CHARS 8]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /urandom]} {[LIT_CHARS c]} {[LIT_CHARS 1]} {[LIT_CHARS 9]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -m]} {[LIT_CHARS 755]} {[VarSub DEV] [LIT_CHARS /pts]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -m]} {[LIT_CHARS 1777]} {[VarSub DEV] [LIT_CHARS /shm]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /tty]} {[LIT_CHARS c]} {[LIT_CHARS 5]} {[LIT_CHARS 0]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 600]} {[VarSub DEV] [LIT_CHARS /console]} {[LIT_CHARS c]} {[LIT_CHARS 5]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /tty0]} {[LIT_CHARS c]} {[LIT_CHARS 4]} {[LIT_CHARS 0]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /full]} {[LIT_CHARS c]} {[LIT_CHARS 1]} {[LIT_CHARS 7]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 600]} {[VarSub DEV] [LIT_CHARS /initctl]} {[LIT_CHARS p]} ) (Com {[LIT_CHARS mknod]} {[LIT_CHARS -m]} {[LIT_CHARS 666]} {[VarSub DEV] [LIT_CHARS /ptmx]} {[LIT_CHARS c]} {[LIT_CHARS 5]} {[LIT_CHARS 2]} ) (= scope= flags=0 words=[] bindings=[('IMAGE_ID', {[ComSub (Pipeline (Com {[LIT_CHARS tar]} {[LIT_CHARS --numeric-owner]} {[LIT_CHARS -C]} {[VarSub ROOTFS]} {[LIT_CHARS -c]} {[LIT_CHARS .]}) (Com {[LIT_CHARS docker]} {[LIT_CHARS import]} {[LIT_CHARS -]} {[LIT_CHARS crux] [LIT_OTHER ":"] [VarSub VERSION]}) )]})]) (Com {[LIT_CHARS docker]} {[LIT_CHARS tag]} {[VarSub IMAGE_ID]} {[LIT_CHARS crux] [LIT_OTHER ":"] [LIT_CHARS latest]} ) (Com {[LIT_CHARS docker]} {[LIT_CHARS run]} {[LIT_CHARS -i]} {[LIT_CHARS -t]} {[LIT_CHARS crux]} {[LIT_CHARS echo]} {[LIT_CHARS Success.]} ) (Com {[LIT_CHARS umount]} {[VarSub CRUX]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub ROOTFS]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub CRUX]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub TMP]} ) )