¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Slackware ARM sobre una Raspberry Pi 4
La Raspberry Pi 4 fue lanzada el 24 de junio de 2019. Las caracteristicas del dispositivo Broadcom BCM2711B0 SoC incorpora una CPU Quad-core ARMv8 Cortex-A72 [64 bit] @ 1.5GHz, VideoCore VI GPU @ 500MHz, y viene en tres variaciones diferentes con 1GB, 2GB, o 4GB LPDDR4 SDRAM @ 2400MHz instalada.
Esta computadora ARM de placa única revisada y mejorada sucede a la computadora Raspberry Pi (3), y es aproximadamente 2,5 veces más rápida y sin duda más potente. Wi-Fi y Bluetooth están incluidos sobre la placa. Tiene una verdadera placa de red ethernet Gigabit que tiene un controlador dedicado, el cual ya no está compartido con el bus USB. El dispositivo también cuenta con 2x USB 3.0 y 2x puertos USB 2.0. Aun no tiene reloj de tiempo real (RTC). Slackware ARM funciona perfectamente en este dispositivo, como es de esperar. El escritorio es mucho más rápido y sensible. Los tiempos de compilación se reducen a la mitad en comparación con el RPi3. La Raspberry Pi es apoyada fuera del árbol oficial de Slackware ARM por la comunidad de Slackware.
Slackware versión 14.2, -current
Slackware ARM puede ser instalado sobre una Raspberry Pi 4.
Siga los link (s) en la tabla de abajo. Estos son mantenidos por un autor separado como parte de la comunidad Slackware-sobre-Raspberry Pi.
Sitio | Versiones de Slackware | Usando paquetes oficiales de Slackware | métodos de instalación | Notas |
---|---|---|---|---|
Proyecto SARPi | 14.2,-current | Si | Instalador de Slackware | Un tutorial de principio a fin que le guiará a través del proceso de instalación y configuración. |
AArch64 ARM64 [Experimental], Slackware ARM -current
Experimental, desarrollo, y prototipos, Slackware AArch64 ARM64 link(s).
Site | Versiones de Slackware | Usa paquetes oficiales de Slackware | Métodos de Instalación | Notas |
---|---|---|---|---|
Proyecto SARPi64 | -current | Si | Instalador de Slackware | Un proyecto de desarrollo para Slackware ARM ejecutandose sobre AArch64 [ARMv8] kernel y módulos. Experimental en naturaleza y propósito. |
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 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. However, it should work for other Slackware ARM and Raspberry Pi versions.
1. Partition and format the SD Card
$ 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
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
$ 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
3. Put the Slackware ARM mini root file system in the SD Card
$ 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
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.
$ ssh root@raspberrypi
As soon as you are logged, you might want to install additional Slackware ARM packages:
$ 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
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 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:
$ cpufreq-info
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:
echo ondemand | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
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:
ntpdate pool.ntp.org
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:
$ 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
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:
dtoverlay=vc4-fkms-v3d
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:
$ glxgears
Now, the video is correctly set.