diff options
Diffstat (limited to 'src/initrd')
-rw-r--r-- | src/initrd/btrfs-create.sh | 6 | ||||
-rw-r--r-- | src/initrd/common.sh | 14 | ||||
-rwxr-xr-x | src/initrd/menu-select | 7 |
3 files changed, 20 insertions, 7 deletions
diff --git a/src/initrd/btrfs-create.sh b/src/initrd/btrfs-create.sh index 969ddf6..02ce257 100644 --- a/src/initrd/btrfs-create.sh +++ b/src/initrd/btrfs-create.sh | |||
@@ -287,7 +287,10 @@ open_samizdat() | |||
287 | modprobe btrfs || return | 287 | modprobe btrfs || return |
288 | btrfs device scan -u || true | 288 | btrfs device scan -u || true |
289 | btrfs device scan || return | 289 | btrfs device scan || return |
290 | btrfs device ready "$blockdev" || true | 290 | if ! btrfs device ready "$blockdev" |
291 | then | ||
292 | : btrfs device ready failed, continuing anyway | ||
293 | fi | ||
291 | mount -t btrfs "$blockdev" /root || return | 294 | mount -t btrfs "$blockdev" /root || return |
292 | samizdat_movemounts "$imgfile" | 295 | samizdat_movemounts "$imgfile" |
293 | LoSetup -D | 296 | LoSetup -D |
@@ -417,7 +420,6 @@ init_gpg() | |||
417 | 420 | ||
418 | local LOG_DIR=/run/initramfs/samizdat/log | 421 | local LOG_DIR=/run/initramfs/samizdat/log |
419 | if samizdat-password-agent > "$LOG_DIR"/samizdat-password-agent.log 2>&1; then | 422 | if samizdat-password-agent > "$LOG_DIR"/samizdat-password-agent.log 2>&1; then |
420 | clear | ||
421 | true | 423 | true |
422 | else | 424 | else |
423 | echo 'samizdat-password-agent failed; continuing in hope of hope...' | 425 | echo 'samizdat-password-agent failed; continuing in hope of hope...' |
diff --git a/src/initrd/common.sh b/src/initrd/common.sh index 0f72efe..8f4e101 100644 --- a/src/initrd/common.sh +++ b/src/initrd/common.sh | |||
@@ -55,16 +55,24 @@ bootmenu() | |||
55 | { | 55 | { |
56 | local do_trigger="$1" no_panic="$2" | 56 | local do_trigger="$1" no_panic="$2" |
57 | killall dynmenu || true | 57 | killall dynmenu || true |
58 | clear >/dev/tty7 || true | ||
59 | |||
60 | if [ "$do_trigger" ] | ||
61 | then | ||
62 | echo -n 'Attempting to restart menu after failed boot...' >/dev/tty7 | ||
63 | chvt 7 && sleep 1 || true | ||
64 | fi | ||
65 | |||
58 | if TERM=linux OpenVT -f -c 7 -s -- dynmenu "$MENUFIFO" | 66 | if TERM=linux OpenVT -f -c 7 -s -- dynmenu "$MENUFIFO" |
59 | then | 67 | then |
60 | chvt 7 || true | ||
61 | clear || true | ||
62 | menutitle 'Samizdat\n\nAs the Internet develops there are\ntransitions in the management arrangements.\nThe time has come to take\na small step in one of those transitions.' 'Choose an installation target.' | 68 | menutitle 'Samizdat\n\nAs the Internet develops there are\ntransitions in the management arrangements.\nThe time has come to take\na small step in one of those transitions.' 'Choose an installation target.' |
63 | # menutitle 'Samizdat\nfreedom from surveillance\nno trusted authorities' 'Choose an installation target.' | 69 | # menutitle 'Samizdat\nfreedom from surveillance\nno trusted authorities' 'Choose an installation target.' |
64 | addmenu "ramdisk" "[ Boot to RAM without installing anything ]" "menu-select boot-ram" | 70 | addmenu "ramdisk" "[ Boot to RAM without installing anything ]" "menu-select boot-ram" |
65 | addmenu "poweroff" "[ Shut down the system immediately ]" "poweroff -f" | 71 | addmenu "poweroff" "[ Shut down the system immediately ]" "poweroff -f" |
66 | fi | 72 | fi |
67 | if [ $? != 0 -a ! "$no_panic" ]; then | 73 | |
74 | if [ $? != 0 -a ! "$no_panic" ] | ||
75 | then | ||
68 | panic "error loading boot menu! the system won't be usable :(" | 76 | panic "error loading boot menu! the system won't be usable :(" |
69 | fi | 77 | fi |
70 | 78 | ||
diff --git a/src/initrd/menu-select b/src/initrd/menu-select index c374b29..1fcade4 100755 --- a/src/initrd/menu-select +++ b/src/initrd/menu-select | |||
@@ -18,6 +18,7 @@ error() | |||
18 | 18 | ||
19 | clear >&4 | 19 | clear >&4 |
20 | echo "error -- ${*:-:(}" >&4 | 20 | echo "error -- ${*:-:(}" >&4 |
21 | echo "error -- ${*:-:(}" >/dev/tty1 | ||
21 | 22 | ||
22 | if [ $sleep -gt 0 ]; then | 23 | if [ $sleep -gt 0 ]; then |
23 | echo "will try again in $sleep seconds..." >&4 | 24 | echo "will try again in $sleep seconds..." >&4 |
@@ -61,6 +62,8 @@ hwclock_to_system() | |||
61 | hwclock --hctosys | 62 | hwclock --hctosys |
62 | } | 63 | } |
63 | 64 | ||
65 | chvt 1 | ||
66 | echo -n "Samizdat is attempting to load the root filesystem..." >/dev/tty1 | ||
64 | case "$1" in | 67 | case "$1" in |
65 | boot-ram) | 68 | boot-ram) |
66 | read _ memtotal_kb _ < /proc/meminfo | 69 | read _ memtotal_kb _ < /proc/meminfo |
@@ -107,7 +110,7 @@ case "$1" in | |||
107 | mount "$dev"2 /plaintext || error | 110 | mount "$dev"2 /plaintext || error |
108 | init_gpg || error | 111 | init_gpg || error |
109 | open_samizdat_blockdev "$dev"3 /plaintext/disk.key || error | 112 | open_samizdat_blockdev "$dev"3 /plaintext/disk.key || error |
110 | open_samizdat || error | 113 | open_samizdat || error open_samizdat |
111 | bootdone root-mounted | 114 | bootdone root-mounted |
112 | ;; | 115 | ;; |
113 | boot-overwrite|boot-new|boot-luks) | 116 | boot-overwrite|boot-new|boot-luks) |
@@ -129,7 +132,7 @@ case "$1" in | |||
129 | 132 | ||
130 | if [ "$1" = 'boot-luks' ]; then | 133 | if [ "$1" = 'boot-luks' ]; then |
131 | open_samizdat_blockdev_from_loop "$loopfile" "$loopfile"k || error | 134 | open_samizdat_blockdev_from_loop "$loopfile" "$loopfile"k || error |
132 | open_samizdat || error | 135 | open_samizdat || error open_samizdat |
133 | bootdone root-mounted | 136 | bootdone root-mounted |
134 | exit | 137 | exit |
135 | fi | 138 | fi |