Bug 44090

Summary: При установке ядра неправильно прописывается путь в boot.conf
Product: Sisyphus Reporter: makise-homura <Igor.A.Molchanov>
Component: bootloader-utilsAssignee: Michael Shigorin <mike>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: at, manowar, mike, placeholder, sem, slazav, wd
Version: unstable   
Hardware: e2k   
OS: Linux   

Description makise-homura 2022-10-19 18:15:22 MSK
Не уверен насчёт того, правильно ли выбран компонент - компонента kernel или kernel-image я не нашёл.

При установке ядра неправильно прописывается путь в boot.conf: считается, что ядро лежит в корне раздела, но к примеру, если /boot - лишь каталог в корневом разделе, то в boot.conf прописывается всё равно /image-..., а не /boot/image-...

Следует определять, является ли каталог установки и все его родители точкой монтирования, и если это так, то обрезать путь по самой глубокой точке, предварительно узнав, какой раздел этого диска является соответствующей точкой монтирования и прописывая его в параметр partition, а обрезанный путь - в image/initrd.

К примеру (возьмём самый сложный случай, который можно включить в тесты установки). Если ядро ставится в /boot/images/alt, при этом /boot - это точка монтирования /dev/sda1, а /boot/images - /dev/sda2, то partition должен быть равен 2, а image - /alt/image-... (и при этом не 1 и /images/alt/image-... соответственно).
Comment 1 Michael Shigorin 2022-10-19 18:24:58 MSK
Это вот кто:

$ rpm -qf /sbin/installkernel
bootloader-utils-0.4.26-alt4.noarch

Да, при /boot на корне e2k-патч скорее не проверялся.

> Если ядро ставится в /boot/images/alt
Поддержки установки ядра в произвольное место и загрузки его штатными средствами без хаков у нас и не было никогда, если что.
Comment 2 makise-homura 2022-10-19 22:05:59 MSK
(Ответ для Michael Shigorin на комментарий #1)
> Поддержки установки ядра в произвольное место и загрузки его штатными
> средствами без хаков у нас и не было никогда, если что.
Ну тогда хотя бы обработать разные случаи, если /boot - mointpoint и если нет.