From b2f118ebf21c414cb0f89480461402a87ee8d845 Mon Sep 17 00:00:00 2001 From: andreili Date: Tue, 19 Aug 2025 21:29:05 +0200 Subject: [PATCH] Fix initial script. --- files/initramfs/init | 3 +++ files/initramfs/init.script | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/files/initramfs/init b/files/initramfs/init index 8eb59de..f005b48 100644 --- a/files/initramfs/init +++ b/files/initramfs/init @@ -3,6 +3,9 @@ . /etc/init.def . /etc/init.script +CONSOLE="/dev/$(get_active_console)" +exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE} + run mount -t sysfs sysfs /sys -o noexec,nosuid,nodev >/dev/null run mount -t devtmpfs -o exec,nosuid,mode=0755,size=10M udev /dev run mkdir -m 0755 /dev/pts diff --git a/files/initramfs/init.script b/files/initramfs/init.script index 7d7bb32..5f23ac9 100644 --- a/files/initramfs/init.script +++ b/files/initramfs/init.script @@ -130,6 +130,21 @@ determine_fs() { echo "${_fs}" } +get_active_console() { + local active_console=console + + while [ -f /sys/class/tty/${active_console}/active ] + do + active_console=$(cat /sys/class/tty/${active_console}/active) + + # last console will be the active one, + # see https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html + active_console=${active_console##* } + done + + echo ${active_console} +} + findmediamount() { # $1 = mount dir name / media name # $2 = recognition file