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

Ubuntu 24 "full VM" image actually deploys a micro VM #308

Open
scottyeager opened this issue Oct 23, 2024 · 0 comments · May be fixed by #309
Open

Ubuntu 24 "full VM" image actually deploys a micro VM #308

scottyeager opened this issue Oct 23, 2024 · 0 comments · May be fixed by #309

Comments

@scottyeager
Copy link
Contributor

I deployed the following flist via the full VM flow on the dashboard:

https://hub.grid.tf/tf-official-vms/ubuntu-24.04-full.flist

The machine boots and I can connect via SSH. But there are some clear signs this is actually a micro VM:

image

  • Supposed kernel file has size 0
  • Actual running kernel is a different version
  • No module support in kernel
  • Zos actually looks for full VM kernel at /boot/vmlinuz only

The first problem in the build script is here:

apt-get install linux-modules-extra-6.8.0-31-generic -y

This appears to be based on the guide from the Zos repo, which was written for Ubuntu 22.04. In Ubuntu 24.04 installing the extra modules package no longer triggers installation of the kernel itself. So that leaves us with no kernel.

Then there's this line:

extract-vmlinux ubuntu-noble/boot/vmlinuz | tee ubuntu-noble/boot/vmlinuz-6.8.0-31-generic.elf > /dev/null

The file ubuntu-noble/boot/vmlinuz doesn't exist, so the script gives an error, but the output file is created as an empty file anyway.

However, we don't need to manually decompress kernels anymore, so this code is extraneous.

Proposed fix

A nice way to address this, while also keeping our image pretty light, is to install the linux-virtual metapackage. This includes the latest available kernel and a minimal set of extras suitable for a virtualized environment. I've tested images based on this approach and they work well.

Using the metapackage also means that users can get kernel updates automatically with regular system updates, rather than being pinned to one version. Since Zos handles the compressed kernels without intervention now, there's no harm in letting apt update the kernel—and the kernel extraction code can be removed too.

I'll open a PR with the changes I suggest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant