-
Notifications
You must be signed in to change notification settings - Fork 206
Open
Description
I tried to generate an image, but it doesn´t work.
- Build system:
NAME="Rocky Linux"VERSION="9.3 (Blue Onyx)" - SELinux disabled
- Distrobuilder version: 3.0
- Build command:
distrobuilder build-incus rockylinux.yaml --vm --debug --disable-overlay -o image.architecture=x86_64 -o image.release=9 -o image.variant=default -o source.variant=boot - Used template file:
https://raw.githubusercontent.com/lxc/lxc-ci/main/images/rockylinux.yaml
The output shows an error:
...
Installing : rootfiles-8.1-31.el9.noarch 127/127
Running scriptlet: grub2-common-1:2.06-70.el9_3.2.rocky.0.3.noarch 127/127
Running scriptlet: kernel-modules-core-5.14.0-362.18.1.el9_3.0.1.x86_64 127/127
Running scriptlet: kernel-core-5.14.0-362.18.1.el9_3.0.1.x86_64 127/127
grub2-probe: error: failed to get canonical path of `/dev/mapper/rl-root'.
No path or device is specified.
Usage: grub2-probe [OPTION...] [OPTION]... [PATH|DEVICE]
Try 'grub2-probe --help' or 'grub2-probe --usage' for more information.
findmnt: can't read (null): No such file or directory
Running scriptlet: kernel-modules-5.14.0-362.18.1.el9_3.0.1.x86_64
...
but building continues until
...
INFO [2024-03-11T12:27:29+01:00] Running hooks trigger=post-files
++ ls /boot/initramfs-5.14.0-362.18.1.el9_3.0.1.x86_64.img
++ sed -r 's#.*initramfs-(.+)\.img#\1#'
+ kver=5.14.0-362.18.1.el9_3.0.1.x86_64
+ target=/boot/efi/EFI/rocky/grub.cfg
+ grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
+ sed -i 's#root=[^ ]*#root=/dev/sda2#g' /boot/efi/EFI/rocky/grub.cfg
+ grubby --update-kernel=/boot/vmlinuz-5.14.0-362.18.1.el9_3.0.1.x86_64 '--args=root=/dev/sda2 ro'
The param /boot/vmlinuz-5.14.0-362.18.1.el9_3.0.1.x86_64 is incorrect
Error: Failed to run post-files: exit status 1
ERROR [2024-03-11T12:27:31+01:00] Failed running distrobuilder err="Failed to run post-files: exit status 1"
INFO [2024-03-11T12:27:31+01:00] Removing cache directory
To get some more info I added to rockylinux.yaml:
- trigger: post-files
action: |-
#!/bin/sh
set -eux
grubby --info=ALL
...
types:
- vm
releases:
- 9
Here is the additional output:
index=0
kernel="/var/cache/distrobuilder.4233995394/rootfs/boot/vmlinuz-5.14.0-362.18.1.el9_3.0.1.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet selinux=0"
root="/dev/mapper/rl-root"
initrd="/var/cache/distrobuilder.4233995394/rootfs/boot/initramfs-5.14.0-362.18.1.el9_3.0.1.x86_64.img"
title="Rocky Linux (5.14.0-362.18.1.el9_3.0.1.x86_64) 9.3 (Blue Onyx)"
id="84539f10c3234600a5599254072f4639-5.14.0-362.18.1.el9_3.0.1.x86_64"
Result: The kernel and initrd settings are invalid!
As workaround for this I modified rockylinux.yaml:
- trigger: post-files
action: |-
#!/bin/sh
set -eux
...
# Patch *.conf files
sed -i "s|/var/cache/distrobuilder\..*/rootfs||" /boot/loader/entries/*.conf
# Update files in /boot/loader/entries/. `grubby` needs to be run after
# `grub2-mkconfig` as the latter overwrites files in /boot/loader/entries/.
grubby --update-kernel=/boot/vmlinuz-${kver} --args="root=/dev/sda2 ro"
# Regenerate initramfs
dracut --kver "${kver}" -f
types:
- vm
releases:
- 9
With this patch the image is generated.
The issue is similar to #785 but in that case there is no call of grub-install which can be modified.
Metadata
Metadata
Assignees
Labels
No labels