Hi Richard,
On [07-03-2025 14:41], Richard Clark wrote:
Hi!
I've had much success building and running my applications in QEMU. No issues there. But now I've got myself some real hardware. Windows boots on it. Debian Linux boots on it. Linux even boots from the USB I create with rufus. No problems there. What I would like to do, is to take the system.iso image that normally runs under QEMU (x86_64), burn that to my USB stick (same way I put linux boot on there), and then boot the USB stick. The hardware will boot from the USB, and the image copy to the USB appears to work, since I've done that and booted linux. But I cannot seem to get the system.iso file to boot. I've tried UEFI boot, Classic boot, copy as UEFI image, and copy as DD image. It seems to ignore the USB drive and (by default) boot windows from the NVME drive. The device has no serial port. Just an HDMI screen with USB mouse and keyboard. It does have ethernet ports and I could try that, but it doesn't appear that the UEFI bios supports TFTP.
We'll investigate the USB/ISO problem.
How do I take my QEMU work and boot it on a real PC?
To get your L4Re setup booting on real hardware for now, here is what you can do:
1. Install Debian on your machine. 2. Build an export pack of your L4Re scenario 3. Copy it to your Debian machine 4. Reboot
Ok, a little bit more details :-)
1. This should be fairly straight forward.
2. Change into your L4Re build directory. You need to create a temporary directory e.g. with
``` $ mktemp -d /tmp/tmp.soGNjpmduF ```
Then you can create an export pack with (replace the entry name with your entry)
``` $ make exportpack EXPORTPACKTARGETDIR=/tmp/tmp.soGNjpmduF E=hello ```
In `/tmp/tmp.soGNjpmduF` you will find all binaries and config files plus a `grub.cfg` with a menu entry for grub2.
3. You copy all the binaries and config files to your Debian machine to `/boot/l4re/`.
Then you copy `grub.cfg` to your Debian machine to `/boot/grub/custom.cfg`.
Then you need to do some adaptions to `/boot/grub/custom.cfg`.
You need to load the `multiboot2` module. Insert `insmod multiboot2` as the first line into the menuentry.
And finally you need to adapt the path to the binaries. For exampel the line
``` multiboot2 /bootstrap /bootstrap ```
becomes
``` multiboot2 /boot/l4re/bootstrap /bootstrap ```
4. Now reboot. The grub menu should display your L4Re entry. Select and boot.
Best, Matthias.
Thanks!
Richard
l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de To unsubscribe send an email to l4-hackers-leave@os.inf.tu-dresden.de