[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.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howtos:hardware:arm:raspberrypi4 [2021/05/16 16:54 (UTC)] – [Slackware ARM on a Raspberry Pi 4] updated models description exagahowtos:hardware:arm:raspberrypi4 [2022/01/13 09:57 (UTC)] (current) mozes
Line 1: Line 1:
-===== Slackware ARM on a Raspberry Pi 4 =====+===== Slackware on a Raspberry Pi 4 =====
  
 The Raspberry Pi 4 was released on 24 June 2019. The device features a Broadcom BCM2711B0 SoC incorporating a Quad-core ARMv8 Cortex-A72 [64 bit] CPU @ 1.5GHz, VideoCore VI GPU @ 500MHz, and comes in four different variations with 1GB, 2GB, 4GB, and 8GB LPDDR4 SDRAM @ 2400MHz installed. This revised and upgraded ARM single-board computer succeeds the [[howtos:hardware:arm:raspberrypi3|Raspberry Pi (3)]], and is approx. 2.5 times faster and certainly more powerful. Wi-Fi and Bluetooth are included on-board. It has true Gigabit Ethernet that has a dedicated controller, which is not shared with the USB bus any more. The device also features 2x USB 3.0 and 2x USB 2.0 ports. Still no RTC though. Slackware ARM runs flawlessly on this device, as you would expect. The desktop is so much faster and responsive. Compile times are halved compared to the RPi3. The Raspberry Pi 4 was released on 24 June 2019. The device features a Broadcom BCM2711B0 SoC incorporating a Quad-core ARMv8 Cortex-A72 [64 bit] CPU @ 1.5GHz, VideoCore VI GPU @ 500MHz, and comes in four different variations with 1GB, 2GB, 4GB, and 8GB LPDDR4 SDRAM @ 2400MHz installed. This revised and upgraded ARM single-board computer succeeds the [[howtos:hardware:arm:raspberrypi3|Raspberry Pi (3)]], and is approx. 2.5 times faster and certainly more powerful. Wi-Fi and Bluetooth are included on-board. It has true Gigabit Ethernet that has a dedicated controller, which is not shared with the USB bus any more. The device also features 2x USB 3.0 and 2x USB 2.0 ports. Still no RTC though. Slackware ARM runs flawlessly on this device, as you would expect. The desktop is so much faster and responsive. Compile times are halved compared to the RPi3.
  
-The Raspberry Pi is supported outside of the official Slackware ARM tree by the Slackware community. 
  
-==== Slackware releases 14.2, -current ====+==== Slackware 64bit ARM/AArch64 ====
  
-Slackware ARM can be installed on the Raspberry Pi 4.+Slackware for the 64bit ARM/AArch64 platform (named 'Slackware AArch64' or 'SA64' for short) has support for the Raspberry Pi 4 directly integrated.
  
-Follow the link(s) in the table below. These are maintained by a separate author as part of the Slackware-on-Raspberry Pi community.+[[slackwarearm:inst_sa64_bcm2711_rpi4|Installation documentation.]]
  
-^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^ +==== Slackware 32bit ARM ====
-| [[http://sarpi.fatdog.eu/|SARPi Project]] | 14.2,-current | Yes | Slackware installer | An end-to-end HOW TO tutorial taking you through the installation and setup process. |+
  
 +Slackware 32bit ARM can be installed on the Raspberry Pi 4 with the aid of the SARPi project.  This project provides a replacement Linux Kernel and Raspberry Pi firmware packages, and installation documentation to install Slackware 32bit ARM (armv7).  The Operating System installed is the official Slackware ARM port, only the Kernel and firmware packages differ.
  
-==== AArch64 ARM64 [Experimental], Slackware ARM -current ==== +Follow the link(s) in the table below. These are maintained by a separate author as part of the Slackware-on-Raspberry Pi community.
- +
-Experimental, development, and prototype, Slackware AArch64 ARM64 link(s).+
  
 ^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^ ^ Site ^ Slackware versions ^ Using official Slackware packages ^ Installation methods ^ Notes ^
-| [[http://sarpi64.fatdog.eu/|SARPi64 Project]] | -current | Yes | Slackware installer | A development project for Slackware ARM running AArch64 [ARMv8] kernel and modules. **Experimental in nature and purpose.** | +| [[https://sarpi.penthux.net/|SARPi Project]] | 14.2,-current Yes | Slackware installer An end-to-end HOW TO tutorial taking you through the installation and setup process|
- +
- +
-==== Manual install method without a Raspbian image ==== +
- +
-As long you use the most recent release of firmware [i.e. post-June 2019] and the latest Raspbian Buster image the [[howtos:hardware:arm:raspberrypi|Raspberry Pi 1 manual install method]] also works for the Pi 4. +
- +
-This method is for installing Slackware ARM 14.2 on a Raspberry Pi 4 Model B without a Raspbian image. +
-Howeverit should work for other Slackware ARM and Raspberry Pi versions. +
- +
-=== 1. Partition and format the SD Card === +
- +
-<code> +
-$ sudo fdisk -l /dev/mmcblk0 +
- +
-Disk /dev/mmcblk0: 31.9 GB, 31914983424 bytes +
-4 heads, 16 sectors/track, 973968 cylinders, total 62333952 sectors +
-Units = sectors of 1 * 512 = 512 bytes +
-Sector size (logical/physical): 512 bytes / 512 bytes +
-I/O size (minimum/optimal): 512 bytes / 512 bytes +
-Disk identifier: 0x00000000 +
- +
-        Device Boot      Start         End      Blocks   Id  System +
-/dev/mmcblk0p1            2048       67583       32768    b  W95 FAT32 +
-/dev/mmcblk0p2           67584    62333951    31133184   83  Linux +
-$ sudo mkfs.vfat /dev/mmcblk0p1 +
-$ sudo mkfs.ext4 /dev/mmcblk0p2 +
-</code> +
- +
-Remarks: +
-  * I use a 32GB SD Card +
-  * I choose 32MB 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 === +
- +
-<code> +
-$ git clone https://github.com/raspberrypi/firmware.git +
-$ sudo mount /dev/mmcblk0p1 ~/mnt +
-$ sudo cp -r firmware/boot/* ~/mnt +
-$ sudo umount ~/mnt +
-$ sudo mount /dev/mmcblk0p2 ~/mnt +
-$ sudo mkdir -p ~/mnt/lib/modules +
-$ sudo cp -r firmware/modules/* ~/mnt/lib/modules +
-$ sudo umount ~/mnt +
-</code> +
- +
-=== 3. Put the Slackware ARM mini root file system in the SD Card === +
- +
-<code> +
-$ wget -c ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots/slack-14.2-miniroot_01Jul16.tar.xz +
-$ sudo mount /dev/mmcblk0p2 ~/mnt +
-$ sudo tar -C ~/mnt -xf slack-14.2-miniroot_01Jul16.tar.xz +
-$ echo "/dev/mmcblk0p1 /boot vfat defaults 0 0" sudo tee ~/mnt/etc/fstab +
-$ echo "/dev/mmcblk0p2 /     ext4 defaults 0 0" sudo tee -a ~/mnt/etc/fstab +
-$ echo "proc           /proc proc defaults 0 0" | sudo tee -a ~/mnt/etc/fstab +
-$ PASSWD=$(openssl passwd -1 -salt cetkq/enZx6/c2 password) +
-$ sudo sed -i "s|\(root:\).*\(:16983:0:::::\)|\1${PASSWD}\2|" ~/mnt/etc/shadow +
-$ sudo sed -i 's|USE_DHCP\[1\]=""|USE_DHCP\[1\]="yes"|' ~/mnt/etc/rc.d/rc.inet1.conf +
-$ echo "PermitRootLogin yes" | sudo tee -a ~/mnt/etc/ssh/sshd_config +
-$ sudo umount ~/mnt +
-</code> +
- +
-Remarks: +
-  * I set "password" as password for the "root" user +
-  * I set DHCP on the "eth1" network interface +
-  * I allow the "root" user to connect through SSH +
- +
-=== 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 "root" through SSH. +
-<code> +
-$ ssh root@raspberrypi +
-</code> +
- +
-As soon as you are logged, you might want to install additional Slackware ARM packages: +
-<code> +
-$ wget --mirror ftp://ftp.arm.slackware.com/slackwarearm/slackwarearm-14.2 +
-$ upgradepkg --install-new ftp.arm.slackware.com/slackwarearm/slackwarearm-14.2/slackware/*/*.txz +
-$ removepkg ftp.arm.slackware.com/slackwarearm/slackwarearm-14.2/slackware/*/kernel_*.txz +
-</code> +
- +
-Remarks: +
-  * I consider that the Raspberry Pi hostname is "raspberrypi" +
-  * I recommend to add a normal user and use this user instead of "root" +
-  * I recommend to change the "root" user password +
-  * I recommend to disallow the "root" user to connect through SSH +
-  * I recommend to [[https://www.raspberrypi.org/documentation/linux/kernel/building.md|build your own Linux kernel]] packages because the kernel you are running does not match with the installed Slackware ARM packages +
- +
-=== 5. Tips and tricks === +
- +
-== 5.1. Processor == +
- +
-The Raspberry Pi processor can reach 1.2GHz. +
-However, by default, it is stuck to 600MHz even if it is used at 100%. +
-You can check the current frequency of the processor by typing: +
-<code>$ cpufreq-info</code> +
- +
-In order to reach 1.2GHz 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 ''/etc/rc.d/rc.local'' file: +
-<code>echo ondemand | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor</code> +
-Now, the processor is correctly set. +
- +
-== 5.2. Time == +
- +
-Unfortunately, the Raspberry Pi does not provide a Real-Time Clock (RTC). +
-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 ''/etc/rc.d/rc.local'' file: +
-<code>ntpdate pool.ntp.org</code> +
-Now, the time is correctly set. +
- +
-== 5.3. Video == +
- +
-Unfortunately, the Raspberry Pi is not compatible with OpenGL (it is compatible OpenGL ES that is a subset of OpenGL). +
-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.0.4) with the VC4 DRI driver: +
-<code> +
-$ CFLAGS="-O2 -march=armv8-a -mtune=cortex-a53 -mfloat-abi=softfp -mfpu=neon-vfpv4"+
- CXXFLAGS="-O2 -march=armv8-a -mtune=cortex-a53 -mfloat-abi=softfp -mfpu=neon-vfpv4"+
- ./configure \ +
- --prefix=/usr \ +
- --sysconfdir=/etc \ +
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \ +
- --with-egl-platforms=x11,drm \ +
- --with-gallium-drivers=vc4 +
-$ make -j4 +
-$ make install DESTDIR=/where/you/want/to/install +
-</code> +
-Then build your own Slackware ARM Mesa package and install it.+
  
-Secondly, add the following line to the end of the ''/boot/config.txt'' file: 
-<code>dtoverlay=vc4-fkms-v3d</code> 
-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 X terminal: 
-<code>$ glxgears</code> 
  
-Now, the video is correctly set. 
 ===== Sources ===== ===== Sources =====
  
 howtos:hardware:arm:raspberrypi4 ()