Using the MH-USB Disk¶
Organisation of the MH-USB Disk¶
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
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.
Booting on physical computer¶
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.
Booting on a virtual machine¶
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.)
Booting a virtual machine with SeaBIOS¶
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.
Booting a virtual machine with a UEFI BIOS¶
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
Writing an image to another USB drive¶
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!]
Working with Raspberry Pi images¶
[TODO: Include details with screenshots]