avoid kernel font change in init initramdisk

This commit is contained in:
Tobias Powalowski 2023-05-08 22:44:46 +02:00
parent 48052db2a0
commit 975b7c19d6

View file

@ -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: