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

# Connect laptop to wired LAN for internet access. Then, as root:

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

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

# Disconnect LAN cable. Then proceed while still being root:

cd /usr/src

tar xJpf ~/linux-6.12.14.tar.xz

rm linux

ln -s /usr/src/linux-6.12.14 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.14

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

cp .config /boot/config-huge-6.12.14

cd /boot

rm System.map

ln -s System.map-huge-6.12.14 System.map

rm config

ln -s config-huge-6.12.14 config

rm vmlinuz

ln -s vmlinuz-huge-6.12.14 vmlinuz

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

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

reboot

# As root:

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

cd sof-bin

cd v2.2.x

../install.sh v2.2

reboot

# Update Slackware64 15. Connect to the internet via wired LAN or WIFI. 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

wget https://blog.balcos.net/slackpkg+-1.8.0-noarch-7mt.txz

installpkg slackpkg+*.t?z

cp -p /etc/slackpkg/slackpkgplus.conf /etc/slackpkg/slackpkgplus.conf.orig

vi /etc/slackpkg/slackpkgplus.conf

#Have the following configured

#BEGIN

REPOPLUS=( slackpkgplus restricted alienbob slackonly )

# Slackware 15.0 - x86_64

#MIRRORPLUS['multilib']=https://slackware.nl/people/alien/multilib/15.0/

MIRRORPLUS['alienbob']=https://slackware.nl/people/alien/sbrepos/15.0/x86_64

MIRRORPLUS['restricted']=https://slackware.nl/people/alien/restricted_sbrepos/15.0/x86_64

# use this to keep the slackpkg+ package updated to the latest stable release

MIRRORPLUS['slackpkgplus']=https://slakfinder.org/slackpkg+15/

MIRRORPLUS['slackonly']=http://slackonly.com/pub/packages/15.0-x86_64/

#END

cd /etc/slackpkg

cp -p mirrors mirrors.orig

vi mirrors # Enable a mirror.

slackpkg update gpg

slackpkg update

slackpkg upgrade-all

cd /boot

rm System.map

ln -s System.map-huge-6.12.14 System.map

rm config

ln -s config-huge-6.12.14 config

rm vmlinuz

ln -s vmlinuz-huge-6.12.14 vmlinuz

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

reboot