From 975b7c19d62845570186c41a2ab5205c4c015932 Mon Sep 17 00:00:00 2001 From: Tobias Powalowski Date: Mon, 8 May 2023 22:44:46 +0200 Subject: [PATCH] avoid kernel font change in init initramdisk --- usr/share/archboot/base/init | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/usr/share/archboot/base/init b/usr/share/archboot/base/init index aa2ba2efe..1eebfa9bb 100755 --- a/usr/share/archboot/base/init +++ b/usr/share/archboot/base/init @@ -12,6 +12,7 @@ _emergency_shell() { _udev_trigger() { udevadm trigger --action=add --type=subsystems udevadm trigger --action=add --type=devices + setfont consolefont-16.psf.gz -C /dev/console udevadm settle } @@ -36,6 +37,8 @@ modprobe -q zram modprobe -q zstd echo 1 > /proc/sys/kernel/sysrq echo -e "\e[1mInitializing\e[m \e[36mArchboot\e[m \e[1m- Arch Linux Environment:\e[m" +# it needs one echo before, in order to reset the consolefont! +setfont consolefont-16.psf.gz -C /dev/console echo -e "\e[1mStep 1/6:\e[m Searching for archboot rootfs on usb/hd/cdrom device..." echo -e " Trying for 10 seconds /dev/sr0 and UUID=1234-ABCD..." _COUNT=0 @@ -62,16 +65,11 @@ echo -e " This may need some time..." bsdcpio -u -i "*/lib/modules/" "*/lib/firmware/" <"/mnt/boot/initramfs-$(uname -m).img" &>/dev/null || _emergency_shell # reinitialize available modules udevadm control -R +printf "\ec" _udev_trigger # shutdown udevd udevadm control --exit udevadm info --cleanup-db -echo -e "\e[1mStep 3/6:\e[m Removing firmware and modules..." -# cleanup firmware and modules -rm -rf /lib/firmware -rm -rf /lib/modules/*/kernel/drivers/{acpi,ata,gpu,bcma,block,bluetooth,hid,input,platform,net,scsi,soc,spi,usb,video} -rm -rf /lib/modules/*/extramodules -# it needs one echo before, in order to reset the consolefont! FB_SIZE="$(cut -d 'x' -f 1 "$(find /sys -wholename '*fb0/modes')" | sed -e 's#.*:##g')" if [[ "${FB_SIZE}" -gt '1900' ]]; then SIZE="32" @@ -79,6 +77,12 @@ else SIZE="16" fi setfont consolefont-${SIZE}.psf.gz -C /dev/console +echo -e "\e[1mInitializing\e[m \e[36mArchboot\e[m \e[1m- Arch Linux Environment:\e[m" +echo -e "\e[1mStep 3/6:\e[m Removing firmware and modules..." +# cleanup firmware and modules +rm -rf /lib/firmware +rm -rf /lib/modules/*/kernel/drivers/{acpi,ata,gpu,bcma,block,bluetooth,hid,input,platform,net,scsi,soc,spi,usb,video} +rm -rf /lib/modules/*/extramodules echo -e "\e[1mStep 4/6:\e[m Creating /dev/zram0 with zstd compression..." echo "zstd" >/sys/block/zram0/comp_algorithm echo "4G" >/sys/block/zram0/disksize @@ -96,6 +100,7 @@ echo 0 > /proc/sys/kernel/sysrq # remove mkinitcpio files and directories rm -rf /sysroot/{hooks,install,kernel,new_root,sysroot} &>/dev/null rm -f /sysroot/{VERSION,config,buildconfig,init} &>/dev/null +printf "\ec" exec switch_root /sysroot /usr/bin/init "$@" # vim: set ft=sh ts=4 sw=4 et: