rpivm
is a set of scripts designed to facilitate the setup and running of QEMU-based virtual machines using Raspberry Pi hardware specifications. This includes converting disk images, setting up virtual network configurations, and managing guest OSes.
- Supported Architectures: AArch64
- CPU Models: cortex-a76
- Memory Allocation: 4GB
- Storage Formats: QEMU QCOW2 format
If you have a Pop_OS! image, you can copy its kernel and initram from it. After mounting raw image via Finder copy kernel and initrd. Rename to vmlinuz
and initrd.img
.
Convert a raw disk image to a QCOW2 format:
./convert-image.sh input.raw output.qcow2
Run the virtual machine using run.sh
. Replace <path_to_image>
with the path to your QEMU image file.
./run.sh <path_to_image>
The scripts use a user mode network setup. This allows for host-to-guest and guest-to-host communication on port 2222, which is forwarded from localhost to the VM's SSH server.
To convert an image file named 2024-11-19-raspios-bookworm-arm64.img
to a QCOW2 format:
./convert-image.sh 2024-11-19-raspios-bookworm-arm64.img raspian.qcow2
Then, run the virtual machine:
./run.sh raspian.qcow2
- Ensure QEMU is installed on your system. You can install it using Homebrew:
brew install qemu
.
If you encounter any issues or have questions, please contact [Your Name] at [your email address].
This project is licensed under the MIT license. See the LICENSE file for more details.