A 64-bit Raspberry Pi with 8GB of RAM and USB boot
Pi in the Sky
The Raspberry Pi 4 equipped with 8GB of RAM is the top end of this popular small-board computer. A 64-bit version of Raspberry Pi OS and the ability to boot from storage devices connected over USB are also just around the corner.
When the fourth generation of the Raspberry Pi was presented in June 2019, the Raspberry Pi Foundation fulfilled almost all the wishes of its loyal fans. With directly wired Gigabit Ethernet, fast USB 3.0 ports, and two monitor connections, the Raspberry Pi had finally come of age [1]. Technical details, such as the new BCM2711 system on a chip (SoC), along with the four Cortex A72 cores and up to 4GB of RAM were nearly forgotten.
Almost a year later, the Foundation launched a new variant of the Raspberry Pi 4. Besides versions with 1, 2, and 4GB of RAM, the new version was now also available with 8GB of RAM for an official price of $75 (£73/EUR78) – hardly a surprise, because the variant was listed in the Safety and User Guide enclosed with each board, more or less by mistake. Technically, the BCM2711 chip on the Raspberry Pi 4 can address up to 16GB of memory, but no chip manufacturer was able to supply LPDDR4 (low power, double data rate) chips with 8GB of capacity for the 2019 release [2].
In terms of components, the 8GB version hardly differs from the previous Raspberry Pi 4 versions; the only difference is that the RAM chip's identifier ends in D9ZCL (Figure 1). Having more RAM also means a minor adjustment of the power supply. Apart from that, the boards of the different variants are like identical twins.
Raspberry Pi OS
After the memory upgrade, the 8GB Raspberry Pi 4 now exceeds the 4GB limit that 32-bit systems can address [3]. Thanks to a large physical address extension (LPAE) kernel, however, the entire RAM is accessible by Raspberry Pi OS (the Raspberry Pi Foundation version of Raspbian diverged significantly and so became a distinct OS [4]), which is still only a 32-bit system. However, individual processes have to make do with a maximum of 3GB of memory. Memory-hungry applications are not usually limited by this ceiling, because they typically use multiple processes. For example, the Chromium browser starts a separate process for each tab.
To be prepared for the future, the Raspberry Pi Foundation is also working on a 64-bit version of its operating system. Meanwhile, users can install a public beta on their Raspberry Pi, if they are interested in doing so [5]. It is important to make sure you use a suitable version of the small-board computer (SBC). Ever since the Raspberry Pi 2B v1.2, the SBC has used 64-bit processors (BCM2837-SoC with ARM Cortex-A53). Since Raspberry Pi 3, the SBC has only been available in a 64-bit architecture. The Raspberry Pi Zero and Zero W, on the other hand, are not 64-bit capable because they are based on the first generation of the Raspberry Pi.
Booting over USB
Another feature of the new OS for the Raspberry Pi 4 is the ability to boot from USB. This option is recommended for scenarios in which applications are expected to write a large amount of data to the Raspberry Pi's memory card. An SD card is not designed for this type of use and will eventually stop working. A classic hard drive or solid state drive, on the other hand, does not fail, even if it writes large amounts of data regularly.
To enable USB boot, you have to install the system as usual on an SD card and update it to the current version (Listing 1, first line). Usually you will have to update the firmware, as well. Firmware versions provided by the Raspberry Pi Foundation can be found in the filesystem under /lib/firmware/raspberrypi/bootloader/
. The developers distinguish between stable
and beta
versions (second and third commands) – the beta is only recommended for experienced testers.
Listing 1
Enabling USB Boot
$ sudo apt update && sudo apt full-upgrade [...] $ ls -al /lib/firmware/raspberrypi/bootloader/stable [...] -rw-r--r-- 1 root root 524288 Apr 23 17:53 pieeprom-2020-04-16.bin -rw-r--r-- 1 root root 524288 Jun 17 11:15 pieeprom-2020-06-15.bin $ ls -al /lib/firmware/raspberrypi/bootloader/beta [...] -rw-r--r-- 1 root root 524288 Jun 16 11:59 pieeprom-2020-06-15.bin -rw-r--r-- 1 root root 524288 Jul 8 01:18 pieeprom-2020-07-06.bin $ vcgencmd bootloader_version Apr 16 2020 18:11:26 version a5e1b95f320810c69441557c5f5f0a7f2460dfb8 (release) timestamp 1587057086 $ cd /lib/firmware/raspberrypi/bootloader/stable $ sudo rpi-eeprom-update -d -f pieeprom-<2020-06-15>.bin BCM2711 detected VL805 firmware in bootloader EEPROM BOOTFS /boot *** INSTALLING pieeprom-<2020-06-15>.bin *** BOOTFS /boot EEPROM update pending. Please reboot to apply the update.
The rest of the commands in Listing 1 check the currently loaded firmware and then import the latest version. After a reboot, issuing the
vcgencmd bootloader_version
command again reports the new version; the date of the bootloader then corresponds to the date contained in the name of the pieeprom-<date>.bin
file.
Workarounds
A suitable bootloader is now installed, but the 32-bit version of Raspberry Pi OS (published on May 27, 2020), which was current at the time of testing, could not yet be booted from USB. As a workaround, start as usual by installing the system on an SD card. Then install all the current updates and transfer the complete data medium to the USB storage device connected to the Raspberry Pi with the Accessories | SD Card Copier menu option. Optionally, you can switch to the 64-bit version of Raspberry Pi OS: It booted directly from USB in our lab without any workarounds.
If you prefer the 32-bit version of Raspberry Pi OS and want to save yourself the time-consuming procedure of transferring a preinstalled system, use the boot.zip
archive from the download section for this article [6]. The archive contains a number of .dat
and .elf
files that you need to transfer to the Raspberry Pi OS boot partition (Figure 2). Because these files overwrite existing files, be sure to save the old files first. After the action, the operating system should boot from USB, even if some error messages still appear on the screen (Figure 3).
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.