Andrei Borzenkov wrote:
On 19.04.2021 19:06, Ludwig Nussel wrote:
Olaf Hering wrote:
Am Mon, 12 Apr 2021 10:46:48 +0200 schrieb Ludwig Nussel <ludwig.nussel@suse.de>:
Does anyone have a better idea or can we just follow Fedora's approach here?
Since the reasons for "/boot" are obsolete since more than a decade, just go ahead.
Just make sure to provide the equivalent of "/boot/vmlinuz" and "/boot/initrd", a pointer to the last installed kernel. This can very well be stored somewhere in "/usr".
Here's my suggestion to move the kernel related read-only files from /boot to /lib/modules/%kernelrelease-%build_flavor
The file names in /boot are included as %ghost links. The %post script creates symlinks for the kernel, sysctl.conf and System.map in /boot as a start. Some tools require adjustments before we can drop those links. If boot is a separate partition, a copy is used instead of a link.
Cross-filesystem links do not work in grub so you need to modify grub to look for kernels and load them from /lib. Not sure if dracut needs fixing too.
There is no cross filesystem link. Symlinks are used if /boot is on the same FS (could also use hardlinks if desired) and a copy if not. I'd be surprised if dracut would be problematic though as Fedora already moved the kernel out of /boot six years ago.
And I still do not understand the problem that you are trying to solve or what you gain by having kernel in /lib.
Well in the end erasing technical debt. /lib is not the goal though, /usr/lib is. Since /lib will turn into a symlink with usrmerge and rpm follows that, we do not strictly need to explicitly install into /usr. Interestingly Fedora still does not use /usr in kernel.spec, even after almost a decade of usrmerge. Anyway, I've tried to explain the general direction in this article: https://lnussel.github.io/2020/12/16/fslayout/ cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.com/ SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer HRB 36809 (AG Nürnberg)