Page MenuHomeSolus

Update to v56
ClosedPublic

Authored by joebonrichie on Nov 2 2021, 1:02 PM.
Tags
None
Referenced Files
F11046541: D12163.id31716.diff
Thu, Aug 10, 1:37 PM
F11046540: D12163.id32329.diff
Thu, Aug 10, 1:37 PM
F11046539: D12163.id31714.diff
Thu, Aug 10, 1:37 PM
F11046538: D12163.id.diff
Thu, Aug 10, 1:37 PM
F11046537: D12163.id29540.diff
Thu, Aug 10, 1:37 PM
F11032104: D12163.diff
Wed, Aug 9, 1:53 PM
F10938609: D12163.id.diff
Thu, Jul 13, 4:20 PM
F10852382: D12163.id31716.diff
Jun 12 2023, 11:40 PM

Details

Reviewers
DataDrake
Group Reviewers
Triage Team
Commits
R661:43b79a64c97d: Update to v56
Summary

Changelog

Packaging Notes

  • Rebase patches (credit to @ReillyBrogan for rebasing sunny's patch)
Test Plan

Rebuild and boot from new kernel from this version (--prelink must be removed)

Tested Configs
UEFI (x)
Legacy/GRUB (x)
UEFI on LVM (x)
UEFI on LVM+LUKS (x)
Legacy/GRUB on LVM ()
Legacy/GRUB on LVM+LUKS (x)

Diff Detail

Repository
R661 dracut
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I'll try and test the other boot configurations in the upcoming days. If people are willing to cook their own kernel on a config not yet tested that would be appreciated. ?

Booted under a system that uses UEFI on LVM + LUKS.

Successful boot with Legacy/GRUB (no LVM/LUKS)

FYI: we need to fix the ISO buildscript as well reg --prelink in line 433

Tested:

  • UEFI/LVM (no LUKS)
  • GRUB/LVM/LUKS

I can re-install the GRUB system and do GRUB/LVM as well if we really need that combination tested as well, but this system is ancient and getting it into a testing state after re-installing the OS is a very, very slow process. I think GRUB/LVM can be assumed to be working considering what has already been tested.

Also, I suggest that we add the nvme-cli binary to the rescue environment once this lands (via --install "/usr/sbin/nvme" in the dracut command). This would help give users an additional tool that they could use to troubleshoot a bad boot where their OS is stored on a NVME drive (nvme-cli shows SMART data, drive error logs etc)

Also, I'd note that dracut is now adding the nvdimm and kernel-modules-extra modules by default compared to our previous version. kernel-modules-extra seems to result in the pinctrl and watchdog kernel modules being added to the initramfs, and while I'm not sure if these are useful or not it's worth mentioning in case someone more knowledgeable thinks they are unneeded. nvdimm similarly could be removed if we don't actually support that functionality either.

If anyone else wants to take a peak in the initramfs the easiest way is to create a new directory and from that directory run sudo /usr/lib/dracut/skipcpio path/to/initrd | gunzip -c | cpio -id to extract it (replace gunzip -c with unzstd if you are messing around with zstd compression).

Need to use the SPDX-License-Identifier. According to dracut.spec inside the tarball the licenses are:

# The entire source code is GPLv2+
# except install/* which is LGPLv2+
# except util/* which is GPLv2
License: GPLv2+ and LGPLv2+ and GPLv2

FYI @joebonrichie https://github.com/dracutdevs/dracut/releases/tag/056

Also FWIW, I've been using the kernel built with this (and zstd-compressed initramfs) ever since this diff was created without any noticeable regression.

I did some simple benchmarking using Linux 5.15.26 using Dracut 47, Dracut 56 + Gzip initramfs, and Dracut 56 + Zstd initramfs on my Ryzen 5900x + NVME boot drive setup:

I used the kernel timestamp for when boot passed to the root OS systemd (systemd 247 running in system mode) as the metric.

After five boots with each configuration:
Dracut 47 (Gzip compression): 6.023 seconds
Dracut 56 (Gzip compression): 5.857 seconds
Dracut 56 (ZSTD compression): 5.459 seconds

Showing that Dracut 47 -> Dracut 56 resulted in a 2.75% drop in times, while Dracut 56 Gzip -> Dracut 56 ZSTD dropped 6.81% from there. Cumulatively there was a 9.37% drop in time-to-root-os.

There is likely to be a greater percentage drop for systems with slower CPUs or using magnetic HDDs.

Size comparisons of the initrd files:
Dracut 47: 62MB
Dracut 56 (Gzip): 63MB
Dracut 56 (ZSTD): 47MB

joebonrichie retitled this revision from Update to v55 to Update to v56.
joebonrichie edited the summary of this revision. (Show Details)

Update to v56, update licences

This revision is now accepted and ready to land.May 16 2022, 4:43 PM
This revision was automatically updated to reflect the committed changes.