Skip to content

Commit 9b6226d

Browse files
ericonrflexibeast
authored andcommitted
arm-devices/platforms: create page, document RPi.
1 parent 63425b6 commit 9b6226d

2 files changed

Lines changed: 87 additions & 0 deletions

File tree

src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- [Installation via chroot (x86/x86_64)](./installation/guides/chroot.md)
1414
- [Full Disk Encryption](./installation/guides/fde.md)
1515
- [ARM Devices](./installation/guides/arm-devices/index.md)
16+
- [Supported platforms](./installation/guides/arm-devices/platforms.md)
1617
- [musl](./installation/musl.md)
1718
- [Configuration](./config/index.md)
1819
- [Manual Pages](./config/man.md)
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
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

Comments
 (0)