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
Добавлены списки плат на базе 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
На этой неделе в LFA (8)

(период с 20 по 26 мая)

На этой неделе вышел в свет наш первый релиз LFA 1.0! В принципе, писать больше нечего. Версия 1.1 будет в содержать в основном обновления пакетов, исправления опечаток и дополнение инструкций по сборке загрузчика U-Boot.

Ну и конечно же ALFA (Automated Linux for ARM) — программа для сборки LFA из исходного кода. Я планирую начать работу над ней и закончить к выходу LFA 2.0. Я хочу использовать ALFA для тестирования сборочных инструкций, потому что собирать всё вручную — это долго и муторно для тестирования и работы над LFA.

Для LFA 1.1 обновил часть пакетов и дополнил список требований к хосту. Спасибо одному из читателей за обратную связь!

#Week
Please open Telegram to view this post
VIEW IN TELEGRAM
Система инициализации LFA

Большинство современных дистрибутивов Linux в качестве системы инициализации используют systemd. Есть несколько "особенных", которые вместо него используют либо SysVInit, либо OpenRC либо что-то ещё более экзотическое.

А вот в LFA ничего из этого нет! Всё дело в том, что LFA это руководство, в котором рассказывается о встраиваемой системе, поэтому применение какого-то "тяжёлого" софта, на мой взгляд, не является предпочтительным, поэтому здесь используется система инициализации из состава BusyBox. Подобно SysVInit он использует загрузочные скрипты, с примером которых вы можете ознакомиться в нашем репозитории lfa-bootscripts. В LFA 1.1 о системе инициализации BusyBox будет рассказано подробнее.

Вообще, BusyBox содержит в себе просто кучу самых разных программ (понятное дело, весьма минималистичных), объединённых в один двоичный файл. Вы можете ознакомиться с каждой из них при сборке этого пакета.

#Tips
Навигация по руководству

Устали использовать мышь для переключения на страницу вперёд/назад? Используйте клавиатуру! С помощью стрелок "Влево" и "Вправо" возможна навигация на страницу вперёд/назад, а по нажатию на клавишу s откроется строка поиска по руководству.

#Tips
Офлайн версия руководства

Если вам нужен доступ к LFA и без интернета, то вы, конечно, можете воспользоваться PDF-версией, однако она, на мой взгляд, не очень удобна по сравнению с HTML-версией. Скачайте архив с offline-html руководством и откройте файл index.html. На этом всё - больше никаких телодвижений для чтения руководства предпринимать не нужно и уж тем более не нужно устанавливать никаких серверов и прочего ПО.

#Tips
Сборка дополнительного ПО

Если в собранной системе LFA вы хотите иметь дополнительное ПО, то, конечно, можете попробовать собрать его с помощью нашего кросс-компилятора. Этот метод наиболее предпочтительный, если вы собираете некрупную программу с небольшим числом зависимостей или вообще без них. Однако если же вы собираете что-то крупное, то вам будет сложно скомпилировать как его зависимости, так и искомую программу, да и в случае кросс-компиляции такого крупного ПО шанс собрать что-то не так возрастает.

Поэтому для сложного ПО рекомендуем вам поднять виртуальную машину (да ту же QEMU) и собирать там. Для этого вам нужна уже собранная по LFA система - она у вас уже есть. Всё, что вам нужно - это собрать загрузчик U-Boot для QEMU и создать ряд необходимых для него файлов, после чего сгенерировать образ полученной системы и загрузиться с него (обратите также своё внимание на то, что ядро также должно иметь поддержку эмулируемых железок в QEMU). Далее вы собираете в этой системе все зависимости, а также искомую программу, запаковываете собранные зависимости и программу в архив (и только их, но не всю систему!) и распаковываете в $LFA_SYS, т.е. туда, где содержатся файлы собранной системы LFA.

#Tips
https://wiki.freebsd.org/arm/Allwinner/booting

Информация с WiKi FreeBSD по поводу записи загрузчика (U-Boot) на компьютеры с Allwinner SoC. 3 достаточно распространённых среди одноплатников SoC Allwinner, Broadcom и Rockchip. Мб есть и другие, но я пока что встречал одноплатники именно с этими.
Please open Telegram to view this post
VIEW IN TELEGRAM