Глава 4. Linux SDK - инструкция по сборке OrangePi
4.5. Как скомпилировать rootfs
1) Запустите скрипт build.sh, не забудьте добавить разрешение sudo
test@test:~/orangepi-build$ sudo ./build.sh
2) Выберите Rootfs и все отладочные пакеты, затем нажмите Enter
Img
4.15
3) Затем выберите модель платы
Img
4.16
4) Затем выберите тип ветки исходного кода ядра, тип rootfs,
поддерживаемый разными версиями исходного кода ядра, отличается
Img
4.17
a. В текущей ветке можно увидеть debian11, ubuntu20.04, ubuntu22.04 три варианта
b. В следующей ветке можно увидеть debian11, debian12, ubuntu22.04 три варианта
5) Затем выберите тип rootfs
Img
4.18
6) Затем выберите тип изображения
Img
4.19
a. Образ с консольным интерфейсом (сервер)
Указывает образ версии сервера, который относительно мал.
b. Образ со средой рабочего стола
Указывает образ с относительно большим рабочим столом.
7) Если вы компилируете образ серверной версии, вы также можете
компилировать стандартную версию или минимальную версию.
Предустановленного программного обеспечения в минимальной версии будет
намного меньше, чем в стандартной версии. Не выбирайте
минимальную версию, если нет особых требований, потому что многие вещи не
предустановлены по умолчанию. Некоторые функции могут быть недоступны.
Img
4.20
8) Если вы компилируете образ десктопной версии, вам также нужно выбрать
тип среды рабочего стола.
В настоящее время поддерживается только XFCE, поэтому выберите рабочий стол
типа XFCE
Img
4.21
Img
4.22
Затем вы можете выбрать дополнительные пакеты, которые необходимо установить.
Нажмите клавишу Enter, чтобы перейти прямо сюда.
Img
4.23
9) Затем он начнет компилировать rootfs, и некоторая информация,
запрашиваемая во время компиляции, объясняется следующим образом
a. Тип корневой файловой системы
[ o.k. ] local not found [ Creating new rootfs cache for bullseye ]
b. Путь хранения скомпилированного сжатого пакета rootfs
[ o.k. ] Target directory [ orangepi-build/external/cache/rootfs ]
c. Имя сжатого пакета rootfs, сгенерированного при компиляции.
[ o.k. ] File name [ bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4 ]
10) Просмотрите сжатый пакет rootfs, сгенерированный при компиляции
a. bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4 — это
сжатый пакет rootfs, значение каждого поля имени:
a) яблочко указывает на тип линукс-дистрибутива rootfs
b) xfce означает, что rootfs - это тип десктопной версии, если это cli,
то это означает тип серверной версии
c) arm64 представляет тип архитектуры rootfs
d) 25250ec7002de9e81a41de169f1f89721 — это хеш-значение MD5,
сгенерированное именами пакетов всех программных пакетов, установленных rootfs.
Пока список пакетов программного обеспечения, устанавливаемых rootfs, не изменяется,
это значение не изменится. Сценарий компиляции будет использовать это хеш-значение MD5 для
генерации. Определите, нужно ли перекомпилировать rootfs.
b. bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4.list
перечисляет имена всех пакетов, установленных rootfs
test@test:~/orangepi-build$ ls external/cache/rootfs/
bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4
bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4.current
bullseye-xfce-arm64.5250ec7002de9e81a41de169f1f89721.tar.lz4.list
11) Если требуемая rootfs уже существует в external/cache/rootfs, то
повторная компиляция rootfs напрямую пропустит процесс компиляции и не
перезапустит компиляцию.
При компиляции образа он также переходит к external/cache/rootfs, чтобы узнать,
есть ли у него. Если в кеше есть rootfs, используйте его напрямую,
что может сэкономить много времени на загрузку и компиляцию