Сборка образа ядра для встроенной платформы Linux

Я только что наткнулся на эту опцию вman script:

-f      Flush output after each write. This is nice for telecooperation:
        One person does ‘mkfifo foo; script -f foo’ and another can
        supervise real-time what is being done using ‘cat foo’.

Я еще не играл с этим, но похоже именно то , что я искал. Играя с ним, можно установить, передаются ли также цвет и т. д.

-1
09.02.2020, 01:02
1 ответ

Создание встраиваемого Linux — чрезвычайно широкая, но очень загадочная тема, и я не уверен, что она хорошо вписывается в сайт EE.SE или Unix/Linux.SE.

Некоторые из книг, отвечающих на ваши вопросы, можно найти здесь:

Linux с нуля (LFS)
http://www.linuxfromscratch.org/
Эта книга, основанная на популярном Linux -From -Scratch -HOWTO, описывает процесс создания вашей собственной системы Linux с нуля из уже установленного дистрибутива Linux, используя только исходные тексты программного обеспечения, которые необходимы. "

Эта книга является частью Проекта документации по Linux:
https://www.tldp.org/guides.html

Из ваших предыдущих вопросов (по EE.SE )видно, что вы сами -изучаете встроенные системы,поэтому рекомендуется к прочтению. Linux с нуля предполагает, что вы собираете дистрибутив Linux на ПК для того же ПК; это не связано с проблемой перекрестной -компиляции для другой системы, отличной от ПК.

Дополнительная рекомендуемая литература (также в руководствах TLDP по ссылке выше):

  • Руководство по Bash для начинающих
  • Введение в Linux -Практическое руководство
  • Команда GNU/Linux -Сводка линейных инструментов
  • Расширенный Bash -Руководство по созданию сценариев
  • Руководство системного администратора Linux
  • Руководство по программированию модуля ядра Linux (, если вы начинаете писать драйверы устройств)
  • Пользовательский Linux :Руководство по переносу -Портирование LinuxPPC на пользовательский SBC

Также проверьте Embedded Linux Wiki,https://elinux.org/Main_Page

Вы можете начать с более часто -поддерживаемой встраиваемой целевой системы, такой как Raspberry Pi или Beaglebone, для которых существует большая поддержка. Гораздо больше шансов на успех проекта, если вы начнете с создания достаточно актуального дистрибутива на своем ПК, а затем создадите достаточно актуальный дистрибутив для работы на встроенной целевой системе. По сути, это та же проблема, но гораздо больше людей могут помочь с конкретными вопросами о сборке Raspian (Debian Stretch ), очень немногие даже попытаются догадаться конкретно о Ingeninc SoC. См., например, этот вопрос на RaspberryPi.SE:https://raspberrypi.stackexchange.com/questions/3196/building-kernel-image-img-including-ramdisk

Why root file system is separate from kernel image?

Именно так был спроектирован Linux. Образ ядра — это исполняемый код, который запускается в пространстве ядра (при запуске и со специальными привилегиями ), а корневая файловая система — это его данные. Не имеет смысла комбинировать их, за исключением случаев создания загрузочного носителя для конкретной целевой системы.

What role does busybox play in generating the file system?

Нет. Busybox включает несколько из наиболее -используемых утилит Unix в исполняемый файл оболочки.

Традиционный Unix предпочитал множество маленьких,независимые утилиты; Напротив, подход Busybox объединяет несколько наиболее -используемых утилит в виде встроенных в оболочку -модулей. Busybox — хороший выбор для включения в корневую файловую систему целевой системы, поскольку он предоставляет множество полезных утилит в довольно небольшом удобном пакете.

Руководство «Linux с нуля» следует традиционному, не -подходу Busybox. Я бы порекомендовал сначала пройти этот процесс, не беспокоясь о том, включать ли Busybox для вашей целевой системы.

if the linux image is compiled without root file system how to merge the two to have drivers in /sys directory in the root file system?

Драйверы устройств либо создаются как часть образа ядра, либо представляют собой отдельные загружаемые модули ядра, которые дополнительно загружаются в процессе загрузки.

Хотя термин «файл» обычно означает битовый поток, который хранится на -энергонезависимом запоминающем устройстве, таком как жесткий диск или USB-накопитель, «файл» также может означать любой временный набор битов данных, который имеет имя или какая-то другая ручка. В /proc, /sys и /dev есть несколько специальных, динамически -сгенерированных файлов, которые генерируются ядром и монтируются поверх пустых заполнителей /proc /sys и /dev корневой файловой системы.

3
28.04.2021, 23:24

Теги

Похожие вопросы