Slackware ARM on a Raspberry Pi
The Raspberry Pi 4 Model B
On 24 June 2019, in an unforeseen move which took the world by complete surprise, the Raspberry Pi 4 Model B was unveiled and released to the public by Raspberry Pi (Trading) Ltd. and became the latest addition to the Raspberry Pi single-board microcomputer family. On it's release, the device was termed as a 'comprehensive upgrade', by Eben Upton [Chief Executive of Raspberry Pi (Trading) Ltd.] while promising, "For the first time we provide a PC-like level of performance for most users." So, why does the news about the RPi4 come as a stark revelation? On 01 February 2019, Eben Upton gave a 'Raspberry Pi 4 status update' to Tom's Hardware in which he stated; "I don’t have a route to do something this year. I think we kind of understand what featureset we want [and] what would be involved in getting that featureset. I don’t think we have a defined plan for turning that into a product yet." Yet, in June 2019 (i.e. this year) the Raspberry Pi 4 became a bona fide, saleable, product. Hmm... (?)
So, it's possible that the Raspberry Pi 4 may have been somewhat rushed to market, considering Eben Upton's 'status update' in February 2019, but unlikely. His statements on the release of the Raspberry Pi 4 Model B are certainly bold claims. Especially for a device that's primarily untested in the wild [i.e. outside of Raspberry Pi Foundation's periphery] prior to it's release. From the multitude of potential purposes the Raspberry Pi 4 could be expected to fulfill, the SARPi Project is quite confident that Slackware ARM was not factored into any potential test-case equations or scenarios. It's going to be interesting, and fun, to see if the Raspberry Pi 4 lives up to expectations on this OS. If the claims are anywhere near accurate, this device should be seriously good.
Will the Raspberry Pi 4 Model B perform as advertised? Is it even capable? Or is it just hype intended to chaperone the device in a go-to-market strategy? In this review we aim to find the answer(s) to these questions, and more!
With the news that the Raspberry Pi 4 could offer "PC-like level of performance", we were very anxious to install and test how well Slackware ARM runs on this device. That's exactly what we did! The Raspberry Pi 4 Model B Review is the result.
NB: Given that the Raspberry Pi 4 has been created behind closed doors, manufacturers and suppliers of any 3rd-party RPi4 products; add-ons, cases, peripherals, cooling solutions, (etc.) will be playing catch-up. So, don't expect such items to be available on 24 June 2019, and be aware that it may take some time [after that date] for them to appear on the market. Of course, official Raspberry Pi paraphernalia can be purchased from their partner distributors and retail outlets.
Raspberry Pi 4 Model B Hardware
First let's take a look at; the Raspberry Pi 4 Model B, what's new, and what it has to offer.
Raspberry Pi 4 Model B - top view
The differences between the Raspberry Pi 4 and the Raspberry Pi 3B+ are significant. Not least of which is the fact that there were 3 variants of the RPi4B to choose from on release day. Possibly the best new feature of the RPi4B is the DDR4 @ 2400MHz RAM, which is available in model adaptations of 1GB, 2GB, and 4GB capacities. That's right. You can now purshase a Raspberry Pi 4 Model B with up to 4GB RAM. The 1GB version recommended retail price (RRP) is $35, the 2GB version RRP is $45, and the 4GB version RRP is $55. So this latest addition to the Raspberry Pi family is designed and available to better suit those with varying requirements and budgets. Which is a first for the creators of this ARM device, and partly the result of "Raspberry Pi (Trading) Ltd. taking notice of feedback and suggestions". Which is another first. Apparently.
The Broadcom BCM2711 Quad-core Cortex-A72 [ARMv8] 64-bit CPU, which is a vast improvement on the Cortex-A53, runs at a slightly higher clock speed of 1.5GHz and features a similiar heat-spreader on top of the SoC. There's a new Ethernet controller [Broadcom BCM54213PE] which is dedicated and no longer shared with the USB bus. Therefore, it's a true Gigabit Ethernet port meaning data transfer speeds should rocket in comparison to the RPi3B+! There's a new USB 3.0 hub controller [VLI VL805] handling the (2x) USB3 and (2x) USB2 ports. The HDMI port has been replaced with (2x) micro-HDMI ports which are 4K capable and driven by a VideoCore VI [VC6] GPU @ 500MHz that's built into the new Broadcom BCM2711B0 SoC. The RPi4B features Bluetooth 5.0 and Bluetooth Low Energy (BLE). Power management, achieved with the MaxLinear MxL7704 IC, has been revised to operate more efficiently.
Wireless features is one of the things that hasn't changed. The Cypress CYW43455 dual-band [2.4GHz & 5GHz] IEEE 802.11.b/g/n/ac WLAN is identical to the one featured on the RPi3B+. The same goes for the DSI [display] and CSI [camera] ports, 4-pin PoE header, composite 3.5mm jack socket, microSD card slot, the 40-pin extended GPIO header, and the 4x mounting holes on the board itself; which are all identical to the RPi3B+.
Notice "© Raspberry Pi 2018" screen-printed onto the RPi4 circuit board. Back in February 2019, Raspberry Pi (Trading) Ltd. [admittedly] had no defined plans for turning any ideas/concepts/prototypes into a product. So then, WHY does "2018" feature as the date of copyright/manufacture on the board? (LOL!?!?) The mind boggles. :-D
Raspberry Pi 4 Model B - underside view [microSD card slot]
Raspberry Pi 4 Model B New Layout
The first thing you might notice is (i.e. when you try to plug in your RPi3 power adapter and HDMI cable) that the familiar micro-USB [USB-B] power socket is missing and there's now TWO micro-HDMI ports. You will also see that the Ethernet port has swapped sides from that of it's predecessor. Another welcome new feature is the inclusion of (2x) USB 3.0 ports alongside the more familiar (2x) USB 2.0 ports, next to the Ethernet port. Obviously, the RPi2B/RPi3B[+] had 4x USB2 ports, but on the RPi4B you're losing a block (2x) of those USB2 ports in order for the (2x) USB3 ports to take their place.
Raspberry Pi 4 Model B - end view [USB2 (x2), USB3 (x2) & Gigabit Ethernet Ports]
The micro-USB [USB-B] power socket is now superfluous to requirements, because there's a brand new USB-C type (OTG) power socket in it's place. This is because the RPi4B requires more power to operate than the micro-USB socket was designed to handle. So, if you don't already have one, you're going to require a 5Volt @ 3.0Amp rated power supply with a USB-C connector. Or you can use a 'USB-B to USB-C adapter' (e.g. like this one) with any existing 5Volt @ +3Amp [micro-USB] power supply. [NB: Take note of the comment below!]
USB-C power supplies - not all will work with Raspberry Pi 4!
NB: On 28 June 2019 it was reported by Tyler Ward (aka scorpia) that the Raspberry Pi 4 does not work with some USB-C chargers due to incorrect detection circuitry on the Pi end of the USB connection. Therefore you might not be able to rely on any unofficial RPi power supply until you've tried and tested that it's working as expected.
On 08 July 2019, on techrepublic.com, the Raspberry Pi Foundation officially confirmed that not every USB-C cable will power the Pi. The Pi 4 doesn't receive power when used with electronically marked or e-marked USB-C cables, the type used by Apple MacBooks and other laptops. "A smart charger with an e-marked cable will incorrectly identify the Raspberry Pi 4 as an audio adapter accessory, and refuse to provide power," says Eben Upton. "I expect this will be fixed in a future board revision, but for now users will need to apply one of the suggested workarounds. It's surprising this didn't show up in our (quite extensive) field testing program."
To clarify, until further notice, the only PSU that's guaranteed to work is the official Raspberry Pi USB-C power supply.
The HDMI port has been replaced with (2x) micro-HDMI ports. So, a suitable micro-HDMI to HDMI cable, or micro-HDMI to HDMI adapter, will be needed because the one you may have used on previous versions of the Raspberry Pi(s) will not fit. The VideoCore VI (VC6) GPU is capable of a 4K @ 60fps display using a single micro-HDMI port. Using both micro-HDMI ports together, on a dual-screen setup, VideoCore VI is capable of a 4K @ 30fps display.
Raspberry Pi 4 Model B - side view [USB-C (OTG) Power socket, (2x) micro-HDMI ports, & 3.5mm audio/video jack socket]
It's worth noting that, unless you have a Raspberry Pi 3 case/enclosure with removable side panels, the Raspberry Pi 4 will not suit it due to the format and layout of the new micro-HDMI ports and USB-C power socket. Depending on the case/enclosure you may also find there are issues with the bank of USB2 and Ethernet ports swapping sides.
PoE (power over Ethernet)
The Raspberry Pi 4 Model B supports 'power over Ethernet' (PoE), which enables the device to be powered via the Ethernet (LAN) port. A 4-pin PoE header can be found on the board for this specific purpose, between the Ethernet port and GPIO header.
Raspberry Pi 4 Model B PoE Header (4-pin) location
A separate PoE HAT is required in order to power the Raspberry Pi 4 Model B via the Ethernet port.
Raspberry Pi 4 Model B[+] PoE HAT
The Raspberry Pi PoE HAT powers a Raspberry Pi 4 Model B via an Ethernet cable. Power-sourcing equipment is required on the Ethernet network.
Slackware ARM on the Raspberry Pi 4 Model B - Review
Slackware ARM -current [hard float port] has been installed on the Raspberry Pi 4 Model B [HW Rev: c03111], and has been running for approx. 3 days at the time of writing this review. While installing Slackware ARM the noticable vibrancy of the system was quite satisfying and the process took a shorter time than anticipated. Over these ~3 days, Slackware ARM has been performing a series of tasks, involving data transfer and compiling binary source code, amongst other things, for long periods. This was in order to test the stability and functionality of Slackware ARM on the RPi4 device, and that of the device itself. We set "gpu_mem=128" in /boot/config.txt to give us a very generous amount of video RAM to play with. After all, our Raspberry Pi 4 is a 4GB version and has lots of available RAM. Our RP4 was tested without any form of additional cooling methods. It was tested 'as-is', straight out of the box, vanilla-style. The microSD card we are using is a Kingston UHS-I U3 [32GB].
Once Slackware ARM had been installed, the Raspberry Pi 4 was certainly a lot quicker to; boot, load a [Xfce] desktop, update the OS, and perform faster in all other areas in general. So, it started to seem like this ARM device really was living up to the claims made about it! The added zest, with which Slackware ARM was operating, was due to the new RPi4 hardware, for sure.
The increase in speed of data-throughput on the Ethernet port, with the new Broadcom BCM54213PE 'dedicated Gigabit controller', is astounding. You probably won't believe your eyes when you compare it to previous RPi revisions. On the RPi4B we witnessed transfer speeds of +80Mb/sec on our test network. On the RPi3B+ we'll get ~30Mb/sec maximum on a good day. Data transfer speeds on the new USB 3.0 ports sees another dramatic increase in speed over USB 2, and are a very welcome upgrade/addition. Of course, the USB 2 ports operate at a speed to which we have become accustomed on previous RPi revisions.
Raspberry Pi 4 Model B - Thermal Statistics
It needs to be said that; the Raspberry Pi 4 Model B is not an ARM device that inherently operates at a cool-low temperature, with the CPU running [at anything] between 55-63 degrees Celsius when just idling at the command prompt. This is quite a bit higher than previous revisions of the Raspberry Pi, but not unjustified (i.e. ARM's A-Series CPUs are divided into three groups; "high-performance core", "high-efficiency core", or "ultra-efficiency core". The Cortex-A72 CPU on the RPi4B belongs to the "high-performance core" group and the Cortex-A53 CPU on the RPi3B+ belongs to the "high-efficiency core" group). Nonetheless, the device seems quite content to operate at these higher temperatures for long periods and Slackware ARM is more than happy to accommodate it. Other components also get hot, besides the SoC/CPU. The DDR4 RAM chip gets very warm, but then it's located right next to the SoC. When carrying out data transfer to a USB2/3 stick, plugged into the RPi4 ports, the USB controller runs so hot you can't touch it with your finger without instant discomfort. The USB ports themselves become hotter than you would expect too. The same can be said (to a slightly lesser extent) for the Ethernet controller chip. When you are downloading/uploading/tansferring files to and from the Internet, or another location on your network, the Ethernet controller chip runs quite hot. The micro-HDMI port(s) become very hot, very quickly, when a display is connected (NB: this is not apparent when running headless). The USB-C power socket gets quite warm/hot when the you're using the system for long periods. So, the Raspberry Pi 4 is (literally) one seriously HOT device under operation!
Raspberry Pi 4 Model B - CPU clock frequency and thermal status [idling at command prompt]
Using Xfce as a desktop the CPU/SoC will idle at approx. 65-72 degrees Celsius, and can quickly rise to thermal throttling temperatures, depending on workload. The desktop is very smooth and never jerky or lagged. It's pretty much instant, or at least very quick, in carrying out whatever you ask it to do. In a [Firefox] browser approx. 12-15 tabs were opened simultaneously and the RPi4 performed much like there was just 1 tab open. Which is quite impressive when you compare it to the performance of the RPi3B+ under the same conditions. But then having 4GB DDR4 @ 2400MHz RAM on our RPi4 [of which 128MB is assigned to the GPU] makes all the difference.
Raspberry Pi 4 Model B - CPU clock frequency and thermal status [idling in Xfce desktop]
The tool used to show the CPU clock speed and thermal status was designed by the SARPi Project for the purpose of monitoring and testing the RPi2/3, and updated for the RPi4. It is available to view and download here: cpu_status.sh
The ability to compile binaries from source is where the Raspberry Pi 4 was viewed as 'unexplored territory'. As far as the SARPi Project is concerned there was simply no data available at the time of this review to validate, or use as a standard. Slackware ARM is a rock-solid known quantity when it comes to compiling binary files from source code, and always has been. The RPi4 device boasts a quad-core Cortex-A72 (ARMv8) 64-bit CPU @ 1.5GHz and therefore should be more than capable of doing some hard work, hopefully for prolonged periods (i.e. longer than 10/15 minutes) constantly and consistantly. The only question was, "Would the built-in thermal throttling function hamper the device's ability to operate at peak performance?" Well, this was the time to find out! A series of test-runs were carried out on Slackware ARM, one after another, using all 4x CPU cores, for approx. 8 hours per test-session. During these periods the device's on-board temperature sensors and CPU clock frequencies were monitored constantly. Although, after compiling for 10-15 minutes, the CPU reached ~83 degrees Celsius and thermal throttling then lowered the CPU clock, it was a blink-of-an-eye thing. Thermal throttling controlled the temperature of the CPU and kept it between 75-83 degrees Celsius, and it never rose above that throughout. Neither Slackware ARM, nor the Rapberry Pi 4, were noticably slowed down due to any thermal throttling. Slackware ARM was stable and worked flawlessly throughout these testing periods. All compiled binary test-runs completed 100% successfully.
SARPi Project Review - Slackware ARM [Raspberry Pi 3 & 4] Binary Compile Speed-Test!
With the knowledge that our Slackware ARM system on the RPi4 was more than adequate at compiling binary files successfully, we set about doing some comparison testing between the Raspberry Pi 3B, 3B+, and 4B. We needed a clear set of values to substantiate the device's capabilites. If we are, in any way, able to accurately ascertain the efficacy of each device's performance then it will be realised through test results, such as these. [Which have been published below!] NB: The RPi3B has active cooling [25x25x6mm fan / 25x25x16mm heat-sink] installed. The RPi3B+ has passive cooling [23x23x17mm heat-sink] installed. The RPi4B has no additional cooling installed. All [4x] cores on each RPi version were utilised during this test. The test subject [i.e. the process we're using as a blueprint] is the complete SARPi build procedure which creates; a Slackware ARM installer image; RPi boot-firmware, kernel [4.19.56], and kernel_modules packages. Ambient room temperature was 23.4 degrees Celsius throughout this test.
SARPi Project test comparing binary source code compile times on the Raspberry Pi 3B, 3B+ and 4B using the same [SARPi4.SlackBuild] test subject:
• Raspberry Pi 3B : real 241m29.864s [4 hours 1 minute 30 seconds]
• Raspberry Pi 3B+ : real 227m42.149s [3 hours 47 minutes 42 seconds]
• Raspberry Pi 4B : real 157m58.119s [2 hours 37 minutes 58 seconds]
As you can see from our test results, the RPi4B (4GB DDR4) is somewhat quicker at compiling binary files from source code than it's ancestors.
** Further testing [on 2019-07-02] was carried out on our Raspberry Pi 4 Model B, a few days after the above build-tests. The reason for further testing was because the device needs to operate at a much lower temperature by means of an additional cooling solution. A heatsink had had been delivered and was ready to be tested! See the "SARPi Project TEST - The Raspberry Pi 4 Model B Thermal Challenge!" for details.
Slackware ARM on the Raspberry Pi 4 Model B - Review Conclusion
The Raspberry Pi 4 is certainly a worthy successor [of the RPi3B+] with big improvements in hardware and general speed. Slackware ARM runs much quicker on the Raspberry Pi 4 as a result. The Raspberry Pi 4 certainly does provide PC-like performance (of the Intel Atom type) on Slackware ARM which was most noticable on the desktop [Xfce], and during binary compilation, in our test-case. This device does run hotter than any other RPi version, which is something that should always be taken into consideration at all times. However, the copious amounts of heat it produces under operation does not appear to cause any problem(s) whatsoever. At no point, or period of time, during testing were there any issues, faults, problems, glitches, or otherwise, running Slackware ARM on the Raspberry Pi 4. Whether, or not, the higher running temperatures will effect the long-term reliability, and/or longevity, of this device is yet to be realised. Additional cooling solutions are strongly advised before undertaking any intensive tasks, or long-term/periods of running the Raspberry Pi 4 Model B.
The SARPi Project wholeheartedly recommends running Slackware ARM [hard float port] on the Raspberry Pi 4 Model B, with an emphasis on additional cooling solutions, and a power supply that's guaranteed to work with it. It is a very good platform on which to use Slackware ARM, for beginners, experts, and those who are eagre to learn or just curious about Slackware and want to see what they're missing out on! :-D
["Slackware ARM on the Raspberry Pi 4 Model B - Review" by Exaga - 30 Jun 2019]
It's not impossible, or improbable, to imagine a "Raspberry Pi 4 Model B+" being announced/released, with a decreased thermal footprint and greater power-efficiency. Or a "Raspberry Pi 5 Model B" for that matter [** Cortex-A73 CPU would be perfect, and 8GB RAM would be a bonus too!]. Perhaps the 29 February 2020 would be a suitable release date, *IF* such a device was in the offing. ;-P
You may be wondering...
Q. "Is it worth spending an extra $20 on the RPi4 4GB version compared to the $35 1GB version?"
A. Yes. It's a no-brainer. "As much RAM as you can get," is the general rule on any computer system.
Q. "Is it worth buying a Raspberry Pi 4 if I already have a Raspberry Pi 3B+?"
A. Yes. There are so many additional benefits the RPi4 has over the RPi3. Increased speed and time saved are the major factors. Same $35 price-tag for the RPi4B (1GB) version.
Q. "Is Slackware ARM better than Raspbian to install on the Raspberry Pi 4?"
A. Not better, because that's subjective. Slackware is arguably more fun and (by design) more involving/demanding than most other Linux operating systems. Slackware is also the best educational tool in existance on which to learn Linux.
Q. "How do I install Slackware ARM on a Raspberry Pi 4 Model B?"
A. Click this link, follow the instructions therein, and don't forget to put the kettle on first. ;-)
A case or enclosure for the Raspberry Pi 4 is advised because of the higher temperatures generated when using it. If you use it without a case or enclosure make sure it is not placed on a surface or object that may be damaged by excessive heat (i.e. +60 degrees Celsius) such as a plastic/anti-static bag or cardboard/paper. An additional cooling solution, such as a heat-sink or fan (perhaps both?), is purely optional but also strongly advised.
Raspberry Pi 4 Model B Hardware Revisions
There has been 3 revisions of the Raspberry Pi 4 Model B since it's initial release on 24 June 2019. The device is manufactured at Sony's facility in Pencoed, Wales.
The currently available Raspberry Pi 4 Model B revisions are:
|HW Revision||RAM||PCB Rev||Release Date||Manufacturer|
|a03111||1 GB||1.1||Q2 2019||Sony (UK)|
|b03111||2 GB||1.1||Q2 2019||Sony (UK)|
|c03111||4 GB||1.1||Q2 2019||Sony (UK)|
Raspberry Pi 4 Model B Spec's
• SoC: Broadcom BCM2711B0 System-on-Chip
• CPU: Broadcom BCM2711 Quad core Cortex-A72 (ARMv8) 64-bit @ 1.5GHz
• GPU: Broadcom VideoCore VI @ 500 MHz
• RAM: 1GB, 2GB, 4GB LPDDR4 SDRAM @ 2400MHz
• LAN: Broadcom BCM54213PE Gigabit Ethernet
• WLAN: Cypress CYW43455 dual-band [2.4GHz & 5GHz] IEEE 802.11.b/g/n/ac
• USB3: VLI VL805 USB 3.0 Hub controller
• Bluetooth 5.0 and Bluetooth Low Energy (BLE)
• Power over Ethernet (PoE)–enabled (requires a separate PoE HAT)
• 2x USB 3.0 ports
• 2x USB 2.0 ports
• Extended 40-pin GPIO header
• Micro Secure Digital / microSD card socket
• Power management: MaxLinear MxL7704 IC
• Power source: 5V/3A (DC) via USB-C socket or GPIO header
• Power consumption: 0.61A (3.2W) up to 3.0A @ 5V
• Size: 85mm (L) x 56mm (W) x 17mm (H)
• 2x micro-HDMI 4K socket [dual displays @ 4Kp30 / single display @ 4Kp60] supporting multichannel audio output
• 2x USB 2.0 socket
• 2x USB 3.0 socket
• Push-in/pull-out type Micro Secure Digital / microSD card socket
• 8P8C 'Gigabit' Ethernet socket
• 4-pin PoE header
• 3.5mm audio/video out jack (composite video requires 4-pole adapter)
• CSI port for camera
• DSI port for touch screen display
• USB-C type power socket
• 40 pin General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface Bus (SPI), I²C, I²S, I2C IDC Pins, Universal asynchronous receiver/transmitter (UART)