Обзор
Дистрибутив 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.
- Go to the 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).
Загрузка
Установочные образы можно найти в разделе загрузок на сайте 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-скрипта, чтобы отключить автологин и установить пароль, заданный при настройке.
Поддерживаемые устройства
Жесткое ядро
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
Смотрите также
https://wiki.archlinux.org/index.php/Category:ARM_architecture
https://archlinuxarm.org/wiki
https://osdn.net/projects/manjaro-arm/
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.