Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Action kexec hardcodes grub.cfg location #142

Open
ttwd80 opened this issue Sep 2, 2024 · 0 comments · May be fixed by #144
Open

Action kexec hardcodes grub.cfg location #142

ttwd80 opened this issue Sep 2, 2024 · 0 comments · May be fixed by #144

Comments

@ttwd80
Copy link

ttwd80 commented Sep 2, 2024

The grub.cfg file lives in /boot/grub/grub.cfg. This will work without an issue when grub.cfg is in the / filesystem (as the case for Ubuntu 22.04 cloud image). However with Ubuntu 24.04, the grub.cfg file lives in /grub/grub.cfg in

BLOCK_DEVICE: {{ formatPartition ( index .Hardware.Disks 0 ) 16 }}

I manged to specify these values:

BLOCK_DEVICE: {{ formatPartition ( index .Hardware.Disks 0 ) 16 }}
KERNEL_PATH: vmlinuz
INITRD_PATH: initrd.img

and it boots until it says Boot arguments must include a root= parameter.

Expected Behaviour

When the /boot directory is mounted and not part of the / filesystem, allow an extra parameter for the location. When /dev/sda16 is mounted as /boot, we can have an extra parameter that defaults to /boot/grub/grub.cfg but could be changed to /grub/grub.cfg. Maybe something like GRUB_CFG_PATH?

Current Behaviour

After specifying the BLOCK_DEVICE for the /boot directory, the assumption is that the /boot/grub/grub.cfg file lives relative to /.

Possible Solution

Steps to Reproduce (for bugs)

Use Ubuntu 24.04 cloud image from https://cloud-images.ubuntu.com/daily/server/noble/current/

Context

Unable to use Ubuntu 24.04 cloud image because it mounts /boot on a different partition. This is not an issue with Ubuntu 22.04 as the /boot directory is not on a partition on its own.

Your Environment

  • Operating System and version (e.g. Linux, Windows, MacOS):

  • How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details:

  • Using an environment with Mini PC (N95 Celeron) and Mikrotik router
  • Link to your project or a code example to reproduce issue:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant