Manjaro Difference between revisions of "Manjaro-ARM"

Difference between revisions of "Manjaro-ARM"

From Manjaro
(Hardkernel(odroid))
(Marked this version for translation)
 
(35 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<languages/>
__TOC__
__TOC__


<translate>
=Overview= <!--T:1-->


=Overview=
<!--T:2-->
 
The Manjaro distribution, but for ARM devices.
The Manjaro distribution, but for ARM devices.


<!--T:3-->
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.  
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.  


<!--T:4-->
<div style="clear: both"></div>
<div style="clear: both"></div>


=Installation=
=Installation= <!--T:5-->
 
===Preparing the SPI (optional)=== <!--T:46-->
 
<!--T:47-->
Some boards have an SPI storage chip. This is a small storage device, usually 4-16 MB in size, that the board checks for firmware before proceeding to other devices. So we can utilize this chip, by preparing the board specific firmware on it, making it able to boot our [https://github.com/manjaro-arm/generic-images/releases generic image] and our [https://github.com/manjaro-arm/generic-efi-images/releases generic EFI image].<br>
We have currently tested [https://github.com/Tow-Boot/Tow-Boot Tow-Boot], so that's what this guide will use.
 
<!--T:48-->
# Go to the [https://github.com/Tow-Boot/Tow-Boot/releases latest release section] of Tow-Boot and download the file that matches your board. This is important.
#
# Unpack it and flash the `spi.installer.img` file to a spare SD card. If the archive does not contain any spi.installer.img file for your board, you should use one of our pre-built OS images instead, which has the Shared Storage version of U-boot installed.
#
# Insert the SD card into your device and boot from it. You will be presented with a short menu. One entry is "Flash Tow-Boot to SPI", second entry is "Erase SPI Flash" and the last option is "Reboot".
#
# Select the "Flash Tow-Boot to SPI" option and wait until it finishes successfully. It can take a couple of minutes as SPI storage is rather slow.
#
# When it's done, power off the device and take out the SD card. Now your device has the Tow-Boot board firmware in place and should now be capable of booting any generic (EFI) aarch64 image that supports your board.


===Downloading===
<!--T:49-->
Our Generic Aarch64 image supports the Extlinux booting scheme, while our Generic EFI Aarch64 uses EFI enabled firmware (which tow-boot has).


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>
===Downloading=== <!--T:6-->
Find the image that matches your target device and desired edition.


<!--T:7-->
You can find installation images in the downloads section of the [https://manjaro.org/download/#ARM Manjaro Website].<br>
Find the image that matches your target device and desired edition.<br>
Or if you have Board Firmware on your SPI, you can try our new [https://github.com/manjaro-arm/generic-images/releases Generic Aarch64 images].


===Writing the Installation Media===
===Writing the Installation Media=== <!--T:8-->


<!--T:9-->
The images are in a .xz file. These files can be burned directly to an SD card with Etcher or with dd directly.<br>
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:
To manually install to your SD card with dd:


<!--T:10-->
Extract the image.
Extract the image.


  unxz Manjaro-ARM-[Edition]-[Device]-[Version].xz
  <!--T:11-->
unxz Manjaro-ARM-[Edition]-[Device]-[Version].xz


<!--T:12-->
Get it on the SD card
Get it on the SD card


  sudo dd if=Manjaro-ARM-[Edition]-[Device]-[Version].img of=/dev/[device] bs=4M
  <!--T:13-->
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.
Where ''[device]'' is your SD card's device, as seen by lsblk. Usually mmcblk0 or sdb.




===Cleanup and First Boot===
===Cleanup and First Boot=== <!--T:14-->
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.
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===
===Resizing the partitions=== <!--T:15-->
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.
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=== <!--T:16-->
Login depends on what you set up during the OEM setup.
Login depends on what you set up during the OEM setup.
There are 1 users by default on the image. root.
There are 1 users by default on the image. root.
And by default it has no password and autologin enabled.
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.
This gets changed when the OEM script is run, to disable the autologin and set the password defined during the setup.
</translate>
<translate>
=Supported Devices= <!--T:17-->
Devices listed here are either supported by having device specific images, runs from the Generic images with board firmware on SPI or is still installable via the [https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer Manjaro ARM Installer] script.


==Device List== <!--T:18-->


=Supported Devices=
===Hardkernel=== <!--T:50-->
 
{|  class="wikitable sortable" style="text-align: center;width: 100%;" -- Header -->  
==Hardkernel==
|+
 
|-
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
! &nbsp;
|-
!  colspan="4" | Hardkernel
| <strong>Odroid C2</strong>
| 2016
| Amlogic
| 28nm
| S905
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.5GHz
| Mali-450 MP3
| 2GB DDR3
| No
|-  
|-  
| style="width: 12%"|
| <strong>Odroid C4</strong>
<strong>Model</strong>
| 2020
| Odroid-C2
| Amlogic
| Odroid-C4
| 12nm
| Odroid-N2
| S905X3
| Odroid-N2+
| Quad-core: <br>4 x Cortex-A55
| 4 x 2.0GHz
| Mali-G31 MP2
| 4GB DDR4
| No
|-  
|-  
| <strong>Release Year</strong>
| <strong>Odroid N2</strong>
| 2016
| 2020
| 2019  
| 2019  
| 2020
| Amlogic
| 12nm
| S922X
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| 4 x 2.0GHz <br>2 x 1.8GHz
| Mali-G52 MP4
| 2-4GB DDR4
| Yes
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>Odroid N2+</strong>
| Amlogic  
| 2020
| Amlogic
| Amlogic
| Amlogic
| 12nm
| Amlogic
| S922X
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| 4 x 2.4GHz <br>2 x 1.9GHz
| Mali-G52 MP4
| 2-4GB DDR4
| Yes
|-  
|-  
| <strong>Lithography</strong>
| <strong>Odroid M1</strong>
| 28nm
| 2021
| 12nm
| Rockchip
| 12nm
| 22nm
| 12nm
| RK3568B2
| Quad-core: <br>4 x Cortex-A55
| 4 x 2.0GHz
| Mali-G52 2EE MC2
| 4–8GB LPDDR4
| No
|}
===Khadas===
{| class="wikitable sortable" style="text-align: center;width: 100%;"
|+
|-
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
|-  
|-  
| <strong>CPU</strong>
| <strong>Edge-V</strong>
| S905
| 2018
| S905X3
| Rockchip
| S922X
| 28nm
| S922X
| RK3399
| Hexa-core: <br>2 x Cortex-A72 <br>4 x Cortex-A53
| 2 x 1.8GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 2-4GB LPDDR4
| No
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>Vim 1</strong>
| Quad-core:<br>4 x Cortex-A53  
| 2016
| Quad-core:<br>4 x Cortex-A55
| Amlogic
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
| 28nm
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
| S905X
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.5GHz
| Mali-450 MP3
| 2GB DDR3
| No
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>Vim 2</strong>
| 4 x 1.5GHz
| 2017
| 4 x 2.0GHz
| Amlogic
| 4 x 2.0GHz<br>2 x 1.8GHz
| 28nm
| 4 x 2.4GHz<br>2 x 1.9GHz
| S912
| Octa-core: <br>8 x Cortex-A53
| 8 x 1.5GHz
| Mali-T820 MP3
| 2-3GB LPDDR4
| No
|-  
|-  
| <strong>GPU</strong>
| <strong>Vim 3</strong>
| Mali-450 MP3
| 2019
| Mali-G31 MP2
| Amlogic
| Mali-G52 MP4
| 12nm
| Mali-G52 MP4
| A311D
|-  
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| <strong>Memory</strong>
| 4 x 2.2GHz <br>2 x 1.8GHz
| 2GB<br>DDR3
| Mali-G52 MP4
| 4GB<br>DDR4
| 2-4GB LPDDR4
| 2&ndash;4GB<br>DDR4
| No
| 2&ndash;4GB<br>DDR4
|}
|}
 
===Orange Pi===
 
{|  class="wikitable sortable" style="text-align: center;width: 100%;"
==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
|-
|-
| <strong>CPU</strong>
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
| RK3399
| S905X
| S912
| A311D
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>Orange Pi 3 LTS</strong>
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| 2019
| Quad-core:<br>4 x Cortex-A53
| Allwinner
| Octa-core:<br>8 x Cortex-A53
| 28nm
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53
| H6
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.8GHz
| Mali-T720 MP2
| 1-2GB LPDDR3
| No
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>Orange Pi 4 LTS</strong>
| 2 x 1.8GHz<br>4 x 1.5GHz  
| 2021
| 4 x 1.5GHz
| Rockchip
| 8 x 1.5GHz
| 28nm
| 4 x 2.2GHz<br>2 x 1.8GHz
| RK3399
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| 2 x 2.0GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 2-4GB LPDDR4
| No
|-  
|-  
| <strong>GPU</strong>
| <strong>Orange Pi 800</strong>
| Mali-T860 MP4
| 2022
| Mali-450 MP3
| Rockchip
| Mali-T820 MP3
| 28nm
| Mali-G52 MP4
| RK3399
|-  
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| <strong>Memory</strong>
| 2 x 2.0GHz <br>4 x 1.5GHz
| 2&ndash;4GB<br>LPDDR4
| Mali-T860 MP4
| 2GB<br>DDR3
| 2-4GB LPDDR4
| 2&ndash;3GB<br>LPDDR4
| No
| 2&ndash;4GB<br>LPDDR4
|}
|}
 
===Pine64===
 
{|  class="wikitable sortable" style="text-align: center;width: 100%;"
==Pine64==
|+
 
|-
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
! &nbsp;
|-
!  colspan="5" | Pine64
| <strong>Rock64</strong>
| 2017
| Rockchip
| 28nm
| RK3328
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.5GHz
| Mali-450 MP2
| 1-4GB LPDDR3
| No
|-  
|-  
| style="width: 12%"|
| <strong>RockPro64</strong>
<strong>Model</strong>
| 2017
| Rock64
| Rockchip
| RockPro64
| 28nm
| Pinebook
| RK3399
| Pinebook Pro
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| PinePhone
| 2 x 2.0GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 2-4GB LPDDR4
| Yes
|-  
|-  
| <strong>Release Year</strong>
| <strong>Pine H64</strong>
| 2017
| 2019
| 2017
| Allwinner
| 2017
| 28nm
| 2019
| H6
| 2019
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.8GHz
| Mali-T720 MP2
| 2-4GB LPDDR3
| Yes
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>Pinebook</strong>
| Rockchip
| 2017
| Rockchip
| Allwinner
| Allwinner
| 40nm
| Rockchip
| A64
| Allwinner
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.152GHz
| Mali-400 MP2
| 2GB LPDDR3
| Yes
|-  
|-  
| <strong>Lithography</strong>
| <strong>Pinebook Pro</strong>
| 28nm  
| 2019
| 28nm
| Rockchip
| 40nm
| 28nm
| 28nm
| RK3399
| 40nm
| Hexa-core: <br>2 x Cortex-A72 <br>4 x Cortex-A53
| 2 x 2.0GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 4GB LPDDR4
| Yes
|-  
|-  
| <strong>CPU</strong>
| <strong>Pinephone</strong>
| RK3328
| 2019
| RK3399
| Allwinner
| A64  
| 40nm
| RK3399
| A64
| A64
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.2GHz
| Mali-400 MP2
| 2-3GB LPDDR3
| No
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>Pinephone Pro</strong>
| Quad-core:<br>4 x Cortex-A53
| 2022
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Rockchip
| Quad-core:<br>4 x Cortex-A53
| 28nm
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53
| RK3399
| Quad-core:<br>4 x Cortex-A53
| Hexa-core: <br>2 x Cortex-A72 <br>4 x Cortex-A53
| 2 x 1.5GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 4GB LPDDR4 @800 MHz
| No
|}
===Radxa===
{| class="wikitable sortable" style="text-align: center;width: 100%;"
|+
|-
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>Rock Pi 4B & 4C</strong>
| 4 x 1.5GHz
| 2019
| 2 x 2.0GHz<br>4 x 1.5GHz
| Rockchip
| 4 x 1.152GHz
| 28nm
| 2 x 2.0GHz<br>4 x 1.5GHz  
| RK3399
| 4 x 1.2GHz
| Hexa-core: <br>2 x Cortex-A72 <br>4 x Cortex-A53
| 2 x 2.0GHz <br>4 x 1.5GHz
| Mali-T860 MP4
| 1–4GB LPDDR4
| Yes
|-  
|-  
| <strong>GPU</strong>
| <strong>Radxa Zero</strong>
| Mali-450 MP2
| 2021
| Mali-T860 MP4
| Amlogic
| Mali-400 MP2  
| 12nm
| Mali-T860 MP4
| S905Y2
| Mali-400 MP2
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.8GHz
| Mali-G31 MP2
| 1-4GB LPDDR4
| No
|-  
|-  
| <strong>Memory</strong>
| <strong>Rock 3A</strong>
| 1&ndash;4GB<br>LPDDR3
| 2022
| 2&ndash;4GB<br>LPDDR4
| Rockchip
| 2GB<br>LPDDR3
| 22nm
| 4GB<br>LPDDR4
| RK3568
| 2&ndash;3GB<br>LPDDR3
| Quad-core: <br>4 x Cortex-A55
| 4 x 2.0GHz
| Mali-G52 2EE
| 2-8GB LPDDR4
| No
|}
|}
 
===RaspberryPi ===
 
{|  class="wikitable sortable" style="text-align: center;width: 100%;"
==Radxa==
|+
 
|-
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
! &nbsp;
! colspan="1" | Radxa
|-  
|-  
| style="width: 12%"|
| <strong>Pi 3B</strong>
<strong>Model</strong>
| 2016
| Rock Pi 4  
| Broadcom
| 28nm
| BCM2837
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.2GHz
| VideoCore IV
| 1GB LPDDR2
| No
|-  
|-  
| <strong>Release Year</strong>
| <strong>Pi 3B+</strong>
| 2019
| 2018
| Broadcom
| 28nm
| BCM2837B0
| Quad-core: <br>4 x Cortex-A53
| 4 x 1.4GHz
| VideoCore IV
| 1GB LPDDR2
| No
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>Pi 400</strong>
| Rockchip
| 2020
| Broadcom
| 28nm
| BCM2711
| Quad-core: <br>4 x Cortex-A72
| 4 x 1.5GHz
| VideoCore VI
| 4GB LPDDR4
| No
|-  
|-  
| <strong>Lithography</strong>
| <strong>Pi 4B</strong>
| 28nm  
| 2019
| Broadcom
| 28nm
| BCM2711
| Quad-core: <br>4 x Cortex-A72
| 4 x 1.5GHz
| VideoCore VI
| 1-8GB LPDDR4
| No
|}
===Ugoos===
{|  class="wikitable sortable" style="text-align: center;width: 100%;"
|+
|-
! Model !! Release Year !! SoC Manufacturer !! Lithography !! CPU !! CPU Topology !! CPU Frequency !! GPU !! Memory !! Generic Image Support
|-  
|-  
| <strong>CPU</strong>
| <strong>AM6 Plus</strong>
| RK3399
| 2019?
|-
| Amlogic
| <strong>CPU Topology</strong>
| 12nm
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| S922XJ
|-
| Hexa-core: <br>4 x Cortex-A73 <br>2 x Cortex-A53
| <strong>CPU Frequency</strong>
| 4 x 2.2GHz <br>2 x 1.9GHZ
| 2 x 2.0GHz<br>4 x 1.5GHz
| Mali-G52 MP6
|-
| 4GB LPDDR4
| <strong>GPU</strong>
| No
| Mali-T860 MP4
|-
| <strong>Memory</strong>
| 1&ndash;4GB<br>LPDDR4
|}
|}


==Android TV boxes== <!--T:41-->


==Raspberry==
<!--T:42-->
With a couple of small tweaks it is possible to boot and install the vim3 builds of Manjaro on some [[Amlogic TV boxes]]. Running Manjaro on TV boxes is not recommended for less experienced users of Linux nor serious production use.


{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
=Raspberry Pi Tips= <!--T:24-->
! &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===


====Sensors====
==Sensors== <!--T:25-->


<!--T:26-->
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
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====
==Overclocking== <!--T:27-->


<!--T:28-->
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:
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>
<pre>
Line 362: Line 444:
</pre>
</pre>


===Troubleshooting===
=Raspberry Pi Troubleshooting= <!--T:29-->


====Pi 400 Power Button====
==Pi 400 Power Button== <!--T:30-->


<!--T:31-->
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:
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
  xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-power-key -n -t bool -s true


====Blocked Update====
==Blocked Update== <!--T:32-->


<!--T:33-->
There are device-dependent workarounds if you experience an error similar to:
There are device-dependent workarounds if you experience an error similar to:
<pre>
<pre>
Line 377: Line 461:
</pre>
</pre>


<!--T:34-->
For the '''Pi 3B''':
For the '''Pi 3B''':


  sudo systemctl disable brcm43438.service
  <!--T:35-->
sudo systemctl disable brcm43438.service
  sudo pacman -S -dd  brcm-patchram-plus-pi3b firmware-raspberrypi
  sudo pacman -S -dd  brcm-patchram-plus-pi3b firmware-raspberrypi
  sudo systemctl enable attach-bluetooth-pi3.service
  sudo systemctl enable attach-bluetooth-pi3.service


<!--T:36-->
For the '''Pi 3B+''':
For the '''Pi 3B+''':


  sudo systemctl disable brcm43438.service
  <!--T:37-->
sudo systemctl disable brcm43438.service
  sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
  sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
  sudo systemctl enable attach-bluetooth.service
  sudo systemctl enable attach-bluetooth.service


<!--T:38-->
For the '''Pi 4B''':
For the '''Pi 4B''':


  sudo systemctl disable brcm43438.service
  <!--T:39-->
sudo systemctl disable brcm43438.service
  sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
  sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
  sudo systemctl enable attach-bluetooth.service
  sudo systemctl enable attach-bluetooth.service


<!--T:40-->
For the '''Pi 400''':
For the '''Pi 400''':


sudo systemctl disable brcm43438.service
<!--T:51-->
sudo systemctl disable brcm43438.service
  sudo pacman -S -dd  brcm-patchram-plus-pi400 firmware-raspberrypi
  sudo pacman -S -dd  brcm-patchram-plus-pi400 firmware-raspberrypi
  sudo systemctl enable attach-bluetooth-pi400.service
  sudo systemctl enable attach-bluetooth-pi400.service


==Missing Bluetooth after raspberrypi-bootloader/-x update 20210208-1== <!--T:52-->


=Tips and Tricks=
<!--T:43-->
First, check whether the bootloader has been updated:
pacman -Ss raspberrypi-bootloader


<!--T:44-->
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


=See also=
<!--T:45-->
If it is the case, changing the occurrences of '''ttyAMA0''' in /boot/cmdline.txt to '''serial0''' may fix missing Bluetooth ([https://forum.manjaro.org/t/new-raspberry-pi-kernels-related-packages/4721/344 Source]).
 
=Unsupported Devices= <!--T:53-->
 
<!--T:54-->
In general, any device that does not have a device specific image or works with the Generic image, is considered unsupported. We may drop support for a device when the manufacturer no longer sells the device. The device is then considered EOL (End-Of-Life). Such a device might still work by updating and old image or running the Generic image, but we no longer work to keep it working.
 
=See also= <!--T:55-->
https://wiki.archlinux.org/index.php/Category:ARM_architecture<br />
https://wiki.archlinux.org/index.php/Category:ARM_architecture<br />
https://archlinuxarm.org/wiki<br />
https://archlinuxarm.org/wiki<br />
Line 411: Line 520:
<br />
<br />


 
</translate>
[[Category:Contents Page]]
[[Category:Contents Page{{#translation:}}]]
[[Category:ARM{{#translation:}}]]

Latest revision as of 04:10, 16 October 2024

Other languages:
English • ‎русский • ‎فارسی • ‎中文(中国大陆)‎

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

Preparing the SPI (optional)

Some boards have an SPI storage chip. This is a small storage device, usually 4-16 MB in size, that the board checks for firmware before proceeding to other devices. So we can utilize this chip, by preparing the board specific firmware on it, making it able to boot our generic image and our generic EFI image.
We have currently tested Tow-Boot, so that's what this guide will use.

  1. Go to the latest release section of Tow-Boot and download the file that matches your board. This is important.
  2. Unpack it and flash the `spi.installer.img` file to a spare SD card. If the archive does not contain any spi.installer.img file for your board, you should use one of our pre-built OS images instead, which has the Shared Storage version of U-boot installed.
  3. Insert the SD card into your device and boot from it. You will be presented with a short menu. One entry is "Flash Tow-Boot to SPI", second entry is "Erase SPI Flash" and the last option is "Reboot".
  4. Select the "Flash Tow-Boot to SPI" option and wait until it finishes successfully. It can take a couple of minutes as SPI storage is rather slow.
  5. When it's done, power off the device and take out the SD card. Now your device has the Tow-Boot board firmware in place and should now be capable of booting any generic (EFI) aarch64 image that supports your board.

Our Generic Aarch64 image supports the Extlinux booting scheme, while our Generic EFI Aarch64 uses EFI enabled firmware (which tow-boot has).

Downloading

You can find installation images in the downloads section of the Manjaro Website.
Find the image that matches your target device and desired edition.
Or if you have Board Firmware on your SPI, you can try our new Generic Aarch64 images.

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

Devices listed here are either supported by having device specific images, runs from the Generic images with board firmware on SPI or is still installable via the Manjaro ARM Installer script.

Device List

Hardkernel

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Odroid C2 2016 Amlogic 28nm S905 Quad-core:
4 x Cortex-A53
4 x 1.5GHz Mali-450 MP3 2GB DDR3 No
Odroid C4 2020 Amlogic 12nm S905X3 Quad-core:
4 x Cortex-A55
4 x 2.0GHz Mali-G31 MP2 4GB DDR4 No
Odroid N2 2019 Amlogic 12nm S922X Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
4 x 2.0GHz
2 x 1.8GHz
Mali-G52 MP4 2-4GB DDR4 Yes
Odroid N2+ 2020 Amlogic 12nm S922X Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
4 x 2.4GHz
2 x 1.9GHz
Mali-G52 MP4 2-4GB DDR4 Yes
Odroid M1 2021 Rockchip 22nm RK3568B2 Quad-core:
4 x Cortex-A55
4 x 2.0GHz Mali-G52 2EE MC2 4–8GB LPDDR4 No

Khadas

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Edge-V 2018 Rockchip 28nm RK3399 Hexa-core:
2 x Cortex-A72
4 x Cortex-A53
2 x 1.8GHz
4 x 1.5GHz
Mali-T860 MP4 2-4GB LPDDR4 No
Vim 1 2016 Amlogic 28nm S905X Quad-core:
4 x Cortex-A53
4 x 1.5GHz Mali-450 MP3 2GB DDR3 No
Vim 2 2017 Amlogic 28nm S912 Octa-core:
8 x Cortex-A53
8 x 1.5GHz Mali-T820 MP3 2-3GB LPDDR4 No
Vim 3 2019 Amlogic 12nm A311D Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
4 x 2.2GHz
2 x 1.8GHz
Mali-G52 MP4 2-4GB LPDDR4 No

Orange Pi

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Orange Pi 3 LTS 2019 Allwinner 28nm H6 Quad-core:
4 x Cortex-A53
4 x 1.8GHz Mali-T720 MP2 1-2GB LPDDR3 No
Orange Pi 4 LTS 2021 Rockchip 28nm RK3399 Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
2 x 2.0GHz
4 x 1.5GHz
Mali-T860 MP4 2-4GB LPDDR4 No
Orange Pi 800 2022 Rockchip 28nm RK3399 Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
2 x 2.0GHz
4 x 1.5GHz
Mali-T860 MP4 2-4GB LPDDR4 No

Pine64

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Rock64 2017 Rockchip 28nm RK3328 Quad-core:
4 x Cortex-A53
4 x 1.5GHz Mali-450 MP2 1-4GB LPDDR3 No
RockPro64 2017 Rockchip 28nm RK3399 Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
2 x 2.0GHz
4 x 1.5GHz
Mali-T860 MP4 2-4GB LPDDR4 Yes
Pine H64 2019 Allwinner 28nm H6 Quad-core:
4 x Cortex-A53
4 x 1.8GHz Mali-T720 MP2 2-4GB LPDDR3 Yes
Pinebook 2017 Allwinner 40nm A64 Quad-core:
4 x Cortex-A53
4 x 1.152GHz Mali-400 MP2 2GB LPDDR3 Yes
Pinebook Pro 2019 Rockchip 28nm RK3399 Hexa-core:
2 x Cortex-A72
4 x Cortex-A53
2 x 2.0GHz
4 x 1.5GHz
Mali-T860 MP4 4GB LPDDR4 Yes
Pinephone 2019 Allwinner 40nm A64 Quad-core:
4 x Cortex-A53
4 x 1.2GHz Mali-400 MP2 2-3GB LPDDR3 No
Pinephone Pro 2022 Rockchip 28nm RK3399 Hexa-core:
2 x Cortex-A72
4 x Cortex-A53
2 x 1.5GHz
4 x 1.5GHz
Mali-T860 MP4 4GB LPDDR4 @800 MHz No

Radxa

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Rock Pi 4B & 4C 2019 Rockchip 28nm RK3399 Hexa-core:
2 x Cortex-A72
4 x Cortex-A53
2 x 2.0GHz
4 x 1.5GHz
Mali-T860 MP4 1–4GB LPDDR4 Yes
Radxa Zero 2021 Amlogic 12nm S905Y2 Quad-core:
4 x Cortex-A53
4 x 1.8GHz Mali-G31 MP2 1-4GB LPDDR4 No
Rock 3A 2022 Rockchip 22nm RK3568 Quad-core:
4 x Cortex-A55
4 x 2.0GHz Mali-G52 2EE 2-8GB LPDDR4 No

RaspberryPi

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
Pi 3B 2016 Broadcom 28nm BCM2837 Quad-core:
4 x Cortex-A53
4 x 1.2GHz VideoCore IV 1GB LPDDR2 No
Pi 3B+ 2018 Broadcom 28nm BCM2837B0 Quad-core:
4 x Cortex-A53
4 x 1.4GHz VideoCore IV 1GB LPDDR2 No
Pi 400 2020 Broadcom 28nm BCM2711 Quad-core:
4 x Cortex-A72
4 x 1.5GHz VideoCore VI 4GB LPDDR4 No
Pi 4B 2019 Broadcom 28nm BCM2711 Quad-core:
4 x Cortex-A72
4 x 1.5GHz VideoCore VI 1-8GB LPDDR4 No

Ugoos

Model Release Year SoC Manufacturer Lithography CPU CPU Topology CPU Frequency GPU Memory Generic Image Support
AM6 Plus 2019? Amlogic 12nm S922XJ Hexa-core:
4 x Cortex-A73
2 x Cortex-A53
4 x 2.2GHz
2 x 1.9GHZ
Mali-G52 MP6 4GB LPDDR4 No

Android TV boxes

With a couple of small tweaks it is possible to boot and install the vim3 builds of Manjaro on some Amlogic TV boxes. Running Manjaro on TV boxes is not recommended for less experienced users of Linux nor serious production use.

Raspberry Pi Tips

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

Raspberry Pi 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).

Unsupported Devices

In general, any device that does not have a device specific image or works with the Generic image, is considered unsupported. We may drop support for a device when the manufacturer no longer sells the device. The device is then considered EOL (End-Of-Life). Such a device might still work by updating and old image or running the Generic image, but we no longer work to keep it working.

See also

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

Cookies help us deliver our services. By using our services, you agree to our use of cookies.