commit: 72dba439fd56b31979a8f08e06a7e49f87e7c70f
parent 3733956654717a0b99096f59aaa6ab5d7c35c5c1
Author: fosslinux <fosslinux@aussies.space>
Date: Fri, 2 Feb 2024 11:28:49 +0000
Merge pull request #418 from Googulator/better-interactive
Better interactive mode support
Diffstat:
6 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/steps/improve/after.sh b/steps/improve/after.sh
@@ -10,7 +10,7 @@
. /steps/env
if [ "${INTERACTIVE}" = True ]; then
- env - PATH=${PREFIX}/bin PS1="\w # " bash -i
+ env - PATH=${PREFIX}/bin PS1="\w # " setsid openvt -fec1 -- bash -i
fi
if [ "${CHROOT}" = False ]; then
diff --git a/steps/improve/open_console.sh b/steps/improve/open_console.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+if bash --version | grep -q 'GPLv3'; then
+ env - PATH=${PREFIX}/bin PS1="\w # " openvt -- bash -i
+else
+ bash -c 'while true; do printf "[early Bash - use Ctrl+D] $(pwd) # "; $(cat /dev/tty2); done' &> /dev/tty2 &
+fi
diff --git a/steps/improve/populate_device_nodes.sh b/steps/improve/populate_device_nodes.sh
@@ -23,6 +23,8 @@ if mount --version >/dev/null 2>&1; then
fi
if [ "${CHROOT}" = False ]; then
+ test -c "/dev/tty1" || mknod -m 666 "/dev/tty1" c 4 1
+ test -c "/dev/tty2" || mknod -m 666 "/dev/tty2" c 4 2
test -c "/dev/console" || mknod -m 666 "/dev/console" c 5 1
test -b "/dev/sda" || mknod -m 600 "/dev/sda" b 8 0
test -b "/dev/sda1" || mknod -m 600 "/dev/sda1" b 8 1
diff --git a/steps/kexec-fiwix-1.0/kexec-fiwix-1.0.checksums b/steps/kexec-fiwix-1.0/kexec-fiwix-1.0.checksums
@@ -1 +1 @@
-f8c754de5bd9cf5a1b36dfea25e81f7b39c4e0145e10eebafccc8cdca5be91bd /usr/bin/kexec-fiwix
+d4f502384ab723ae4b3bf33e8024a93c71cba8481f8065182a8f21ffff0fbd6d /usr/bin/kexec-fiwix
diff --git a/steps/kexec-fiwix-1.0/src/kexec-fiwix.c b/steps/kexec-fiwix-1.0/src/kexec-fiwix.c
@@ -82,7 +82,7 @@ int main() {
char *bare_metal = getenv("BARE_METAL");
if (bare_metal != NULL && strcmp(bare_metal, "True") == 0)
{
- sprintf(cmdline, "fiwix root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=%d kexec_cmdline=\"init=/init consoleblank=0\"", INITRD_MB * 1024, KEXEC_MB * 1024);
+ sprintf(cmdline, "fiwix console=/dev/tty1 root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=%d kexec_cmdline=\"init=/init consoleblank=0\"", INITRD_MB * 1024, KEXEC_MB * 1024);
}
else
{
diff --git a/steps/manifest b/steps/manifest
@@ -54,6 +54,9 @@ build: bash-2.05b
improve: setup_repo
improve: update_env
improve: merged_usr
+improve: populate_device_nodes
+define: CONSOLES = ( INTERACTIVE == True && CHROOT == False )
+improve: open_console ( CONSOLES == True )
build: flex-2.5.11
build: tcc-0.9.27
improve: musl_libdir
@@ -80,7 +83,6 @@ build: perl5.004-05
build: perl5.005-03
build: perl-5.6.2
uninstall: perl-5.000 perl-5.003 perl5.004-05 perl5.005-03
-improve: populate_device_nodes
build: autoconf-2.52
build: automake-1.6.3
build: automake-1.6.3
@@ -128,11 +130,13 @@ jump: linux ( CHROOT == False )
jump: move_disk ( KERNEL_BOOTSTRAP == True )
improve: finalize_job_count
improve: finalize_fhs
+improve: open_console ( CONSOLES == True )
improve: swap ( SWAP_SIZE != 0 )
build: musl-1.2.4
build: curl-8.5.0
improve: get_network ( CHROOT == False )
build: bash-5.2.15
+improve: open_console ( CONSOLES == True )
build: xz-5.4.1
build: file-5.44
build: libtool-2.4.7