Skip to content

Commit 3c0ac2d

Browse files
committed
Require /dev/sda for AMDSEV init boot
1 parent 373fc21 commit 3c0ac2d

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

misc/AMDSEV/build-initrd.sh

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,18 @@ export PATH=/bin
291291
log() { echo "[init] $*"; }
292292
293293
KATANA_PID=""
294-
KATANA_DB_DIR="/tmp/katana-data"
294+
KATANA_DB_DIR="/mnt/data/katana-db"
295295
SHUTTING_DOWN=0
296296
297+
fatal_boot() {
298+
log "ERROR: $*"
299+
sync || true
300+
poweroff -f
301+
while true; do
302+
sleep 1
303+
done
304+
}
305+
297306
shutdown_handler() {
298307
if [ "$SHUTTING_DOWN" -eq 1 ]; then
299308
return 0
@@ -404,22 +413,19 @@ for tok in $CMDLINE; do
404413
esac
405414
done
406415
407-
# Mount persistent storage with fallback
408-
mkdir -p "$KATANA_DB_DIR"
409-
if [ -b /dev/sda ]; then
410-
log "Found storage device /dev/sda"
411-
mkdir -p /mnt/data
412-
if /bin/mount -t ext4 /dev/sda /mnt/data 2>/dev/null; then
413-
mkdir -p /mnt/data/katana-db
414-
KATANA_DB_DIR="/mnt/data/katana-db"
415-
log "Storage mounted at /mnt/data"
416-
else
417-
log "WARNING: failed to mount /dev/sda, using tmpfs fallback"
418-
fi
419-
else
420-
log "No storage device found, using tmpfs fallback"
416+
# Require persistent storage at /dev/sda
417+
if [ ! -b /dev/sda ]; then
418+
fatal_boot "required storage device /dev/sda not found"
421419
fi
422420
421+
log "Found storage device /dev/sda"
422+
mkdir -p /mnt/data
423+
if ! /bin/mount -t ext4 /dev/sda /mnt/data 2>/dev/null; then
424+
fatal_boot "failed to mount required storage device /dev/sda"
425+
fi
426+
mkdir -p "$KATANA_DB_DIR"
427+
log "Storage mounted at /mnt/data"
428+
423429
log "Starting katana..."
424430
# shellcheck disable=SC2086
425431
/bin/katana --db-dir="$KATANA_DB_DIR" $KATANA_ARGS &

0 commit comments

Comments
 (0)