Manjaro-ARM
Обзор
Дистрибутив Manjaro, но для ARM-устройств.
Основан на Arch Linux ARM в сочетании с инструментами, темами и инфраструктурой Manjaro для создания установочных образов для ваших ARM-устройств, таких как Pinebook и Raspberry Pi.
Установка
Подготовка SPI (необязательно)
Некоторые платы имеют микросхему хранения SPI. Это небольшое запоминающее устройство, обычно размером 4-16 МБ, которое плата проверяет на наличие встроенного ПО, прежде чем перейти к другим устройствам. Поэтому мы можем использовать этот чип, подготовив на нем прошивку для конкретной платы, чтобы он мог загружать наш образ generic и наш образ generic EFI. В настоящее время мы протестировали Town-Boot, так что это то, что будет использоваться в этом руководстве.
- 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.
Наш образ Generic Aarch64 поддерживает схему загрузки Extlinux, а наш Generic EFI Aarch64 использует прошивку с поддержкой EFI (которая есть у tow-boot).
Загрузка
Установочные образы можно найти в разделе загрузок на сайте 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 и для серьезного продакшена.
Советы Raspberry Pi
Датчики
Для датчика температуры и влажности смотрите этот учебник на форуме: https://forum.manjaro.org/t/howto-raspberry-pi-temperature-and-humidity-sensor-dht22-dht11-am2302/34685.
Разгон
Вы можете управлять настройками напряжения и частоты в файле /boot/config.txt
. Ниже приведены наиболее распространенные значения для Raspberry Pi:
over_voltage=6 arm_freq=2100 gpu_freq=650
Устранение неполадок Raspberry Pi
Кнопка питания 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 (Источник).
Неподдерживаемые устройства
В общем, любое устройство, не имеющее образа для него конкретно или работающего с образом Generic, считается неподдерживаемым. Мы можем прекратить поддержку устройства, когда производитель больше не продает его. Тогда устройство считается EOL (End-Of-Life). Такое устройство может продолжать работать, если обновить старый образ или запустить образ Generic, но мы больше не будем поддерживать его работоспособность.
Смотрите также
https://wiki.archlinux.org/index.php/Category:ARM_architecture
https://archlinuxarm.org/wiki
https://osdn.net/projects/manjaro-arm/