Skip to content

Images generated with -f iso-efi-initrd causes linuxkit run to fail with boot device not found in qemu #4071

Description

@ErikSJan

Description
When you build an image with the output format iso-efi-initrd, it won't start on qemu launched by linuxkit run on ubuntu.

Steps to reproduce the issue:
On an ubunutu 22.04 VM on Hyper-V, do the following:

sudo linuxkit build -f iso-efi-initrd linuxkit/examples/minimal.yml
sudo linuxkit run minimal-efi-initrd.iso

NB: sudo not required but just to be sure 😉

Results received:
Output from the build command:

Extract kernel image: docker.io/linuxkit/kernel:6.6.13
Image docker.io/linuxkit/kernel:6.6.13 arch amd64 found in local cache, not pulling
Add init containers:
Process init image: docker.io/linuxkit/init:872d2e1be745f1acb948762562cf31c367303a3b
Image docker.io/linuxkit/init:872d2e1be745f1acb948762562cf31c367303a3b arch amd64 found in local cache, not pulling
Process init image: docker.io/linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f
Image docker.io/linuxkit/runc:6062483d748609d505f2bcde4e52ee64a3329f5f arch amd64 found in local cache, not pulling
Process init image: docker.io/linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435
Image docker.io/linuxkit/containerd:39301e7312f13eedf19bd5d5551af7b37001d435 arch amd64 found in local cache, not pulling
Add onboot containers:
  Create OCI config for linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee
Image docker.io/linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee arch amd64 found in local cache, not pulling
Image docker.io/linuxkit/dhcpcd:e9e3580f2de00e73e7b316a007186d22fea056ee arch amd64 found in local cache, not pulling
Add service containers:
  Create OCI config for linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b
Image docker.io/linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b arch amd64 found in local cache, not pulling
Image docker.io/linuxkit/getty:5d86a2ce2d890c14ab66b13638dcadf74f29218b arch amd64 found in local cache, not pulling
Create outputs:
  `minimal-efi-initrd.iso`

Output from the run command:

SeaBIOS (version 1.15.0-1)
Machine UUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx


iPXE (https://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+3FF8B1E0+3FECB1E0 CA00



Booting from DVD/CD...
Boot failed: Could not read from CDROM (code 0009)
Booting from ROM...
iPXE (PCI 00:03.0) starting execution...ok
iPXE initialising devices...ok



iPXE 1.21.1+git-20220113.fbbdc3926-0ubuntu1 -- Open Source Network Boot Firmware
 -- https://ipxe.org
Features: DNS HTTP HTTPS iSCSI NFS TFTP VLAN AoE ELF MBOOT PXE bzImage Menu PXEX
T

net0: 1a:c9:1f:c2:db:78 using virtio-net on 0000:00:03.0 (Ethernet) [open]
  [Link:up, TX:0 TXE:0 RX:0 RXE:0]
Configuring (net0 xx:xx:xx:xx:xx:78)...... ok
net0: xx.xx.xx.xx/255.255.255.0 gw 10.0.2.2
net0: xxxx::xxxx:xxxx:xxxx:xxxx/64 gw fe80::2
net0: xxxx::xxxx:xxxx:xxxx:xxxx/64
Nothing to boot: No such file or directory (https://ipxe.org/2d03e13b)
No more network devices

Booting from Hard Disk...
Boot failed: could not read the boot disk

Booting from Floppy...
Boot failed: could not read the boot disk

No bootable device.

Results expected:
Qemu starting the image and running the sample.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions