Skip to content

paigeadelethompson/void-uconsole

Repository files navigation

uConsole

Installation

  • Download the zipped image file from the releases page
  • Extract the image, and write it to an SD card: dd if=installer.bin of=/dev/mmcblk0 bs=1M status=progress
  • default username is pi no password is set, pi has sudo.

Linux kernel source

The source tree is added as a sub-tree to speed up the build process (from https://github.com/raspberrypi/linux.git); and locked to 3a33f11c48572b9dd0fecac164b3990fc9234da8 but it can be updated with git subtree (Note: patches in https://github.com/clockworkpi/uConsole.git depend on this commit, so it will likely need to be updated later.)

Image size

Minimum SD size is 4GB, to scale up:

qemu-img resize installer.bin 16G
losetup -P /dev/loop127 installer.bin
parted /dev/loop127

delete the second partition, and recreate it; then run:

btrfs filesystem resize +12G /dev/loop127p2
losetup -d /dev/loop127
dd if=installer.bin of=/dev/mmcblk0 bs=1M status=progress

QEmu testing

My current version of QEmu only has a raspi3b machine type, but the 4b is apparently supported in newer versions. For more info: https://www.qemu.org/docs/master/system/arm/raspi.html

use losetup and mount the first partition to retrieve the kernel and dtbs, then:

qemu-system-aarch64                                                                                           \
-M raspi3b                                                                                                    \
-kernel kernel8.img                                                                                           \
-dtb bcm2710-rpi-3-b.dtb                                                                                      \
-drive format=raw,file=installer.bin                                                                          \
-append "console=serial0,115200n8 console=tty0 root=/dev/mmcblk0p2 rootfstype=btrfs fsck.repair=yes rootwait" \
-netdev user,id=net0,net=169.254.0.0/16,dhcpstart=169.254.0.2,hostfwd=tcp::2222-:22                           \
-device usb-net,netdev=net0                                                                                   \
-device usb-kbd                                                                                               \
-device usb-mouse

Additional documentation