Difference between revisions of "Manjaro-ARM"

m
→‎Supported Devices: Add small description
(Marked this version for translation)
m (→‎Supported Devices: Add small description)
(21 intermediate revisions by 2 users not shown)
Line 15: Line 15:


=Installation= <!--T:5-->
=Installation= <!--T:5-->
===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 [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.
# 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.
Our Generic Aarch64 image supports the Extlinux booting scheme, while our Generic EFI Aarch64 uses EFI enabled firmware (which tow-boot has).


===Downloading=== <!--T:6-->
===Downloading=== <!--T:6-->


<!--T:7-->
<!--T:7-->
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>
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.
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=== <!--T:8-->
===Writing the Installation Media=== <!--T:8-->
Line 44: Line 61:


===Cleanup and First Boot=== <!--T:14-->
===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=== <!--T:15-->
===Resizing the partitions=== <!--T:15-->
Line 59: Line 75:
<translate>
<translate>
=Supported Devices= <!--T:17-->
=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.


==Hardkernel== <!--T:18-->
==Hardkernel== <!--T:18-->
Line 64: Line 81:
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
! &nbsp;
! &nbsp;
!  colspan="4" | Hardkernel
!  colspan="5" | Hardkernel
|-  
|-  
| style="width: 12%"|
| style="width: 12%"|
Line 72: Line 89:
| Odroid-N2  
| Odroid-N2  
| Odroid-N2+  
| Odroid-N2+  
| Odroid-M1
|-  
|-  
| <strong>Release Year</strong>
| <strong>Release Year</strong>
Line 78: Line 96:
| 2019  
| 2019  
| 2020  
| 2020  
| 2021
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>SoC Manufacturer</strong>
Line 84: Line 103:
| Amlogic  
| Amlogic  
| Amlogic  
| Amlogic  
| Rockchip
|-  
|-  
| <strong>Lithography</strong>
| <strong>Lithography</strong>
Line 90: Line 110:
| 12nm  
| 12nm  
| 12nm  
| 12nm  
| 22nm
|-  
|-  
| <strong>CPU</strong>
| <strong>CPU</strong>
Line 96: Line 117:
| S922X  
| S922X  
| S922X  
| S922X  
| RK3568B2
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>CPU Topology</strong>
Line 102: Line 124:
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53  
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53  
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53  
| Hexa-core:<br>4 x Cortex-A73<br>2 x Cortex-A53  
| Quad-core:<br>4 x Cortex-A55
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>CPU Frequency</strong>
Line 108: Line 131:
| 4 x 2.0GHz<br>2 x 1.8GHz  
| 4 x 2.0GHz<br>2 x 1.8GHz  
| 4 x 2.4GHz<br>2 x 1.9GHz  
| 4 x 2.4GHz<br>2 x 1.9GHz  
| 4 x 2.0GHz
|-  
|-  
| <strong>GPU</strong>
| <strong>GPU</strong>
Line 114: Line 138:
| Mali-G52 MP4  
| Mali-G52 MP4  
| Mali-G52 MP4  
| Mali-G52 MP4  
| Mali-G52 2EE MC2
|-  
|-  
| <strong>Memory</strong>
| <strong>Memory</strong>
Line 120: Line 145:
| 2&ndash;4GB<br>DDR4
| 2&ndash;4GB<br>DDR4
| 2&ndash;4GB<br>DDR4
| 2&ndash;4GB<br>DDR4
| 4&ndash;8GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
| No
| Yes
| Yes
| No
|}
|}


 
==Khadas== <!--T:19-->
==Khadas==


{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
Line 183: Line 215:
| 2&ndash;3GB<br>LPDDR4
| 2&ndash;3GB<br>LPDDR4
| 2&ndash;4GB<br>LPDDR4
| 2&ndash;4GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
| No
| No
| No
|}
|}


==Orange Pi== <!--T:20-->
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
! &nbsp;
!  colspan="3" | Orange Pi
|-
| style="width: 12%"|
<strong>Model</strong>
| Orange Pi 3 LTS
| Orange Pi 4 LTS
| Orange Pi 800
|-
| <strong>Release Year</strong>
| 2019
| 2021
| 2022
|-
| <strong>SoC Manufacturer</strong>
| Allwinner
| Rockchip
| Rockchip
|-
| <strong>Lithography</strong>
| 28nm
| 28nm
| 28nm
|-
| <strong>CPU</strong>
| H6
| RK3399
| RK3399
|-
| <strong>CPU Topology</strong>
| Quad-core:<br>4 x Cortex-A53
| 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.8GHz
| 2 x 2.0GHz<br>4 x 1.5GHz
| 2 x 2.0GHz<br>4 x 1.5GHz
|-
| <strong>GPU</strong>
| Mali-T720 MP2
| Mali-T860 MP4
| Mali-T860 MP4
|-
| <strong>Memory</strong>
| 1&ndash;2GB<br>LPDDR3
| 2&ndash;4GB<br>LPDDR4
| 2&ndash;4GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
| No
| No
|}


==Pine64==
==Pine64== <!--T:21-->


{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
! &nbsp;
! &nbsp;
!  colspan="5" | Pine64
!  colspan="8" | Pine64
|-  
|-  
| style="width: 12%"|
| style="width: 12%"|
Line 196: Line 291:
| Rock64  
| Rock64  
| RockPro64  
| RockPro64  
| Pine H64
| Pinebook  
| Pinebook  
| Pinebook Pro  
| Pinebook Pro  
| PinePhone  
| PinePhone  
| PinePhone Pro
| Quartz64
|-  
|-  
| <strong>Release Year</strong>
| <strong>Release Year</strong>
| 2017  
| 2017  
| 2017  
| 2017  
| 2019
| 2017  
| 2017  
| 2019  
| 2019  
| 2019  
| 2019  
| 2022
| 2021
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>SoC Manufacturer</strong>
| Rockchip  
| Rockchip  
| Rockchip  
| Rockchip  
| Allwinner
| Allwinner  
| Allwinner  
| Rockchip  
| Rockchip  
| Allwinner  
| Allwinner  
| Rockchip
| Rockchip
|-  
|-  
| <strong>Lithography</strong>
| <strong>Lithography</strong>
| 28nm  
| 28nm  
| 28nm  
| 28nm  
| 28nm
| 40nm  
| 40nm  
| 28nm  
| 28nm  
| 40nm  
| 40nm  
| 28nm
| 22nm
|-  
|-  
| <strong>CPU</strong>
| <strong>CPU</strong>
| RK3328  
| RK3328  
| RK3399  
| RK3399  
| H6
| A64  
| A64  
| RK3399  
| RK3399  
| A64  
| A64  
| RK3399S
| RK3566
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>CPU Topology</strong>
| Quad-core:<br>4 x Cortex-A53  
| Quad-core:<br>4 x Cortex-A53  
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Quad-core:<br>4 x Cortex-A53
| Quad-core:<br>4 x Cortex-A53  
| Quad-core:<br>4 x Cortex-A53  
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Quad-core:<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-A55
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>CPU Frequency</strong>
| 4 x 1.5GHz  
| 4 x 1.5GHz  
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 4 x 1.8GHz
| 4 x 1.152GHz  
| 4 x 1.152GHz  
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 4 x 1.2GHz  
| 4 x 1.2GHz  
| 2 x 1.5GHz<br>4 x 1.5GHz
| 4 x 1.8GHz
|-  
|-  
| <strong>GPU</strong>
| <strong>GPU</strong>
| Mali-450 MP2  
| Mali-450 MP2  
| Mali-T860 MP4  
| Mali-T860 MP4  
| Mali-T720 MP2
| Mali-400 MP2  
| Mali-400 MP2  
| Mali-T860 MP4  
| Mali-T860 MP4  
| Mali-400 MP2  
| Mali-400 MP2  
| Mali-T860 MP4
| Mali-G52 2EE
|-  
|-  
| <strong>Memory</strong>
| <strong>Memory</strong>
| 1&ndash;4GB<br>LPDDR3
| 1&ndash;4GB<br>LPDDR3
| 2&ndash;4GB<br>LPDDR4
| 2&ndash;4GB<br>LPDDR4
| 2&ndash;4GB<br>LPDDR3
| 2GB<br>LPDDR3
| 2GB<br>LPDDR3
| 4GB<br>LPDDR4
| 4GB<br>LPDDR4
| 2&ndash;3GB<br>LPDDR3
| 2&ndash;3GB<br>LPDDR3
| 4GB<br>LPDDR4 @800 MHz
| 4&ndash;8GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
| Yes
| Yes
| Yes
| Yes
| No
| No
| No
|}
|}


 
==Radxa== <!--T:22-->
==Radxa==


{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
! &nbsp;
! &nbsp;
!  colspan="1" | Radxa
!  colspan="3" | Radxa
|-  
|-  
| style="width: 12%"|
| style="width: 12%"|
<strong>Model</strong>
<strong>Model</strong>
| Rock Pi 4  
| Rock Pi 4  
| Radxa Zero
| Rock 3A
|-  
|-  
| <strong>Release Year</strong>
| <strong>Release Year</strong>
| 2019  
| 2019  
| 2021
| 2022
|-  
|-  
| <strong>SoC Manufacturer</strong>
| <strong>SoC Manufacturer</strong>
| Rockchip  
| Rockchip  
| Amlogic
| Rockchip
|-  
|-  
| <strong>Lithography</strong>
| <strong>Lithography</strong>
| 28nm  
| 28nm  
| 12nm
| 22nm
|-  
|-  
| <strong>CPU</strong>
| <strong>CPU</strong>
| RK3399  
| RK3399  
| S905Y2
| RK3568
|-  
|-  
| <strong>CPU Topology</strong>
| <strong>CPU Topology</strong>
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Hexa-core:<br>2 x Cortex-A72<br>4 x Cortex-A53  
| Quad-core:<br>4 x Cortex-A53
| Quad-core:<br>4 x Cortex-A55
|-  
|-  
| <strong>CPU Frequency</strong>
| <strong>CPU Frequency</strong>
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 2 x 2.0GHz<br>4 x 1.5GHz  
| 4 x 1.8GHz
| 4 x 2.0GHz
|-  
|-  
| <strong>GPU</strong>
| <strong>GPU</strong>
| Mali-T860 MP4  
| Mali-T860 MP4  
| Mali-G31 MP2
| Mali-G52 2EE
|-  
|-  
| <strong>Memory</strong>
| <strong>Memory</strong>
| 1&ndash;4GB<br>LPDDR4
| 1&ndash;4GB<br>LPDDR4
| 1&ndash;4GB<br>LPDDR4
| 2&ndash;8GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| Yes
| No
| No
|}
|}


 
==Raspberry Pi== <!--T:23-->
==Raspberry==


{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->  
! &nbsp;
! &nbsp;
!  colspan="4" | Raspberry
!  colspan="4" | Raspberry Pi
|-  
|-  
| style="width: 12%"|
| style="width: 12%"|
Line 354: Line 507:
| 1&ndash;8GB<br>LPDDR4
| 1&ndash;8GB<br>LPDDR4
| 4GB<br>LPDDR4
| 4GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
| No
| No
| No
|}
|}


<translate>
<translate>
===Raspberry Pi=== <!--T:19-->
===Raspberry Pi=== <!--T:24-->


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


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


<!--T:23-->
<!--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 374: Line 533:
</pre>
</pre>


===Troubleshooting=== <!--T:24-->
===Troubleshooting=== <!--T:29-->


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


<!--T:26-->
<!--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==== <!--T:27-->
====Blocked Update==== <!--T:32-->


<!--T:28-->
<!--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 391: Line 550:
</pre>
</pre>


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


  <!--T:30-->
  <!--T:35-->
sudo systemctl disable brcm43438.service
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:31-->
<!--T:36-->
For the '''Pi 3B+''':
For the '''Pi 3B+''':


  <!--T:32-->
  <!--T:37-->
sudo systemctl disable brcm43438.service
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:33-->
<!--T:38-->
For the '''Pi 4B''':
For the '''Pi 4B''':


  <!--T:34-->
  <!--T:39-->
sudo systemctl disable brcm43438.service
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:35-->
<!--T:40-->
For the '''Pi 400''':
For the '''Pi 400''':


  <!--T:36-->
  <!--T:41-->
sudo systemctl disable brcm43438.service
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:37-->
====Missing Bluetooth after raspberrypi-bootloader/-x update 20210208-1==== <!--T:42-->


<!--T:38-->
<!--T:43-->
First, check whether the bootloader has been updated:
First, check whether the bootloader has been updated:
  pacman -Ss raspberrypi-bootloader
  pacman -Ss raspberrypi-bootloader


<!--T:39-->
<!--T:44-->
Possible results:
Possible results:
  core/raspberrypi-bootloader '''20210208-1''' [installed]
  core/raspberrypi-bootloader '''20210208-1''' [installed]
Line 436: Line 595:
     Bootloader with extra codecs for Raspberry Pi
     Bootloader with extra codecs for Raspberry Pi


<!--T:40-->
<!--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]).
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]).
==Ugoos== <!--T:46-->
{|  class="wikitable" style="text-align: center;width: 100%;"-- Header -->
! &nbsp;
!  colspan="1" | Ugoos
|-
| style="width: 12%"|
<strong>Model</strong>
| AM6 Plus
|-
| <strong>Release Year</strong>
| 2019?
|-
| <strong>SoC Manufacturer</strong>
| Amlogic
|-
| <strong>Lithography</strong>
| 12nm
|-
| <strong>CPU</strong>
| S922XJ 
|-
| <strong>CPU Topology</strong>
| 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
|-
| <strong>GPU</strong>
| Mali-G52 MP6
|-
| <strong>Memory</strong>
| 4GB<br>LPDDR4
|-
| <strong>Generic image support</strong>
| No
|}


==Android TV boxes== <!--T:41-->
==Android TV boxes== <!--T:41-->
Line 444: Line 641:
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.
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.


=See also= <!--T:43-->
=Unsupported Devices= <!--T:43-->
 
<!--T:44-->
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:45-->
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 />