Linux for ARM
5 subscribers
17 photos
32 links
Канал разработчиков проекта «Linux for ARM»

Сайт: https://linux-for-arm.github.io/
Репозиторий: https://github.com/Linux-for-ARM/
Последняя версия: https://linux-for-arm.github.io/book/dev/index.html
Download Telegram
LFA 1.0 (версия от 30.03.2024)

Добавлен раздел по созданию загрузочных файлов LFA (boot.scr, uImage, скрипты busybox init).

PDF-версию руководства можно прочитать здесь.
Для сборки одного из компонентов загрузчика U-Boot требуется кросс-компилятор OpenRISC (or1k-elf). Инструкции по сборке второго кросс-компилятора в руководство не будут добавлены, однако будет доступен готовый пакет с кросс-компилятором.
На этой неделе в LFA (1)

(период с 25 по 31 марта)

Самым главным нововведением в LFA было добавление инструкций по генерации img-образа и дополнение инструкций по сборке загрузчика U-Boot для плат, оснащённых Allwinner SoC. Несмотря на то, что эти инструкции ещё нуждаются в тестировании и, возможно, в дополнении и исправлении, основные работы по оснащению LFA сборочными инструкциями, отсутствующими в оригинальной LFA были сделаны.

Исправлены страницы сборки нескольких пакетов (например, переработал страницу о сборке ядра Linux, исправив пути установки devicetree), а также дополнен раздел дополнительных сведений.

Количество заведённых на нашем GitHub issues увеличилось до 25, 5 из которых имеют критический уровень и помечены как bug, по 3 из 25 нуждается дополнительная помощь, 13 из 25 связаны непосредственно с документацией LFA и 7 из 25 связаны с программным обеспечением в составе LFA.

#Week
Ну что, за этот месяц (с 3 марта) было сделано ровно 100 коммитов в master-ветку репозитория с руководством. За это время были написаны основные инструкции по сборке пакетов, а также начал работу над добавлением сведений о загрузчике U-Boot (по сути LFA и задумывалась не только как адаптация руководства CLFS, но ещё и добавление, в отличие от последней, инструкций по сборке загрузчика).
На этой неделе в LFA (2)

(период с 1 по 7 апреля)

Вновь перерабатываются страницы сборки основных пакетов LFA. На этот раз переработке подвергся раздел сборки загрузчика для плат на базе Allwinner SoC: одна страница со всеми инструкциями по сборке были разделены на несколько, чтобы упростить навигацию и разграничить этапы сборки каждого из компонентов, необходимых для U-Boot. На данный момент работа над разделением ещё не завершена: нам ещё нужно закончить инструкции по установке загрузчика (опционально), установке кросс-компилятора or1k и сборке crust.

Очередной переработке подвергся и раздел по сборке ядра Linux: были добавлены рекомендации по настройке ядра, а также значительно упрощены инструкции по компиляции и установки файлов devicetree. Ну и обновили раздел «Содержимое пакета».

Исправлены инструкции по распаковке компонентов компилятора GCC. Теперь при копировании этих инструкций в терминал не будет возникать ошибка распаковки.

Добавлена страница со сведениями о проверке корректности сборки кросс-компилятора.

Добавлены инструкции по сборке пакета Wireless Tools.

Изменён формат ссылок в руководстве: теперь те ссылки, которые ведут на внешние источники, выделены жирным шрифтом.

Велись работы и над разделом дополнительных материалов: готовы первая и вторая части статей о строении дистрибутивов Linux. Первая часть обзорная и содержит информацию о наборе ПО в типичном дистрибутиве Linux, вторая рассказывает о процессе загрузки ОС на ARM-компьютерах.

С обновлённой версией LFA можно ознакомиться здесь: https://linux-for-arm.github.io/lfa/dev/index.html

#Week
Please open Telegram to view this post
VIEW IN TELEGRAM
Завёл отдельный репозиторий с загрузочными скриптами для системы инициализации из BusyBox. Чтобы не перепечатывать их каждый раз из руководства.
На этой неделе в LFA (4)

(период с 15 по 21 апреля)

Самое важное изменение — это переделка страницы о создании загрузочных скриптов. Теперь вместо того, чтобы перепечатывать достаточно большие скрипты самостоятельно, был создан отдельный пакет LFA Bootscripts, скрипты из которого устанавливаются в систему с помощью системы сборки make.

Вместе с этим добавил в раздел с приложениями подраздел "Загрузочные скрипты и конфигурационные файлы", который содержит листинги скриптов и конфигов, которые создаёт или устанавливает пользователь в $LFA_SYS/etc/*.

Наконец закончил страницу о системах инициализации и начал описывать стандартные утилиты UNIX. Может быть, я когда-нибудь закончу наконец раздел дополнительных материалов, но это не точно 😄.

Дополнил раздел о создании стандартных файлов и каталогов собираемой базовой ОС: теперь предлагается создать дополнительных пользователей и групп. Их создание опционально. Оно может пригодиться тем, кто собирается устанавливать специфичное доп. ПО.

Дополнил страницу о создании файла /etc/hosts, а также написал страницу о создании начального файла /etc/fstab. Можно считать, что весь 4 раздел ("Настройка базовой системы") закончен.

Ну и то, ради чего это руководство и затевалось: сборка загрузчика. Добавил больше информации для обладателей плат на базе Allwinner SoC а именно информация о сборке crust и кросс-компилятора or1k. Также решил проблему скачивания прошивки TF-A - теперь она скачивается корректно из репозитория LFA.

Тем временем релиз LFA 1.0 всё ближе и ближе. Конкретную дату я себе не устанавливал. Первая версия выйдет тогда, когда все issue, касаемые LFA 1.0, будут закрыты.

Количество открытых issue — 6, из которых 2 помечены как bug и 1 как help wanted, закрыто 5 issue. Судя по milestone, LFA 1.0 готова на 84%. В будущем это число будет меняться в бОльшую или мЕньшую сторону, но тем не менее основные задачи выполнены (почти).

С обновлённой версией LFA можно ознакомиться здесь: https://linux-for-arm.github.io/lfa/dev/index.html

#Week
Все помеченные как bug issue были закрыты. Надеюсь, что до релиза новых не всплывёт.
Добавлены списки плат на базе SoC Broadcom и Rockchip, с которыми совместим загрузчик U-Boot. В скором времени инструкции по сборке U-Boot для этих плат будут закончены.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Отходя от майских праздников, заметил, что ссылки на LFA появились в поисковой выдаче Яндекса, пусть и внизу.
Возможно, что релиз LFA 1.0 будет перенесён на начало июня или даже конец марта — всё из-за того, что я не ожидал, что основные issue закрою так быстро.
Please open Telegram to view this post
VIEW IN TELEGRAM
Linux for ARM
UPD. Согласно milestone, релиз готов на 97%. Т.е. нужно закрыть одно issue, протестировать руководство и всё.
Несмотря на то, что над версией LFA 1.0.0 я работал несколько месяцев, я не могу назвать её стабильной на 100% - ничто не идеально. В будущих корректирующих версиях, которые я планирую выпускать так долго, пока не выйдет LFA 2.0.0 (да и вообще не хочу спешить с выходом мажорных версий), конечно, будут исправляться многие ошибки и недочёты, но по-настоящему стабильная и серьёзная версия LFA, на мой взгляд, будет не LFA 1.X, а LFA 2.X.

Условия выхода LFA 2.0.0 таковы:

1. Разработка автоматизированной системы сборки LFA. Система сборки не является заменой ручного метода сборки системы, она предназначена для упрощения тестирования сборочных инструкций LFA на корректность.
2. Расширение и конкретизация сведений о сборке загрузчика U-Boot. Я хочу добавить больше сведений о файлах boot.cmd и uInitrd, конкретизировать главу по сборке img-образа системы, а также добавить информацию о некоторых патчах, которые желательно бы применить к некоторым пакетам.
3. Возможный отказ от 32-битных архитектур семейства ARM. Вообще, я хочу оставить поддержку только ARMv8, но не знаю, решусь ли я на этот радикальный шаг к версии LFA 2.0. Возможно, во втором релизе руководства сохранятся текущие поддерживаемые архитектуры.

Кроме того мне очень хочется написать некое подобие пакетного менеджера для LFA, но это уже мечты, и я не знаю, воплощу ли их когда-либо в жизнь. Как обычно бывает, когда замышляешь что-то крупное, постоянно нет возможности это реализовать — то не хватает времени, то сил, то всего вместе.
Please open Telegram to view this post
VIEW IN TELEGRAM