The files on the MH-USB disk are arranged as follows:
MH-USB/
/OS/ <-- Contains OS Images
/Tools/ <-- Contains some tools and software
/RPi/ <-- OS Images for the Raspberry Pi
/ventoy/ <-- Config files for the Ventoy/Grub2 bootloader
(Important - do not modify!)
The MH-USB partition of the USB disk is formatted with exFAT. This enables universal access to the data on any operating system that supports exFAT.
You boot the USB disk on a physical computer (dekstop, laptop, single-board computer or laptop) by simply plugging it in and choosing it as a boot device.
The MH-USB runs the GRUB2 boot loader and will boot just fine with a "legacy" BIOS or UEFI BIOS.
The USB make would show up as a USB disk called "Generic Flash Drive":
Just choose it as the boot device and you will be greeted by the MH-USB boot screen.
You can also boot the USB using a virtual machine. On a GNU/Linux system, one can use QEMU to boot the USB.
First check the device name assigned to the USB disk. A quick way to
check it out would be to use the lsblk
command like this:
$ lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d" " -f1
NAME="sdb"
The command above will list out all the USB disks attached to your computer. (Actually, all "HOTPLUG" storage devices - which includes USB storage.)
To boot the USB disk using QEMU + SeaBIOS, install the qemu
package
from your GNU/Linux OS repository and then run:
$ DEVICE=`lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d"\"" -f2`
$ sudo qemu-system-x86_64 \
-enable-kvm -rtc base=localtime -m 2G -vga std \
-drive file=/dev/$DEVICE,readonly=on,cache=none,format=raw,if=virtio
This will boot the USB via QEMU and show you the boot screen in a popup window.
If you want to try booting the USB with QEMU with the tianocore
UEFI BIOS, first install the OVMF
(Open Virtual Machine Firmware) packages. On Debian and Debian-based distributions run:
# apt-get install ovmf
$ BIOS="/usr/share/qemu/OVMF.fd"
On Archlinux-based distributions run:
# pacman -S edk2-ovmf
$ BIOS="/usr/share/edk2-ovmf/x64/OVMF.fd"
$ DEVICE=`lsblk -o NAME,SIZE,HOTPLUG -P -d | grep "HOTPLUG=\"1\"" | cut -d"\"" -f2`
$ sudo qemu-system-x86_64 \
-bios $BIOS \
-enable-kvm -rtc base=localtime -m 2G -vga std \
-drive file=/dev/$DEVICE,readonly=on,cache=none,format=raw,if=virtio
While a multi-boot USB is nice, there might be times when you want to write an OS image to another
USB disk. The MH-USB includes the "RaspberryPi Imager" (rpi-imager
) tool to help you write an OS
image to a USB disk safely and quickly.
You can run the the rpi-imager
directly from the USB. Insert the MH-USB into a GNU/Linux (or
Windows) computer and mount it. In the Tools/
directory on the USB, you will see binaries for the
Raspberry Pi imager. You can use it to write any of the bootable operating system images to another
USB.
[TODO: Include more details and screenshots!]
[TODO: Include details with screenshots]