# Raspberry Pi This subfolder produces images that boot Dusk OS on a Raspberry Pi. This image is known to work on models: * 1 * 2 * 3 * Zero W * Zero 2 W The console outputs to the HDMI screen and takes its input from a USB keyboard that has to be connected to one of the USB ports at boot. If a USB mouse is connected at boot time, it will be picked up by the configuration and hooked to io/mouse. Detailed documentation is at Dusk's doc/hw/rpi.txt. ## Requirements Unlike other deployments, this one requires mtools[1]. It seems that the RPi needs FAT long filenames entries for it to find its boot files, something that Dusk's FAT doesn't have yet. [1]: https://www.gnu.org/software/mtools/ ## Usage Running "make" produces rpifat.img. This image is compatible with RPi models 1 2 and 3 (it contains both the model 1 kernel as kernel.img and the model 2/3 kernel as kernel7.img). "make emul1" will launch QEMU for the model 1, "make emul2" will do so for the model 2. The image contains everything it needs to be bootable by an actual RPi. All you need to do is to copy (dd) the raw image to a SD card. It should boot! The default init.fs sets up the framebuffer linked to the HDMI output as the console's output and expects a USB keyboard to be plugged to one of the USB ports. That keyboard is the input. For now, the Boot Protocol is used for communication with the keyboard, so it's possible that some models of USB keyboards don't work. The keyboard has to be plugged before powering on the Pi. ## UART version There is a uartinit.fs file in this directory that is an alternative boot configuration if, instead of having a USB keyboard and framebuffer grid as a console, you use a UART plugged on GPIO pins 14 and 15. To use it, copy this file over the init.fs file in the resulting rpifat.img image.