Installing Slackware64 15.0 in Thinkpad E14 Gen 4

# Setup Windows 11 on your computer first if not yet done. Also, make sure there is storage space allocated for your Slackware64 15 installation.

# Boot Slackware64 15 installer. Perform the following steps after logging in as root during Slackware64 15.0 setup:

cfdisk /dev/nvme0n1 # Create swap and root partitions.

setup # Start with addswap. EFI partition will be added to /etc/fstab. Proceed with setup. After intstalling the packages, skip LILO and ELILO installation. After setup, go back to shell to proceed with the steps below.

mount # This is for checking your mounts.

chroot /mnt /bin/bash

source /etc/profile

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub

grub-mkconfig -o /boot/grub/grub.cfg

# If you are trying this documentation on Virtualbox first, here are additional steps. For Virtualbox to boot on UEFI you also need to copy grub to a new directory:

mkdir -p /boot/efi/EFI/boot # -p option creates any intermediate directories

cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi

# Additional Virtualbox steps end here. Proceed with "exit" and "reboot" as shown below for both non-Virtualbox and Virtualbox setups.

exit

reboot

# Update Slackware64 15 first. Connect to the internet via wired LAN. You may now create an unprivileged user here.

su - # Or login as root.

cd /etc/rc.d

wget https://blog.balcos.net/rc.firewall

chmod 755 rc.firewall

./rc.firewall

cd /etc/slackpkg

cp -p mirrors mirrors.orig

vi mirrors # Enable a mirror.

slackpkg update

slackpkg upgrade-all

grub-mkconfig -o /boot/grub/grub.cfg

reboot

# As root:

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.9.tar.xz

wget https://hkg.mirror.rackspace.com/slackware/slackware64-current/kernels/generic.s/config

cd /usr/src

tar xJpf ~/linux-6.12.9.tar.xz

rm linux

ln -s /usr/src/linux-6.12.9 linux

cd linux

make mrproper

mv ~/config .config

make oldconfig # When asked for input, use the default or the option you think is best.

make menuconfig # You may skip this. Do this only if you need to make configuration changes.

make bzImage ; make modules ; make modules_install

cp arch/x86/boot/bzImage /boot/vmlinuz-huge-6.12.9

cp System.map /boot/System.map-huge-6.12.9

cp .config /boot/config-huge-6.12.9

cd /boot

rm System.map

ln -s System.map-huge-6.12.9 System.map

rm config

ln -s config-huge-6.12.9 config

rm vmlinuz

ln -s vmlinuz-huge-6.12.9 vmlinuz

vi /etc/default/grub # Set: GRUB_DISABLE_OS_PROBER=false

cd

git clone https://github.com/thesofproject/sof-bin.git

cd sof-bin

cd v2.2.x

../install.sh v2.2

grub-mkconfig -o /boot/grub/grub.cfg

reboot