Система инициализации LFA
Большинство современных дистрибутивов Linux в качестве системы инициализации используют systemd. Есть несколько "особенных", которые вместо него используют либо SysVInit, либо OpenRC либо что-то ещё более экзотическое.
А вот в LFA ничего из этого нет! Всё дело в том, что LFA это руководство, в котором рассказывается о встраиваемой системе, поэтому применение какого-то "тяжёлого" софта, на мой взгляд, не является предпочтительным, поэтому здесь используется система инициализации из состава BusyBox. Подобно SysVInit он использует загрузочные скрипты, с примером которых вы можете ознакомиться в нашем репозитории lfa-bootscripts. В LFA 1.1 о системе инициализации BusyBox будет рассказано подробнее.
Вообще, BusyBox содержит в себе просто кучу самых разных программ (понятное дело, весьма минималистичных), объединённых в один двоичный файл. Вы можете ознакомиться с каждой из них при сборке этого пакета.
#Tips
Большинство современных дистрибутивов Linux в качестве системы инициализации используют systemd. Есть несколько "особенных", которые вместо него используют либо SysVInit, либо OpenRC либо что-то ещё более экзотическое.
А вот в LFA ничего из этого нет! Всё дело в том, что LFA это руководство, в котором рассказывается о встраиваемой системе, поэтому применение какого-то "тяжёлого" софта, на мой взгляд, не является предпочтительным, поэтому здесь используется система инициализации из состава BusyBox. Подобно SysVInit он использует загрузочные скрипты, с примером которых вы можете ознакомиться в нашем репозитории lfa-bootscripts. В LFA 1.1 о системе инициализации BusyBox будет рассказано подробнее.
Вообще, BusyBox содержит в себе просто кучу самых разных программ (понятное дело, весьма минималистичных), объединённых в один двоичный файл. Вы можете ознакомиться с каждой из них при сборке этого пакета.
#Tips
Навигация по руководству
Устали использовать мышь для переключения на страницу вперёд/назад? Используйте клавиатуру! С помощью стрелок "Влево" и "Вправо" возможна навигация на страницу вперёд/назад, а по нажатию на клавишу
#Tips
Устали использовать мышь для переключения на страницу вперёд/назад? Используйте клавиатуру! С помощью стрелок "Влево" и "Вправо" возможна навигация на страницу вперёд/назад, а по нажатию на клавишу
s
откроется строка поиска по руководству.#Tips
Офлайн версия руководства
Если вам нужен доступ к LFA и без интернета, то вы, конечно, можете воспользоваться PDF-версией, однако она, на мой взгляд, не очень удобна по сравнению с HTML-версией. Скачайте архив с offline-html руководством и откройте файл
#Tips
Если вам нужен доступ к LFA и без интернета, то вы, конечно, можете воспользоваться PDF-версией, однако она, на мой взгляд, не очень удобна по сравнению с HTML-версией. Скачайте архив с offline-html руководством и откройте файл
index.html
. На этом всё - больше никаких телодвижений для чтения руководства предпринимать не нужно и уж тем более не нужно устанавливать никаких серверов и прочего ПО.#Tips
Сборка дополнительного ПО
Если в собранной системе LFA вы хотите иметь дополнительное ПО, то, конечно, можете попробовать собрать его с помощью нашего кросс-компилятора. Этот метод наиболее предпочтительный, если вы собираете некрупную программу с небольшим числом зависимостей или вообще без них. Однако если же вы собираете что-то крупное, то вам будет сложно скомпилировать как его зависимости, так и искомую программу, да и в случае кросс-компиляции такого крупного ПО шанс собрать что-то не так возрастает.
Поэтому для сложного ПО рекомендуем вам поднять виртуальную машину (да ту же QEMU) и собирать там. Для этого вам нужна уже собранная по LFA система - она у вас уже есть. Всё, что вам нужно - это собрать загрузчик U-Boot для QEMU и создать ряд необходимых для него файлов, после чего сгенерировать образ полученной системы и загрузиться с него (обратите также своё внимание на то, что ядро также должно иметь поддержку эмулируемых железок в QEMU). Далее вы собираете в этой системе все зависимости, а также искомую программу, запаковываете собранные зависимости и программу в архив (и только их, но не всю систему!) и распаковываете в
#Tips
Если в собранной системе LFA вы хотите иметь дополнительное ПО, то, конечно, можете попробовать собрать его с помощью нашего кросс-компилятора. Этот метод наиболее предпочтительный, если вы собираете некрупную программу с небольшим числом зависимостей или вообще без них. Однако если же вы собираете что-то крупное, то вам будет сложно скомпилировать как его зависимости, так и искомую программу, да и в случае кросс-компиляции такого крупного ПО шанс собрать что-то не так возрастает.
Поэтому для сложного ПО рекомендуем вам поднять виртуальную машину (да ту же QEMU) и собирать там. Для этого вам нужна уже собранная по LFA система - она у вас уже есть. Всё, что вам нужно - это собрать загрузчик U-Boot для QEMU и создать ряд необходимых для него файлов, после чего сгенерировать образ полученной системы и загрузиться с него (обратите также своё внимание на то, что ядро также должно иметь поддержку эмулируемых железок в QEMU). Далее вы собираете в этой системе все зависимости, а также искомую программу, запаковываете собранные зависимости и программу в архив (и только их, но не всю систему!) и распаковываете в
$LFA_SYS
, т.е. туда, где содержатся файлы собранной системы LFA.#Tips