Manjaro-ARM
Overview
The Manjaro distribution, but for ARM devices.
Based on Arch Linux ARM, combined with Manjaro tools, themes and infrastructure to make install images for your ARM device, like the Pinebook and Raspberry Pi.
Installation
Downloading
You can find installation images in the downloads section of the Manjaro Website or at OSDN
Find the image that matches your target device and desired edition.
Writing the Installation Media
The images are in a .xz file. These files can be burned directly to an SD card with Etcher or with dd directly.
To manually install to your SD card with dd:
Extract the image.
unxz Manjaro-ARM-[Edition]-[Device]-[Version].xz
Get it on the SD card
sudo dd if=Manjaro-ARM-[Edition]-[Device]-[Version].img of=/dev/[device] bs=4M
Where [device] is your SD card's device, as seen by lsblk. Usually mmcblk0 or sdb.
Cleanup and First Boot
Once you have the image on the SDCard, you should be able to put the card into your device and plug it in. If everything worked correctly, it should boot to the OEM setup. Here you define your username, passwords locales etc. Once that is done, the script will clean up after itself, resize the partition and reboot the device. After that reboot, it should boot to the Operating System Depending on the edition you have installed, this could be a simple TTY login or a graphical desktop environment.
Resizing the partitions
Since 18.09 this is now done automatically. The device will boot to OEM setup, which will handle the resizing, and then reboot before the login screen would appear. When it's booted to the login screen, the filesystem has been resized to fill out the remaining space on the SD card.
Login
Login depends on what you set up during the OEM setup. There are 1 users by default on the image. root. And by default it has no password and autologin enabled. This gets changed when the OEM script is run, to disable the autologin and set the password defined during the setup.
Supported Devices
Hardkernel
Hardkernel | ||||
---|---|---|---|---|
Model |
Odroid-C2 | Odroid-C4 | Odroid-N2 | Odroid-N2+ |
Release Year | 2016 | 2020 | 2019 | 2020 |
SoC Manufacturer | Amlogic | Amlogic | Amlogic | Amlogic |
Lithography | 28nm | 12nm | 12nm | 12nm |
CPU | S905 | S905X3 | S922X | S922X |
CPU Topology | Quad-core: 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A55 |
Hexa-core: 4 x Cortex-A73 2 x Cortex-A53 |
Hexa-core: 4 x Cortex-A73 2 x Cortex-A53 |
CPU Frequency | 4 x 1.5GHz | 4 x 2.0GHz | 4 x 2.0GHz 2 x 1.8GHz |
4 x 2.4GHz 2 x 1.9GHz |
GPU | Mali-450 MP3 | Mali-G31 MP2 | Mali-G52 MP4 | Mali-G52 MP4 |
Memory | 2GB DDR3 |
4GB DDR4 |
2–4GB DDR4 |
2–4GB DDR4 |
Khadas
Khadas | ||||
---|---|---|---|---|
Model |
Edge-V | Vim 1 | Vim 2 | Vim 3 |
Release Year | 2018 | 2016 | 2017 | 2019 |
SoC Manufacturer | Rockchip | Amlogic | Amlogic | Amlogic |
Lithography | 28nm | 28nm | 28nm | 12nm |
CPU | RK3399 | S905X | S912 | A311D |
CPU Topology | Hexa-core: 2 x Cortex-A72 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A53 |
Octa-core: 8 x Cortex-A53 |
Hexa-core: 4 x Cortex-A73 2 x Cortex-A53 |
CPU Frequency | 2 x 1.8GHz 4 x 1.5GHz |
4 x 1.5GHz | 8 x 1.5GHz | 4 x 2.2GHz 2 x 1.8GHz |
GPU | Mali-T860 MP4 | Mali-450 MP3 | Mali-T820 MP3 | Mali-G52 MP4 |
Memory | 2–4GB LPDDR4 |
2GB DDR3 |
2–3GB LPDDR4 |
2–4GB LPDDR4 |
Pine64
Pine64 | |||||
---|---|---|---|---|---|
Model |
Rock64 | RockPro64 | Pinebook | Pinebook Pro | PinePhone |
Release Year | 2017 | 2017 | 2017 | 2019 | 2019 |
SoC Manufacturer | Rockchip | Rockchip | Allwinner | Rockchip | Allwinner |
Lithography | 28nm | 28nm | 40nm | 28nm | 40nm |
CPU | RK3328 | RK3399 | A64 | RK3399 | A64 |
CPU Topology | Quad-core: 4 x Cortex-A53 |
Hexa-core: 2 x Cortex-A72 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A53 |
Hexa-core: 2 x Cortex-A72 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A53 |
CPU Frequency | 4 x 1.5GHz | 2 x 2.0GHz 4 x 1.5GHz |
4 x 1.152GHz | 2 x 2.0GHz 4 x 1.5GHz |
4 x 1.2GHz |
GPU | Mali-450 MP2 | Mali-T860 MP4 | Mali-400 MP2 | Mali-T860 MP4 | Mali-400 MP2 |
Memory | 1–4GB LPDDR3 |
2–4GB LPDDR4 |
2GB LPDDR3 |
4GB LPDDR4 |
2–3GB LPDDR3 |
Radxa
Radxa | |
---|---|
Model |
Rock Pi 4 |
Release Year | 2019 |
SoC Manufacturer | Rockchip |
Lithography | 28nm |
CPU | RK3399 |
CPU Topology | Hexa-core: 2 x Cortex-A72 4 x Cortex-A53 |
CPU Frequency | 2 x 2.0GHz 4 x 1.5GHz |
GPU | Mali-T860 MP4 |
Memory | 1–4GB LPDDR4 |
Raspberry
Raspberry | ||||
---|---|---|---|---|
Model |
Pi 3B | Pi 3B+ | Pi 4B | Pi 400 |
Release Year | 2016 | 2018 | 2019 | 2020 |
SoC Manufacturer | Broadcom | Broadcom | Broadcom | Broadcom |
Lithography | 28nm | 28nm | 28nm | 28nm |
CPU | BCM2837 | BCM2837B0 | BCM2711 | BCM2711 |
CPU Topology | Quad-core: 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A53 |
Quad-core: 4 x Cortex-A72 |
Quad-core: 4 x Cortex-A72 |
CPU Frequency | 4 x 1.2GHz | 4 x 1.4GHz | 4 x 1.5GHz | 4 x 1.5GHz |
GPU | VideoCore IV | VideoCore IV | VideoCore VI | VideoCore VI |
Memory | 1GB LPDDR2 |
1GB LPDDR2 |
1–8GB LPDDR4 |
4GB LPDDR4 |
Raspberry Pi
Sensors
For temperature and humidity sensor see this tutorial on the forums: https://forum.manjaro.org/t/howto-raspberry-pi-temperature-and-humidity-sensor-dht22-dht11-am2302/34685
Overclocking
You can manage voltage and frequency settings in your /boot/config.txt
. The following are the most common values for the Raspberry Pi:
over_voltage=6 arm_freq=2100 gpu_freq=650
Troubleshooting
Pi 400 Power Button
If you have trouble using the power button on your Pi 400 with the XFCE desktop (or xfce4-power-manager) then make sure logind is handling button events:
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-power-key -n -t bool -s true
Blocked Update
There are device-dependent workarounds if you experience an error similar to:
error: failed to prepare transaction (conflicting dependencies) :: brcm-patchram-plus and pi-bluetooth are in conflict
For the Pi 3B:
sudo systemctl disable brcm43438.service sudo pacman -S -dd brcm-patchram-plus-pi3b firmware-raspberrypi sudo systemctl enable attach-bluetooth-pi3.service
For the Pi 3B+:
sudo systemctl disable brcm43438.service sudo pacman -S -dd brcm-patchram-plus firmware-raspberrypi sudo systemctl enable attach-bluetooth.service
For the Pi 4B:
sudo systemctl disable brcm43438.service sudo pacman -S -dd brcm-patchram-plus firmware-raspberrypi sudo systemctl enable attach-bluetooth.service
For the Pi 400:
sudo systemctl disable brcm43438.service sudo pacman -S -dd brcm-patchram-plus-pi400 firmware-raspberrypi sudo systemctl enable attach-bluetooth-pi400.service
Missing Bluetooth after raspberrypi-bootloader/-x update 20210208-1
First, check whether the bootloader has been updated:
pacman -Ss raspberrypi-bootloader
Possible results:
core/raspberrypi-bootloader 20210208-1 [installed] Bootloader files for Raspberry Pi core/raspberrypi-bootloader-x 20210208-1 [installed] Bootloader with extra codecs for Raspberry Pi
If it is the case, changing the occurrences of ttyAMA0 in /boot/cmdline.txt to serial0 may fix missing Bluetooth (Source).
Tips and Tricks
See also
https://wiki.archlinux.org/index.php/Category:ARM_architecture
https://archlinuxarm.org/wiki
https://osdn.net/projects/manjaro-arm/