1
0
Fork 0
mirror of https://gitlab.com/bztsrc/bootboot.git synced 2023-02-13 20:54:32 -05:00
bztsrc--bootboot/images
2020-09-02 11:35:56 +02:00
..
config Fully featured bootable disk creator 2020-06-18 11:17:49 +02:00
disk-rpi.img.gz Fixed ISO9660 parent dirs 2020-07-27 16:27:50 +02:00
disk-x86.img.gz Optional memory scan on UEFI, fixed issue #19 2020-09-02 11:35:56 +02:00
initrd.rom.gz mkbootimg improvements 2020-06-20 05:00:46 +02:00
Makefile Fixed issue #18 and CDROM parent dirs 2020-07-26 17:22:19 +02:00
mkbootimg.json Fully featured bootable disk creator 2020-06-18 11:17:49 +02:00
OLVASSEL.md mkbootimg improvements 2020-06-20 05:00:46 +02:00
README.md mkbootimg improvements 2020-06-20 05:00:46 +02:00

BOOTBOOT Example Bootable Disk Images

See BOOTBOOT Protocol for common details.

  • disk-rpi.img.gz: an example image for AArch64 and RaspberryPi 3 and 4
  • disk-x86.img.gz: an example image for x86_64 (CDROM, BIOS, UEFI)
  • initrd.rom.gz: an example initrd ROM image (for embedded BIOS systems)

Before you can use the images, uncompress them with gzip -d. I've used mkbootimg to generate these images, and I recommend USBImager or dd to write them to physical disks.

The disk-x86.img is a special hybrid image, which can be renamed to disk-x86.iso and then burnt to a CDROM; it can also be booted from an USB stick in a BIOS machine as well as in an UEFI machine.

The disk-rpi.img can be written to an SDCard (Class 10) and booted on a Raspberry Pi 3 and 4.

The disk images contain only one boot partition. Feel free to use fdisk and add more partitions to your needs, or modify mkbootimg.json and add more elements to the partitions array.

Compilation

See mkbootimg.json. Look at the beginning of the Makefile too, you'll find configurable variables there.

  • PLATFORM: either "x86" or "rpi", this selects which disk image to create
  • OVMF: path to the EFI firmware image

Then just run make.

Testing

To test BOOTBOOT in qemu, you can use:

make rom

Will boot the example kernel from ROM (via BIOS Boot Spec, diskless test).

make bios

Will boot the example kernel from disk (using BIOS).

make cdrom

Will boot the example kernel in El Torito "no emulation" mode (BIOS).

make efi

Will boot the example kernel from disk using UEFI. You must provide your own TianoCore image, and set the path for it in the Makefile.

make eficdrom

Will boot the example kernel under UEFI from CDROM.

make grubcdrom

Will create a cdrom image using grub-mkrescue and boot BOOTBOOT using Multiboot.

make linux

Will boot the example kernel by booting BOOTBOOT via the Linux/x86 Boot Protocol.

make sdcard

Will boot the example kernel from SDCard emulating "raspi3" machine under qemu (requires qemu-system-aarch64).