TranquilOS

Download. Boot. Verify.

Prebuilt images are being prepared. For now, build from source.

QEMU Virt

tranquil-virt.img

target: qemu virt · aarch64size: 512 MB

Virtual-machine image for validating the boot flow, SMP, ramfb graphics, VirtIO devices and userspace services on a desktop host. Produced by ./run_qemu_virt.sh.

Not released
Raspberry Pi CM4

tranquil-cm4.img

target: cm4 · hardwaresize: 512 MB

Board image with the partitions and system content needed to boot a CM4 — for real-hardware boot, HDMI output and peripheral-path validation. Produced by ./run_board_cm4.sh.

Not released

Integrity: SHA-256 checksums will be published with the images.

Booting the virt image.

01Recommended: repo script

Full device parameters, display backend and debug options are maintained in run_qemu_virt.sh — prefer it.

02Place the image

Drop the downloaded tranquil-virt.img into the kernel repo's out/ directory; the script will reuse it.

03Hand-written args

If writing QEMU arguments yourself, match CPU, GIC, ramfb, VirtIO block/net/input/sound and serial settings to the QemuVirt platform config.

Flashing a Compute Module 4.

Writing to the wrong disk will overwrite other media — confirm the device at every step.

MACOS

diskutil + dd

After inserting the SD card or exposing CM4 eMMC in mass-storage mode:

diskutil list
diskutil unmountDisk /dev/diskN
sudo dd if=tranquil-cm4.img \
  of=/dev/rdiskN bs=4m \
  status=progress conv=sync
sync && diskutil eject /dev/diskN
LINUX

lsblk + dd

Write to the whole-disk device, never a partition node (e.g. sdX1):

lsblk
sudo umount /dev/sdX*
sudo dd if=tranquil-cm4.img \
  of=/dev/sdX bs=4M \
  status=progress conv=fsync
sync
RPIBOOT

Direct eMMC write

Set the USB boot jumper on the CM4 IO board, connect the host to the USB slave port:

rpiboot
# once the eMMC appears as a
# block device, follow the
# macOS / Linux steps above,
# then power off, remove the
# jumper and boot

What to verify after boot.

  • Serial log: bootloader, hypervisor, kernel and SystemDaemon come up in order; capability root, scheduler, IRQ/timer and service registration all complete
  • Display: virt and CM4 graphics targets show the 800×480 system canvas
  • Services: fsmgr, devmgr, windowmgr, appmgr register successfully; launcher, settings, files and other apps start
  • If it won't boot: check image integrity first, then whether you wrote to a whole-disk device, the CM4 boot jumper and the serial log