What are some file(-systems) for?

Issues and / or general discussion relating to Puppy

Moderator: Forum moderators

Post Reply
User avatar
mikeslr
Posts: 2852
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 173 times
Been thanked: 864 times

What are some file(-systems) for?

Post by mikeslr »

The ISOs of some new Puppys, such as Bookworm, provide some file(-systems) which were not in the ISOs of older Puppys,

Other Files.png
Other Files.png (69.24 KiB) Viewed 252 times

Specifically:

kbuild-xxx.sfs
puppy.cer, and
ucode.cpio

I could depend on my sometimes flaky memory, or search for posts. But it's more efficient to just ask:

What function do they serve? Are they always necessary?

As the author of several (many?) posts explaining how to manually deploy Puppys I wondered if there was a need to revise them. In general, those posts only specify that the following files and file-systems be copied to a Puppy's folder: initrd.(g/x)z, vmlinuz and all file-systems ending in ".sfs", except adrv.sfs or ydrv.sfs which should be examined for content and only included if their content was wanted.

Do such applications as Puppy Installer, Frugalpup and Grub2config currently, automatically write those files? Or will they have to be updated?

dimkr
Posts: 2047
Joined: Wed Dec 30, 2020 6:14 pm
Has thanked: 38 times
Been thanked: 945 times

Re: What are some file(-systems) for?

Post by dimkr »

The kbuild SFS contains a small subset of the kernel sources (10-15 MB out of 150+ MB) that's enough to install out-of-tree drivers like NVIDIA or Broadcom WiFi drivers, so you can install nvidia-driver or broadcom-sta-dkms and it will "just work" (without having to find the kernels sources SFS, download those extra 150 MB, find devx, download it ...). If you don't need any of those drivers, you can delete it and nothing bad will happen.

ucode.cpio contains Intel and AMD CPU microcode updates, which can fix system instability issues (some CPUs are sold with a slightly broken version built-in, and they're unstable unless a newer version is loaded at boot time) and contains mitigations for CPU vulnerabilities (Spectre, Meltdown, Downfall ...). For this to work, your boot loader needs to be configured to load ucode.cpio and not only initrd.gz. If you don't want this for whatever reason, you can delete ucode.cpio.

puppy.cer is there because this is a UEFI/BIOS hybrid ISO.

User avatar
mikeslr
Posts: 2852
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 173 times
Been thanked: 864 times

Re: What are some file(-systems) for?

Post by mikeslr »

dimkr wrote: Tue Aug 15, 2023 6:28 pm

The kbuild SFS contains a small subset of the kernel sources (10-15 MB out of 150+ MB) that's enough to install out-of-tree drivers like NVIDIA or Broadcom WiFi drivers, so you can install nvidia-driver or broadcom-sta-dkms and it will "just work" (without having to find the kernels sources SFS, download those extra 150 MB, find devx, download it ...). If you don't need any of those drivers, you can delete it and nothing bad will happen.

ucode.cpio contains Intel and AMD CPU microcode updates, which can fix system instability issues (some CPUs are sold with a slightly broken version built-in, and they're unstable unless a newer version is loaded at boot time) and contains mitigations for CPU vulnerabilities (Spectre, Meltdown, Downfall ...). For this to work, your boot loader needs to be configured to load ucode.cpio and not only initrd.gz. If you don't want this for whatever reason, you can delete ucode.cpio.

puppy.cer is there because this is a UEFI/BIOS hybrid ISO.

Thanks, dimkr.
Just to make sure I've got this right, does "and contains mitigations for CPU vulnerabilities (Spectre, Meltdown, Downfall ...)" pertain only to AMD CPUs?

Could you also provide an example of a boot 'menu' configured to load ucode.cpio?

And please correct me if I'm wrong. But AFAIK, none of Puppy's boot-manager applications will automatically write the configuration to load ucode.cpio; the User would have to manually edit menu.lst or grub.cfg.

FWIW, likely a thread in the Tips and Tricks Section would currently be the way to get the word out.

dimkr
Posts: 2047
Joined: Wed Dec 30, 2020 6:14 pm
Has thanked: 38 times
Been thanked: 945 times

Re: What are some file(-systems) for?

Post by dimkr »

mikeslr wrote: Wed Aug 16, 2023 5:04 pm

pertain only to AMD CPUs?

As I said - both Intel and AMD

mikeslr wrote: Wed Aug 16, 2023 5:04 pm

Could you also provide an example of a boot 'menu' configured to load ucode.cpio?

Look inside the ISO, GRUB is configured to load it.

If you use syslinux or extlinux, you need to replace INITRD initrd.gz with INITRD ucode.cpio,initrd.gz.

mikeslr wrote: Wed Aug 16, 2023 5:04 pm

Could you also provide an example of a boot 'menu' configured And please correct me if I'm wrong. But AFAIK, none of Puppy's boot-manager applications will automatically write the configuration to load ucode.cpio; the User would have to manually edit menu.lst or grub.cfg.

bootflash does, when you choose to use syslinux, extlinux or efilinux and not grub4dos. I guess nobody maintains grub4dos, the old Puppy installer (the one that doesn't support UEFI) doesn't, and I don't know what the other installers do.

User avatar
mikeslr
Posts: 2852
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 173 times
Been thanked: 864 times

Re: What are some file(-systems) for?

Post by mikeslr »

I also don't know what the installers currently do. My current grub.cfg lists about 6 Puppys and one Kennel-OS with the ability to boot some of the Puppys 'pfix=ram' and the Kennel-OS with 3 different option: in total about a dozen listings. So it's easier to manually edit it than to run an installer and then edit all the listing.

I decided to explore the recent devuanpup-mate. So I manually added it. Rather than the ordinary last line

initrd /dev64/initrd.gz -- dev being its folder

I replaced that with

if [ -e /dev64/ucode.cpio ]; then
initrd /dev64/ucode.cpio /dev64/initrd.gz
else
initrd /dev64/initrd.gz
fi

Probably could have gotten away with just initrd /dev64/ucode.cpio /dev64/initrd.gz

But it reached desktop. ;)

Post Reply

Return to “Users”