summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@cryptonomic.net>2021-03-02 16:15:57 -0500
committerAndrew Cady <d@cryptonomic.net>2021-03-02 16:17:59 -0500
commit98c3aeba5838be2a072725e65354aa94b09bc9ea (patch)
treee1bfc826111529e7f1c81713e05e1e5f83443c4d
parentcbf89495089406f4fdf143ee6fd1f9b974c54c36 (diff)
initrd: improve console logging
-rw-r--r--src/initrd/btrfs-create.sh6
-rw-r--r--src/initrd/common.sh14
-rwxr-xr-xsrc/initrd/menu-select7
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
65chvt 1
66echo -n "Samizdat is attempting to load the root filesystem..." >/dev/tty1
64case "$1" in 67case "$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