kairos: v2.4.0 grub error out of memory

After install from kairos-standard-opensuse-leap-amd64-generic-v2.4.0-k3sv1.26.6+k3s1.iso on /dev/mmcblk1 on a x86_64 (latte panda 3 d) I get immediately the following grub error: image

About this issue

  • Original URL
  • State: closed
  • Created 9 months ago
  • Comments: 44 (31 by maintainers)

Most upvoted comments

Could also try the rc3 that we released yesterday to see if it fixes it, as we reverted the grub.efi to a different one which used to work!

I tested with quay.io/kairos/ubuntu:20.04-standard-amd64-generic-v2.4.3-rc3-k3s1.28.2-1, and that worked for the Surface Pro 7+! Many thanks @Itxaka!

@alexander-bauer I found an option that is a bit more robust to remove the tpm module from the grub.cfg.

Create a Dockerfile:

Pick your favorite Kairos image (e.g., ubuntu:20.04).

FROM quay.io/kairos/ubuntu:20.04-standard-amd64-generic-v2.4.2-k3sv1.28.2-k3s1

RUN sed -i '/insmod regexp/a rmmod tpm' /etc/cos/grub.cfg

Build the image:

docker build -t tpm2workaround -f Dockerfile .

Deploy with auroraboot:

For example, generate an ISO:

docker run --rm -ti \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/config.yaml:/config.yaml \
  -v $(pwd)/build:/tmp/auroraboot \
  quay.io/kairos/auroraboot \
  --set "container_image=docker://tpm2workaround" \
  --set "disable_http_server=true" \
  --set "disable_netboot=true" \
  --set "state_dir=/tmp/auroraboot" \
  --cloud-config /config.yaml

@Itxaka or @mudler might know of an easier way to override this using one of the cloud-init stages, I tried after-install-chroot and before-install, but neither of those seemed to work.

Hope that helps until we get a more permanent fix!

I’ll describe the process from the beginning:

  1. I’m downloading kairos-standard-opensuse-leap-amd64-generic-v2.4.1-k3sv1.26.6+k3s1.iso and burning it to an usb stick
  2. Im inserting the stick and booting from it (latte panda delta 3 -> x86_64 with build in eMMC). Stick is booting and I’m getting the qr code.
  3. I’m using the webui (ip:8080) to install on the build in eMMC (/dev/mmcblk1), pasting my cloud_config and checking reboot
  4. When it restarts, I remove the usb stick so it tries to boot from the eMMC (sd card). Here the out of memory error of grub appears

the grub.cfg on the USB stick is much shorter than the one written by the installer on the eMMC (= sd card). the grub configuration on the usb stick always works the one on the sd card never.

I tried to modify the one on the sd card by inserting set gfxmode=640x480 at different places, it changes the behavior BUT none of the attempts lead to booting kairos…