Manjaro-ARM

Revision as of 06:44, 1 March 2023 by Krotesk (talk | contribs)
Other languages:
English • ‎русский • ‎فارسی • ‎中文(中国大陆)‎

Обзор

Дистрибутив Manjaro, но для ARM-устройств.

Основан на Arch Linux ARM в сочетании с инструментами, темами и инфраструктурой Manjaro для создания установочных образов для ваших ARM-устройств, таких как Pinebook и Raspberry Pi.

Установка

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

Загрузка

Установочные образы можно найти в разделе загрузок на сайте Manjaro.
Найдите образ, соответствующий вашему целевому устройству и желаемой редакции.
Или, если у вас есть прошивка Board Firmware на вашем SPI, вы можете попробовать наши новые Generic Aarch64 образы.

Запись установочного носителя

Образы находятся в файле .xz. Эти файлы можно записать непосредственно на SD-карту с помощью Etcher или с помощью dd. Для ручной установки на SD с помощью dd:

Извлеките образ.

unxz Manjaro-ARM-[редакция]-[устройство]-[версия].xz

Запишите его на SD-карту

sudo dd if=Manjaro-ARM-[Edition]-[Device]-[Version].img of=/dev/[device] bs=4M

Где [device] - устройство вашей SD-карты, как его видит lsblk. Обычно это mmcblk0 или sdb.


Очистка и первая загрузка

После того, как образ будет сохранен на SDCard, вы сможете вставить карту в устройство и подключить его. Если все работает правильно, устройство должно загрузиться в OEM-установку. Здесь вы определяете имя пользователя, пароли, локали и т.д. После этого сценарий выполнит очистку, изменит размер раздела и перезагрузит устройство. После перезагрузки должна загрузиться операционная система. В зависимости от установленной редакции, это может быть просто вход в TTY или графическая среда рабочего стола.

Изменение размеров разделов

Начиная с версии 18.09 это теперь делается автоматически. Устройство загрузится в OEM установщик, который обработает изменение размера, а затем перезагрузится до появления экрана входа в систему. Когда устройство загрузится до экрана входа в систему, размер файловой системы будет изменен, чтобы заполнить оставшееся пространство на SD-карте.


Логин

Логин зависит от того, что вы установили во время OEM-установки. По умолчанию на образе есть 1 пользователь - root. По умолчанию у него нет пароля и включен автологин. Это изменяется при запуске OEM-скрипта, чтобы отключить автологин и установить пароль, заданный при настройке.

Поддерживаемые устройства

Устройства, перечисленные здесь, либо поддерживаются образами для конкретных устройств, либо запускаются из общих образов с прошивкой платы по SPI, либо все еще устанавливаются с помощью скрипта Manjaro ARM Installer.

Список устройств

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

С помощью пары небольших настроек можно загрузить и установить сборку vim3 Manjaro на некоторые Amlogic TV box. Запуск Manjaro на ТВ-боксах не рекомендуется для неопытных пользователей Linux и для серьезного продакшена.

Устранение неисправностей

Кнопка питания Pi 400

Если у вас возникли проблемы с использованием кнопки питания на Pi 400 с рабочим столом XFCE (или xfce4-power-manager), убедитесь, что logind обрабатывает события кнопки:

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-power-key -n -t bool -s true

Блокировка обновления

Существуют обходные пути, зависящие от устройства, если вы столкнулись с ошибкой, подобной этой:

error: failed to prepare transaction (conflicting dependencies)
:: brcm-patchram-plus and pi-bluetooth are in conflict

Для Pi 3B:

sudo systemctl disable brcm43438.service

sudo pacman -S -dd  brcm-patchram-plus-pi3b firmware-raspberrypi
sudo systemctl enable attach-bluetooth-pi3.service

Для Pi 3B+:

sudo systemctl disable brcm43438.service

sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
sudo systemctl enable attach-bluetooth.service

Для Pi 4B:

sudo systemctl disable brcm43438.service

sudo pacman -S -dd  brcm-patchram-plus firmware-raspberrypi
sudo systemctl enable attach-bluetooth.service

Для Pi 400:

sudo systemctl disable brcm43438.service

sudo pacman -S -dd  brcm-patchram-plus-pi400 firmware-raspberrypi
sudo systemctl enable attach-bluetooth-pi400.service

Отсутствие Bluetooth после обновления raspberrypi-bootloader/-x 20210208-1

Сначала проверьте, был ли обновлен загрузчик:

pacman -Ss raspberrypi-bootloader

Возможные результаты:

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

Если это так, то замена ttyAMA0 в /boot/cmdline.txt на serial0 может исправить пропажу Bluetooth (Источник).

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

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.