Regular/arm: различия между версиями
Строка 22: | Строка 22: | ||
== Запись дистрибутива на SD-карту == | == Запись дистрибутива на SD-карту == | ||
1.1 | :'''1)''' Подготовка SD-карты. Потребуется micro-SD карта не менее 4 ГБ (Рекомендуется 8 ГБ и более). Для создания разделов можно воспользоваться программой gparted. Если целевой платформой будет не Raspberry Pi 2/3 (и поддержка её в будущем не нужна), то пункт '''1.2''' можно пропустить. | ||
:'''2)''' Создаём таблицу разделов msdos | |||
1. | ::'''1.2)''' Создаём раздел с файловой системой '''FAT''' (FAT16) размером не менее 30 МБ | ||
1. | ::'''1.3)''' Создаём раздел с файловой системой '''ext4'''. Под него выделяем всё оставшееся место | ||
1.5 Устанавливаем второму разделу флаг "boot" | ::'''1.4)''' Присваиваем второму разделу метку (Label) "'''ROOT'''" | ||
::'''1.5)''' Устанавливаем второму разделу флаг "'''boot'''" | |||
Должно получиться как на картинке | Должно получиться как на картинке | ||
Строка 38: | Строка 39: | ||
[[Файл:Разбивка в Gparted.png]] | [[Файл:Разбивка в Gparted.png]] | ||
2 Распаковываем rootfs на второй раздел SD-карты с файловой системой ext4: | :'''2)''' Распаковываем rootfs на второй раздел SD-карты с файловой системой ext4: | ||
2.1 Для этого получаем права root: | ::'''2.1)''' Для этого получаем права root: | ||
<pre> su - </pre> | <pre> su - </pre> | ||
2.2 Распаковываем командой: | ::'''2.2)''' Распаковываем командой: | ||
<pre> tar -xpJf /путь/до/имя_rootfs.tar.xz -C /путь/до/раздела_ROOT/sd-карты/</pre> | <pre> tar -xpJf /путь/до/имя_rootfs.tar.xz -C /путь/до/раздела_ROOT/sd-карты/</pre> | ||
3 Записываем bootloader (загрузчик) на SD-карту | :'''3)''' Записываем bootloader (загрузчик) на SD-карту | ||
3.1 Для Raspberry Pi 3 нужно скопировать из rootfs на раздел fat для aarch64: | ::'''3.1)''' Для Raspberry Pi 3 нужно скопировать из rootfs на раздел fat для aarch64: | ||
<pre>/usr/share/u-boot/rpi_3/kernel8.img</pre> | <pre>/usr/share/u-boot/rpi_3/kernel8.img</pre> | ||
Строка 58: | Строка 59: | ||
<pre>/usr/share/u-boot/rpi_3_32b/kernel7.img</pre> | <pre>/usr/share/u-boot/rpi_3_32b/kernel7.img</pre> | ||
3.2 Затем нужно скопировать проприетарные компоненты (блобы) для raspberry на раздел fat. | ::'''3.2)''' Затем нужно скопировать проприетарные компоненты (блобы) для raspberry на раздел fat. | ||
Блобы нужно брать с https://github.com/raspberrypi/firmware/tree/next/boot | Блобы нужно брать с https://github.com/raspberrypi/firmware/tree/next/boot | ||
Строка 72: | Строка 73: | ||
start_x.elf</pre> | start_x.elf</pre> | ||
3.3 Создать файл config.txt и положить на раздел FAT с такой строчкой: | ::'''3.3)''' Создать файл config.txt и положить на раздел FAT с такой строчкой: | ||
<pre>enable_uart=1</pre> | <pre>enable_uart=1</pre> | ||
Также блобы можно взять из пакета raspberrypi-firmware (в следующей сборке будет на SD-карте) | Также блобы можно взять из пакета raspberrypi-firmware (в следующей сборке будет на SD-карте) | ||
3.4 Для всех остальных плат (поддерживаемых) загрузчики находятся в записанной rootfs: | ::'''3.4)''' Для всех остальных плат (поддерживаемых) загрузчики находятся в записанной rootfs: | ||
Для плат семейства Orange Pi PC2 и Orange Pi Prime два файла: sunxi-spl.bin и u-boot.itb (из пакета u-boot-sunxi): | Для плат семейства Orange Pi PC2 и Orange Pi Prime два файла: sunxi-spl.bin и u-boot.itb (из пакета u-boot-sunxi): | ||
Строка 88: | Строка 89: | ||
Для других плат ищите инструкции в /usr/share/doc/u-boot-*/ в rootfs | Для других плат ищите инструкции в /usr/share/doc/u-boot-*/ в rootfs | ||
4 Выполняем команду c правами root: | ::'''4)''' Выполняем команду c правами root: | ||
<pre>sync</pre> | <pre>sync</pre> |
Версия от 06:09, 17 февраля 2019
Регулярные сборки для одноплатных компьютеров c архитектурой процессора armh и aarch64
Введение
Регулярные сборки для одноплатных компьютеров предназначены для тестирования репозитория Sisyphus. Подробнее об их назначении смотреть основную статью Regular. Сборки представляют собой архив файловой системы в формате tar.xz, которую предстоит развернуть на SD-карте в соответствии с инструкцией.
Первый запуск проходит долго, нужно набраться терпения. Проверяется файловая система и происходит перезагрузка. Затем загружается мастер первого запуска из шести стандартных шагов, в котором вы принимаете условия лицензии, настраиваете часовой пояс и время, задаёте пароль суперпользователя root, создаёте системного пользователя. По завершении работы мастера снова произойдёт перезагрузка, после которой загрузится экран приветствия готовой к работе системы.
Эти сборки тестировались на одноплатных компьютерах Raspberry Pi 3 B+ и Orange Pi Prime. О выявленных проблемах просьба сообщать antohami@. Но для начала прочтите соответствующий раздел.
Прямые ссылки на загрузку
Запись дистрибутива на SD-карту
- 1) Подготовка SD-карты. Потребуется micro-SD карта не менее 4 ГБ (Рекомендуется 8 ГБ и более). Для создания разделов можно воспользоваться программой gparted. Если целевой платформой будет не Raspberry Pi 2/3 (и поддержка её в будущем не нужна), то пункт 1.2 можно пропустить.
- 2) Создаём таблицу разделов msdos
- 1.2) Создаём раздел с файловой системой FAT (FAT16) размером не менее 30 МБ
- 1.3) Создаём раздел с файловой системой ext4. Под него выделяем всё оставшееся место
- 1.4) Присваиваем второму разделу метку (Label) "ROOT"
- 1.5) Устанавливаем второму разделу флаг "boot"
Должно получиться как на картинке
- 2) Распаковываем rootfs на второй раздел SD-карты с файловой системой ext4:
- 2.1) Для этого получаем права root:
su -
- 2.2) Распаковываем командой:
tar -xpJf /путь/до/имя_rootfs.tar.xz -C /путь/до/раздела_ROOT/sd-карты/
- 3) Записываем bootloader (загрузчик) на SD-карту
- 3.1) Для Raspberry Pi 3 нужно скопировать из rootfs на раздел fat для aarch64:
/usr/share/u-boot/rpi_3/kernel8.img
для armh:
/usr/share/u-boot/rpi_3_32b/kernel7.img
- 3.2) Затем нужно скопировать проприетарные компоненты (блобы) для raspberry на раздел fat.
Блобы нужно брать с https://github.com/raspberrypi/firmware/tree/next/boot
bootcode.bin fixup_cd.dat fixup.dat fixup_db.dat fixup_x.dat start_cd.elf start_db.elf start.elf start_x.elf
- 3.3) Создать файл config.txt и положить на раздел FAT с такой строчкой:
enable_uart=1
Также блобы можно взять из пакета raspberrypi-firmware (в следующей сборке будет на SD-карте)
- 3.4) Для всех остальных плат (поддерживаемых) загрузчики находятся в записанной rootfs:
Для плат семейства Orange Pi PC2 и Orange Pi Prime два файла: sunxi-spl.bin и u-boot.itb (из пакета u-boot-sunxi):
dd if=путь/до/rootfs/usr/share/u-boot/имя_платы/sunxi-spl.bin of=/dev/mmcblkX bs=8k seek=1 dd if=путь/до/rootfs/usr/share/u-boot/имя_платы/u-boot.itb of=/dev/mmcblkX bs=8k seek=5 sync
где вместо X нужно поставить цифру, соответствующую вашей SD-карте.
Для других плат ищите инструкции в /usr/share/doc/u-boot-*/ в rootfs
- 4) Выполняем команду c правами root:
sync
Ждём её завершения. После чего безопасно извлекаем карту, размонтировав разделы.
Текущие проблемы
Общие
- Не выходит из ждущего режима
- Нет аппаратных часов. При загрузке время обнуляется на дату релиза systemd. При использовании sysVinit вообще на 1970 год.
В сборках от 20190213 openntpd был заменён на chrony. Теперь время синхронизируется сразу же при подключении к интернету. Но только если используется подключение через NetworkManager.
- Для того, чтобы заработало аппаратное ускорение видео, удалите файл /etc/X11/xorg.conf.d/99-modesetting-noglamor.conf
Аппаратное ускорение поддерживает Raspberry Pi2/3. Большинство других подобных компьютеров на данный момент (февраль 2019) не поддерживают аппаратное ускорение графики.