Page 1 of 1

5.4.285 64bit Kernel Non-Usrmerge Aufs/Overlayfs with spectre v2 fix

Posted: Thu Nov 14, 2024 12:10 am
by ozsouth

I made a 64bit 5.4.285 Non-Usrmerge, Aufs/Overlayfs Kernel. This is aimed at older PCs.
Has snd_soc_intel_skylake unset - caused hangups on all my PCs. rtw88-8821ce unset (but rtl8821ce as a .pet).
Has extra drivers & spectre v2 fix. Has no firmware, but my fdrv below is a good basis.

Missing firmware is a big issue these days. That will stop devices running, even if driver is present.
To see if any is missing, in a maximised terminal run: dmesg | grep irmware
A source of extra firmware is here: https://github.com/endlessm/linux-firmware
For usrmerge pups (jammypup64, bookwormpup64, noblepup64 etc), files go in /usr/lib/firmware.
For all other pups, files go in /lib/firmware.

Is in both Ubuntu and Slacko compatible flavours. CANNOT be used for Jammypup64 & later (USRMERGE Pups),
UNLESS these Ubuntu derivative kernel-modules & kernel_sources (& non-usrmerge fdrvs) are run through
a converter like this one: viewtopic.php?p=116744#p116744

Has Voluntary Preemption, older ntfs-3g, vmd builtin, standard 300Hz frequency. Is TCP_SACK mitigated.
Is mostly Spectre/Meltdown mitigated (needs microcode too - see viewtopic.php?p=9658#p9658).
Used gcc 10.2.0 & glibc 2.30. Used 2018 Kernel-Kit Master, with only my essential-for-operation fixes.

Although this should work on standard puppies (probably xenialpup64 & later) as is, to use it with overlayfs, need a specifc initrd.gz, or (if your puppy is more recent, like S15Pup64-22.12) have punionfs=overlay in the grub/syslinux linux/kernel line.

Briefly tested, OK in fossa64-small (aufs & overlayfs). Use at own risk.
For best results when using a savefile/savefolder, it is advisable to have that on an ext3 (or 4) partition.

wl & rtl8821ce wireless drivers are in forum Drivers section.
NOTE: many broadcom devices can use in-kernel b43 drivers. fdrv below has newer broadcom firmware to work with that.

Once downloaded, expand in an empty folder with tar -jxvf, & rename kernel-modules.sfs-5.4.285-64oz-nskl-aox to zdrv ... (same as one to be replaced) & rename vmlinuz-5.4.285-64oz-nskl-aox to vmlinuz & then substitute for originals.
Important Note: when switching kernels, if you have an ...initmodules.txt file (i.e. fossapup64initmodules.txt or similar, in same folder as puppy sfs), must delete it before first boot into new kernel. Otherwise it may try to load modules that don't exist, causing failure.

Notes for Overlayfs: either kernel derivative below works on any system. Devx, if named in same convention as puppy sfs for that pup, will load on boot, if in the same folder as puppy sfs. If devx loaded on the fly, compiling will fail, so best to have a separate install just for compiling, with no savefile/savefolder, naming kernel sources as ydrv & rebooting.
Also, savefolders/files cannot be shared by aufs & overlayfs, due to different structures.

Ubuntu derivative: https://archive.org/download/Puppy_Linu ... ox.tar.bz2

Slacko derivative: https://archive.org/download/Puppy_Linu ... ox.tar.bz2

Kernel Sources: https://archive.org/download/Puppy_Linu ... kl-aox.sfs

Kernel Headers: https://archive.org/download/Puppy_Linu ... x86_64.sfs

My 28oct24 lowmed fdrv (36mb): https://www.mediafire.com/file/twyvf8eb ... 4.sfs/file