Difference between revisions of "Manjaro-ARM"

From Manjaro
Jump to navigation Jump to search
(Manjaro-ARM)
 
(Hardkernel(odroid))
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
  
 
<div style="clear: both"></div>
 
<div style="clear: both"></div>
 +
 +
=Installation=
 +
 +
===Downloading===
 +
 +
You can find installation images in the downloads section of the [https://manjaro.org/download/#ARM Manjaro Website] or at [https://osdn.net/projects/manjaro-arm/ OSDN]<br>
 +
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.<br>
 +
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=
 
=Supported Devices=
  
{| class="wikitable"
+
==Hardkernel==
 +
 
 +
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
 +
! &nbsp;
 +
!  colspan="4" | Hardkernel
 +
|-
 +
| style="width: 12%"|
 +
<strong>Model</strong>
 +
| Odroid-C2
 +
| Odroid-C4
 +
| Odroid-N2
 +
| Odroid-N2+
 +
|-
 +
| <strong>Release Year</strong>
 +
| 2016
 +
| 2020
 +
| 2019
 +
| 2020
 +
|-
 +
| <strong>SoC Manufacturer</strong>
 +
| Amlogic
 +
| Amlogic
 +
| Amlogic
 +
| Amlogic
 +
|-
 +
| <strong>Lithography</strong>
 +
| 28nm
 +
| 12nm
 +
| 12nm
 +
| 12nm
 +
|-
 +
| <strong>CPU</strong>
 +
| S905
 +
| S905X3
 +
| S922X
 +
| S922X
 +
|-
 +
| <strong>CPU Topology</strong>
 +
| Quad-core:<br>4 x Cortex-A53
 +
| Quad-core:<br>4 x Cortex-A55
 +
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
 +
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
 +
|-
 +
| <strong>CPU Frequency</strong>
 +
| 4 x 1.5GHz
 +
| 4 x 2.0GHz
 +
| 4 x 2.0GHz<br>2 x 1.8GHz
 +
| 4 x 2.4GHz<br>2 x 1.9GHz
 +
|-
 +
| <strong>GPU</strong>
 +
| Mali-450 MP3
 +
| Mali-G31 MP2
 +
| Mali-G52 MP4
 +
| Mali-G52 MP4
 +
|-
 +
| <strong>Memory</strong>
 +
| 2GB<br>DDR3
 +
| 4GB<br>DDR4
 +
| 2&ndash;4GB<br>DDR4
 +
| 2&ndash;4GB<br>DDR4
 +
|}
 +
 
 +
 
 +
==Khadas==
 +
 
 +
{| class="wikitable" style="text-align: center;width: 100%;"-- Header -->
 +
! &nbsp;
 +
!  colspan="4" | Khadas
 +
|-
 +
| style="width: 12%"|
 +
<strong>Model</strong>
 +
| Edge-V
 +
| Vim 1
 +
| Vim 2
 +
| Vim 3
 +
|-
 +
| <strong>Release Year</strong>
 +
| 2018
 +
| 2016
 +
| 2017
 +
| 2019
 +
|-
 +
| <strong>SoC Manufacturer</strong>
 +
| Rockchip
 +
| Amlogic
 +
| Amlogic
 +
| Amlogic
 +
|-
 +
| <strong>Lithography</strong>
 +
| 28nm
 +
| 28nm
 +
| 28nm
 +
| 12nm
 
|-
 
|-
! Manufacturer !! Model
+
| <strong>CPU</strong>
|-
+
| RK3399
| Khadas || Edge-V Pro, Vim 1, Vim 2, Vim 3
+
| S905X
|-
+
| S912
| Pine || Pinebook, Pinebook Pro
+
| A311D
|-
+
|-
| Raspberry || Pi 4
+
| <strong>CPU Topology</strong>
|-
+
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53
| Rock || Pi 4B, Pro 64
+
| Quad-core:<br>4 x Cortex-A53
 +
| Octa-core:<br>8 x Cortex-A53
 +
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
 +
|-
 +
| <strong>CPU Frequency</strong>
 +
| 2 x 1.8GHz<br>4 x 1.5GHz
 +
| 4 x 1.5GHz
 +
| 8 x 1.5GHz
 +
| 4 x 2.2GHz<br>2 x 1.8GHz
 +
|-
 +
| <strong>GPU</strong>
 +
| Mali-T860 MP4
 +
| Mali-450 MP3
 +
| Mali-T820 MP3
 +
| Mali-G52 MP4
 +
|-
 +
| <strong>Memory</strong>
 +
| 2&ndash;4GB<br>LPDDR4
 +
| 2GB<br>DDR3
 +
| 2&ndash;3GB<br>LPDDR4
 +
| 2&ndash;4GB<br>LPDDR4
 +
|}
 +
 
 +
 
 +
==Pine64==
 +
 
 +
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
 +
! &nbsp;
 +
! colspan="5" | Pine64
 +
|-
 +
| style="width: 12%"|
 +
<strong>Model</strong>
 +
| Rock64
 +
| RockPro64
 +
| Pinebook
 +
| Pinebook Pro
 +
| PinePhone
 +
|-
 +
| <strong>Release Year</strong>
 +
| 2017
 +
| 2017
 +
| 2017
 +
| 2019
 +
| 2019
 +
|-
 +
| <strong>SoC Manufacturer</strong>
 +
| Rockchip
 +
| Rockchip
 +
| Allwinner
 +
| Rockchip
 +
| Allwinner
 +
|-
 +
| <strong>Lithography</strong>
 +
| 28nm
 +
| 28nm
 +
| 40nm
 +
| 28nm
 +
| 40nm
 +
|-
 +
| <strong>CPU</strong>
 +
| RK3328
 +
| RK3399
 +
| A64
 +
| RK3399
 +
| A64
 +
|-
 +
| <strong>CPU Topology</strong>
 +
| Quad-core:<br>4 x Cortex-A53
 +
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53
 +
| Quad-core:<br>4 x Cortex-A53
 +
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53
 +
| Quad-core:<br>4 x Cortex-A53
 +
|-
 +
| <strong>CPU Frequency</strong>
 +
| 4 x 1.5GHz
 +
| 2 x 2.0GHz<br>4 x 1.5GHz
 +
| 4 x 1.152GHz
 +
| 2 x 2.0GHz<br>4 x 1.5GHz
 +
| 4 x 1.2GHz
 +
|-
 +
| <strong>GPU</strong>
 +
| Mali-450 MP2
 +
| Mali-T860 MP4
 +
| Mali-400 MP2
 +
| Mali-T860 MP4
 +
| Mali-400 MP2
 +
|-
 +
| <strong>Memory</strong>
 +
| 1&ndash;4GB<br>LPDDR3
 +
| 2&ndash;4GB<br>LPDDR4
 +
| 2GB<br>LPDDR3
 +
| 4GB<br>LPDDR4
 +
| 2&ndash;3GB<br>LPDDR3
 +
|}
 +
 
 +
 
 +
==Radxa==
 +
 
 +
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
 +
! &nbsp;
 +
! colspan="1" | Radxa
 +
|-
 +
| style="width: 12%"|
 +
<strong>Model</strong>
 +
| Rock Pi 4
 +
|-
 +
| <strong>Release Year</strong>
 +
| 2019
 +
|-
 +
| <strong>SoC Manufacturer</strong>
 +
| Rockchip
 +
|-
 +
| <strong>Lithography</strong>
 +
| 28nm
 +
|-
 +
| <strong>CPU</strong>
 +
| RK3399
 +
|-  
 +
| <strong>CPU Topology</strong>
 +
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53
 +
|-  
 +
| <strong>CPU Frequency</strong>
 +
| 2 x 2.0GHz<br>4 x 1.5GHz
 +
|-
 +
| <strong>GPU</strong>
 +
| Mali-T860 MP4
 +
|-
 +
| <strong>Memory</strong>
 +
| 1&ndash;4GB<br>LPDDR4
 +
|}
 +
 
 +
 
 +
==Raspberry==
 +
 
 +
{| class="wikitable" style="text-align: center;width: 100%;"-- Header -->
 +
! &nbsp;
 +
!  colspan="4" | Raspberry
 +
|-
 +
| style="width: 12%"|
 +
<strong>Model</strong>
 +
| Pi 3B
 +
| Pi 3B+
 +
| Pi 4B
 +
| Pi 400
 +
|-
 +
| <strong>Release Year</strong>
 +
| 2016
 +
| 2018
 +
| 2019
 +
| 2020
 +
|-
 +
| <strong>SoC Manufacturer</strong>
 +
| Broadcom
 +
| Broadcom
 +
| Broadcom
 +
| Broadcom
 +
|-
 +
| <strong>Lithography</strong>
 +
| 28nm
 +
| 28nm
 +
| 28nm
 +
| 28nm
 +
|-
 +
| <strong>CPU</strong>
 +
| BCM2837
 +
| BCM2837B0
 +
| BCM2711
 +
| BCM2711
 +
|-
 +
| <strong>CPU Topology</strong>
 +
| Quad-core:<br>4 x Cortex-A53
 +
| Quad-core:<br>4 x Cortex-A53
 +
| Quad-core:<br>4 x Cortex-A72
 +
| Quad-core:<br>4 x Cortex-A72
 +
|-
 +
| <strong>CPU Frequency</strong>
 +
| 4 x 1.2GHz
 +
| 4 x 1.4GHz
 +
| 4 x 1.5GHz
 +
| 4 x 1.5GHz
 +
|-  
 +
| <strong>GPU</strong>
 +
| VideoCore IV
 +
| VideoCore IV
 +
| VideoCore VI
 +
| VideoCore VI
 +
|-
 +
| <strong>Memory</strong>
 +
| 1GB<br>LPDDR2
 +
| 1GB<br>LPDDR2
 +
| 1&ndash;8GB<br>LPDDR4
 +
| 4GB<br>LPDDR4
 
|}
 
|}
  
  
=Raspberry Pi=
+
===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 <code>/boot/config.txt</code>. The following are the most common values for the Raspberry Pi:
 +
<pre>
 +
over_voltage=6
 +
arm_freq=2100
 +
gpu_freq=650
 +
</pre>
 +
 
 +
===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:
 +
<pre>
 +
error: failed to prepare transaction (conflicting dependencies)
 +
:: brcm-patchram-plus and pi-bluetooth are in conflict
 +
</pre>
  
====Temperature and Humidity Sensors====
+
For the '''Pi 3B''':
  
See this tutorial on the forums: https://forum.manjaro.org/t/howto-raspberry-pi-temperature-and-humidity-sensor-dht22-dht11-am2302/34685
+
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+''':
  
=Pinebook=
+
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
  
=Tips and Tricks=
+
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
  
  
 +
=Tips and Tricks=
  
  

Latest revision as of 23:57, 24 November 2020


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


Tips and Tricks

See also

https://wiki.archlinux.org/index.php/Category:ARM_architecture
https://archlinuxarm.org/wiki
https://osdn.net/projects/manjaro-arm/