qemuwindows-subsystem-for-linuxipxe

QEMU, No bootable device, Windows Subsystem for Linux


I'm learning how to build a basic OS kernel with https://intermezzos.github.io

I've create my .iso file and I'm at the point where I am runnning qemu-system-x86_64 -cdrom os.iso When I press enter, QEMU runs a window with the following output:

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

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

iPXE 1.0.0+git-20131111.c3d1e78-2ubuntu1.1 -- Open Source Network Boot Firmware
-- http://ipxe.org
Features: HTTP HTTPS iSCSI DNS TFTP AoE bzImage ELF MBOOT PXE Menu

net0: 52:54:00:12:34:56 using 82549em on PCI00:03.0 (open)
  [Link:up, TX:0 TXE:0 RX:0 RXE:01]
Configuring (net0 52:54:00:12:34:56)...ok
net0: 10.0.2.15/255.255.255.0 gw 10.0.2.2
Nothing to boot: No such file for directory (http://ipxe.org/2d03e13b)
No more network devices

No bootable device.

I went to the website listed in the output (http://ipxe.org/2d03e13b) and one of the tips is that I might Use the iPXE command line to perform DHCP manually, however when I press CTRL + B to access cli, I'm not able to do so.

Where do I look next to troubleshoot this problem of not being able to boot my .iso?
How do I make QEMU have access to keyboard input?


UPDATE
I don't know how, but I'm am now able to use CTRL + B to access iPXE command line.

This seems like a good place to start diagnosing my problem of not being able to boot my .iso.

What am I looking for?


UPDATE 2
Thanks to Peter Maydell's suggestion below, I've tested a known-good iso image (https://alpinelinux.org/), running qemu-system-x86_64 -cdrom alpine-3.4.3-x86_64.iso and it booted perfectly just as I expected.

I've rewritten my files from https://intermezzos.github.io to create a new iso image, this time copy and pasting the code from the repository, just in case I was previously inputting typos.

Still not booting. On to the next clue...


Solution

  • Simple solution to the problem. Has to do with systems that use EFI to boot.

    source

    I needed to apt-get install grub-pc-bin and then rebuild image.