|
| 1 | +# Supported platforms |
| 2 | + |
| 3 | +## Raspberry Pi |
| 4 | + |
| 5 | +The `rpi-kernel` packages for all Raspberry Pi variants are built from the |
| 6 | +Raspberry Pi Foundation's kernel tree, which should enable all special |
| 7 | +functionality that isn't available with mainline kernels. The RPi kernel |
| 8 | +packages also have their own header packages, `rpi-kernel-headers`. These |
| 9 | +packages should be installed if you want to use any DKMS packages. Void ships |
| 10 | +`rpi-base` meta packages that depend on the relevant kernel and `rpi-firmware` |
| 11 | +packages, which together enable Wi-Fi and Bluetooth functionality. |
| 12 | + |
| 13 | +The [command line](../../../config/kernel.md#cmdline) parameters passed to the |
| 14 | +kernel are in the `rootfs/boot/cmdline.txt` file. Some of the relevant |
| 15 | +parameters are documented in the [official |
| 16 | +documentation](https://www.raspberrypi.org/documentation/configuration/cmdline-txt.md). |
| 17 | + |
| 18 | +### Raspberry Pi 3: 32-bit or 64-bit |
| 19 | + |
| 20 | +It is possible to run the RPi 2 images on an RPi 3, as the RPi 3's CPU supports |
| 21 | +both the Armv8 and Armv7 instruction sets. The difference between these images |
| 22 | +is that the RPi 2 provides a 32-bit system with packages from the Void `armv7l` |
| 23 | +repositories, while the RPi 3 image provides a 64-bit system with packages from |
| 24 | +the Void `aarch64` repositories. |
| 25 | + |
| 26 | +### Enabling hardware RNG device |
| 27 | + |
| 28 | +By default, the |
| 29 | +[HWRNG](https://en.wikipedia.org/wiki/Hardware_random_number_generator) device |
| 30 | +is not used by the system, which may result in the random devices taking long to |
| 31 | +seed on boot. This can be annoying if you want to start `sshd` and expect to be |
| 32 | +able to connect immediately. |
| 33 | + |
| 34 | +In order to fix this, install the `rng-tools` package and |
| 35 | +[enable](../../../config/services/index.md#enabling-services) the `rngd` |
| 36 | +service, which uses the `/dev/hwrng` device to seed `/dev/random`. |
| 37 | + |
| 38 | +### Graphical session |
| 39 | + |
| 40 | +The `mesa-dri` package contains drivers for all the Raspberry Pi variants, and |
| 41 | +can be used with the [modesetting Xorg |
| 42 | +driver](../../../config/graphical-session/xorg.md#modesetting) or |
| 43 | +[Wayland](../../../config/graphical-session/wayland.md). |
| 44 | + |
| 45 | +### Hardware |
| 46 | + |
| 47 | +More configuration information can be found in the Raspberry Pi Foundation's |
| 48 | +[official |
| 49 | +documentation](https://www.raspberrypi.org/documentation/configuration/). The |
| 50 | +`raspi-config` utility isn't available for Void Linux, so editing the |
| 51 | +`/boot/config.txt` file is usually required. |
| 52 | + |
| 53 | +#### Audio |
| 54 | + |
| 55 | +To enable the soundchip, add `dtparam=audio=on` to `/boot/config.txt`. |
| 56 | + |
| 57 | +#### Serial |
| 58 | + |
| 59 | +To enable serial console logins, |
| 60 | +[enable](../../../config/services/index.md#enabling-services) the |
| 61 | +`agetty-ttyAMA0` service. See |
| 62 | +[securetty(5)](https://man.voidlinux.org/securetty.5) for interfaces that allow |
| 63 | +root login and the kernel command line in `/boot/cmdline.txt` for start-up |
| 64 | +configuration of the serial port, done through the `console=ttyAMA0,115200` |
| 65 | +parameter. |
| 66 | + |
| 67 | +### I2C |
| 68 | + |
| 69 | +To enable [I2C](https://en.wikipedia.org/wiki/I%C2%B2C), add |
| 70 | +`device_tree_param=i2c_arm=on` to `/boot/config.txt`, and |
| 71 | +`bcm2708.vc_i2c_override=1` to `/boot/cmdline.txt`. Then, create a |
| 72 | +[modules-load(8)](https://man.voidlinux.org/modules-load.8) `.conf` file with |
| 73 | +the content below: |
| 74 | + |
| 75 | +``` |
| 76 | +i2c-dev |
| 77 | +``` |
| 78 | + |
| 79 | +Finally, install the `i2c-tools` package and use |
| 80 | +[i2cdetect(8)](https://man.voidlinux.org/i2cdetect.8) to verify your |
| 81 | +configuration. It should show: |
| 82 | + |
| 83 | +``` |
| 84 | +$ i2cdetect -l |
| 85 | +i2c-1i2c bcm2835 I2C adapter I2C adapter |
| 86 | +``` |
0 commit comments