[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howtos:hardware:arm:raspberrypi3 [2016/08/14 23:40 (UTC)] – added 14.2 to RPi info exaga | howtos:hardware:arm:raspberrypi3 [2021/05/16 16:57 (UTC)] – Updated URL for SARPi Project exaga | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Slackware ARM on the Raspberry Pi 3 ====== | + | ===== Slackware ARM on the Raspberry Pi 3 ===== |
The Raspberry Pi 3 has a Broadcom BCM2837 SoC incorporating a Quad-core ARMv8 Cortex-A53 [64 bit] CPU @ 1.2GHz and VideoCore IV GPU @ 400MHz, and comes with 1GB LPDDR2 SDRAM @ 900MHz. This revised and upgraded ARM single board computer succeeds the [[howtos: | The Raspberry Pi 3 has a Broadcom BCM2837 SoC incorporating a Quad-core ARMv8 Cortex-A53 [64 bit] CPU @ 1.2GHz and VideoCore IV GPU @ 400MHz, and comes with 1GB LPDDR2 SDRAM @ 900MHz. This revised and upgraded ARM single board computer succeeds the [[howtos: | ||
Line 5: | Line 5: | ||
The Raspberry Pi 3 is supported outside of the official Slackware ARM tree by the Slackware community. | The Raspberry Pi 3 is supported outside of the official Slackware ARM tree by the Slackware community. | ||
+ | ==== Slackware releases 14.2, -current ==== | ||
- | === Slackware | + | Slackware |
Follow the link(s) in the table below. These are maintained by a separate author as part of the Slackware-on-Raspberry Pi community. | Follow the link(s) in the table below. These are maintained by a separate author as part of the Slackware-on-Raspberry Pi community. | ||
^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^ | ^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^ | ||
- | | [[http://rpi3.fatdog.eu/|fatdog]] | 14.1, 14.2 | Yes | Slackware installer | An end-to-end HOW TO guiding | + | | [[https://sarpi.penthux.net/|SARPi Project]] | 14.2,-current |
- | As long you use the most recent raspbian image and firmware the [[howtos: | + | ==== AArch64 ARM64 [Experimental], Slackware ARM -current ==== |
+ | Experimental, | ||
+ | |||
+ | ^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^ | ||
+ | | [[https:// | ||
+ | |||
+ | |||
+ | ==== Manual install method ==== | ||
+ | |||
+ | This method is for installing Slackware ARM 14.2 on a Raspberry Pi 3 Model B. | ||
+ | However, it should work for other Slackware ARM and Raspberry Pi versions. | ||
+ | |||
+ | === 1. Partition and format the SD Card === | ||
+ | |||
+ | < | ||
+ | $ sudo fdisk -l / | ||
+ | |||
+ | Disk / | ||
+ | 4 heads, 16 sectors/ | ||
+ | Units = sectors of 1 * 512 = 512 bytes | ||
+ | Sector size (logical/ | ||
+ | I/O size (minimum/ | ||
+ | Disk identifier: 0x00000000 | ||
+ | |||
+ | Device Boot Start | ||
+ | / | ||
+ | / | ||
+ | $ sudo mkfs.vfat / | ||
+ | $ sudo mkfs.ext4 / | ||
+ | </ | ||
+ | |||
+ | Remarks: | ||
+ | * I use a 32 GB SD Card | ||
+ | * I choose 32 MB for the size of the first partition | ||
+ | * I let the empty space left for the second partition | ||
+ | |||
+ | === 2. Put the Raspberry Pi firmware in the SD Card === | ||
+ | |||
+ | < | ||
+ | $ git clone https:// | ||
+ | $ sudo mount / | ||
+ | $ sudo cp -r firmware/ | ||
+ | $ sudo umount ~/mnt | ||
+ | $ sudo mount / | ||
+ | $ sudo mkdir -p ~/ | ||
+ | $ sudo cp -r firmware/ | ||
+ | $ sudo umount ~/mnt | ||
+ | </ | ||
+ | |||
+ | === 3. Put the Slackware ARM mini root file system in the SD Card === | ||
+ | |||
+ | < | ||
+ | $ wget -c ftp:// | ||
+ | $ sudo mount / | ||
+ | $ sudo tar -C ~/mnt -xf slack-14.2-miniroot_01Jul16.tar.xz | ||
+ | $ echo "/ | ||
+ | $ echo "/ | ||
+ | $ echo " | ||
+ | $ PASSWD=$(openssl passwd -1 -salt cetkq/ | ||
+ | $ sudo sed -i " | ||
+ | $ sudo sed -i ' | ||
+ | $ echo " | ||
+ | $ sudo umount ~/mnt | ||
+ | </ | ||
+ | |||
+ | Remarks: | ||
+ | * I set '' | ||
+ | * I set DHCP on the '' | ||
+ | * I allow the '' | ||
+ | |||
+ | === 4. Insert the SD Card in the Raspberry Pi === | ||
+ | |||
+ | Your SD Card is ready so you can insert it in the Raspberry Pi and boot. | ||
+ | |||
+ | You can connect remotely to your Raspberry Pi as '' | ||
+ | < | ||
+ | $ ssh root@raspberrypi | ||
+ | </ | ||
+ | |||
+ | As soon as you are logged, you might want to install additional Slackware ARM packages: | ||
+ | < | ||
+ | $ wget --mirror ftp:// | ||
+ | $ upgradepkg --install-new ftp.arm.slackware.com/ | ||
+ | $ removepkg ftp.arm.slackware.com/ | ||
+ | </ | ||
+ | |||
+ | Remarks: | ||
+ | * I consider that the Raspberry Pi hostname is '' | ||
+ | * I recommend to add a normal user by using the '' | ||
+ | * I recommend to change the '' | ||
+ | * I recommend to disallow the '' | ||
+ | * I recommend to [[https:// | ||
+ | * I recommend to change the '' | ||
+ | |||
+ | === 5. Tips and tricks === | ||
+ | |||
+ | == 5.1. Bluetooth == | ||
+ | |||
+ | The Raspberry Pi has a Broadcom chip providing Bluetooth. | ||
+ | However, the required firmware is not installed on Slackware ARM. | ||
+ | It means that you need to download and install it: | ||
+ | < | ||
+ | $ git clone https:// | ||
+ | $ mkdir -pv / | ||
+ | $ cp -v misc-firmware/ | ||
+ | </ | ||
+ | Then build your own Slackware ARM '' | ||
+ | |||
+ | In order to enable Bluetooth you need to add the Bluetooth module, run the Bluetooth daemon, attach the device then open and initialize the device. | ||
+ | Add the following lines to the end of the ''/ | ||
+ | < | ||
+ | if ps axc | grep -q bluetoothd; then | ||
+ | killall bluetoothd | ||
+ | fi | ||
+ | if ps axc | grep -q hciattach; then | ||
+ | killall hciattach | ||
+ | fi | ||
+ | if lsmod | grep -q hci_uart; then | ||
+ | rmmod hci_uart | ||
+ | fi | ||
+ | if lsmod | grep -q btbcm; then | ||
+ | rmmod btbcm | ||
+ | fi | ||
+ | modprobe btbcm | ||
+ | bluetoothd & | ||
+ | while ! hciattach / | ||
+ | echo " | ||
+ | done | ||
+ | hciconfig hci0 up | ||
+ | </ | ||
+ | Remark: Sometimes there is a failure with the '' | ||
+ | |||
+ | You can check that Bluetooth is working by typing: | ||
+ | < | ||
+ | $ hcitool dev | ||
+ | $ hcitool scan | ||
+ | $ sudo bluetoothctl | ||
+ | </ | ||
+ | Now, the Bluetooth is correctly set. | ||
+ | |||
+ | == 5.2. Keyboard == | ||
+ | |||
+ | The default keyboard map on Slackware ARM is the one of United Kingdom. | ||
+ | If you want to load an other keyboard map, edit the ''/ | ||
+ | |||
+ | If you want to change the keyboard layout for X11, you need to copy the X11 configuration file then edit it: | ||
+ | < | ||
+ | Now, the keyboard is correctly set. | ||
+ | |||
+ | == 5.3. Memory == | ||
+ | |||
+ | Unfortunately, | ||
+ | It means that you will eventually not be able to run some applications requiring more memory. | ||
+ | However, you can extend your memory by creating a temporary 4 GB swap partition: | ||
+ | < | ||
+ | $ dd if=/ | ||
+ | $ mkswap /tmp/swap | ||
+ | $ sudo swapon /tmp/swap | ||
+ | </ | ||
+ | |||
+ | You can check the current memory by typing: | ||
+ | < | ||
+ | Now, the memory is correctly set. | ||
+ | |||
+ | == 5.4. Processor == | ||
+ | |||
+ | The Raspberry Pi processor can reach 1.2 GHz. | ||
+ | However, by default, it is stuck to 600 MHz even if it is used at 100%. | ||
+ | You can check the current frequency of the processor by typing: | ||
+ | < | ||
+ | |||
+ | In order to reach 1.2 GHz when the processor is used at 100% (i.e., use the frequency scaling), you need to change the default governors. | ||
+ | Add the following line to the end of the ''/ | ||
+ | < | ||
+ | Now, the processor is correctly set. | ||
+ | |||
+ | == 5.5. Time == | ||
+ | |||
+ | Unfortunately, | ||
+ | That is why there is no battery included with the board. | ||
+ | It means that each time you shutdown the Raspberry Pi, the time is reset! | ||
+ | However, if you have internet access, you can update the time during the Slackware ARM boot. | ||
+ | Add the following line to the end of the ''/ | ||
+ | < | ||
+ | Now, the time is correctly set. | ||
+ | |||
+ | == 5.6. Video == | ||
+ | |||
+ | Unfortunately, | ||
+ | It means that, by default, each application requiring OpenGL will be slow. | ||
+ | However, you can reach 60 FPS with OpenGL applications on the Raspberry Pi by using the correct driver. | ||
+ | |||
+ | Firstly, you need to build Mesa (>= 17.1.10) with the VC4 DRI driver: | ||
+ | < | ||
+ | $ CFLAGS=" | ||
+ | CXXFLAGS=" | ||
+ | ./ | ||
+ | --prefix=/ | ||
+ | --sysconfdir=/ | ||
+ | --with-dri-driverdir=/ | ||
+ | --with-egl-platforms=x11, | ||
+ | --with-gallium-drivers=vc4 | ||
+ | $ make -j4 | ||
+ | $ make install DESTDIR=/ | ||
+ | </ | ||
+ | Then build your own Slackware ARM '' | ||
+ | |||
+ | Secondly, add the following line to the end of the ''/ | ||
+ | < | ||
+ | Then reboot the Raspberry Pi. | ||
+ | |||
+ | You can check that you are able to get 60 FPS with OpenGL applications on the Raspberry Pi by typing the following command in an X11 terminal: | ||
+ | < | ||
+ | |||
+ | An other problem with the video is that the default resolution is 1824x984. | ||
+ | It means that you can see black borders around your 1920x1080 screen. | ||
+ | In order to fix that, add the following line to the end of the ''/ | ||
+ | < | ||
+ | Then reboot the Raspberry Pi. | ||
+ | |||
+ | You can check that you are using a 1920x1080 resolution on the Raspberry Pi by typing the following command in an X11 terminal: | ||
+ | < | ||
+ | Now, the video is correctly set. | ||
+ | |||
+ | == 5.7. UART == | ||
+ | |||
+ | In the ''/ | ||
+ | Consequently, | ||
+ | < | ||
+ | |||
+ | An easy fix is to edit the ''/ | ||
+ | < | ||
+ | with this one: | ||
+ | < | ||
+ | Then reboot the Raspberry Pi. | ||
+ | Now, the UART is correctly set. | ||
===== Sources ===== | ===== Sources ===== | ||
* Originally written by [[wiki: | * Originally written by [[wiki: | ||
+ | * Contributions by [[wiki: | ||