LINUX.ORG.RU

Опакетить ядро для Raspberry Pi

 , , ,


3

2

Собираю для сабжа на ББ кастомное ядро со своими патчами по официальной документации https://www.raspberrypi.com/documentation/computers/linux_kernel.html#cross-compiling-the-kernel Ядро успешно компилируется, дальше предлагается руками установить всё это на диск с системой. Работать так оно будет, но без заголовков ядра и исходного кода которые остались на хосте. Собственно вопрос: а можно ли как-то всё это дело как-то собрать в стандартные .deb чтобы потом установить на малине? И как это в данном случае правильно сделать с учётом всяких .dtbs которые там копируются на отдельную boot-партицию?



Последнее исправление: sholmes (всего исправлений: 2)

В ядре раньше был скрипт scripts/package_deb (или как-то так, исходники не под рукой – не проверить), который генерировал нужные файлы каталога debian/ для сборки пакета. А в Makefile должна быть цель deb-pkg. При сборке также может понадобиться объявить несколько переменных окружения вроде имени и почты маинтейнера.

В общем, глянь цель deb-pkg. Оно должно собрать пакеты с image и headers. Установку DTB в пакет скорее всего надо будет в вышеупомянутом скрипте дописать.

apt_install_lrzsz ★★★
()

Можно. make deb-pkg соберет ядро и заголовки по пакетам. dtb будут лежать в пакете linux-image-<version>.deb по пути usr/lib/linux-image-<version>/broadcom. Их копировать в загрузочный раздел либо вручную, либо создать хук в /etc/kernel/postinst.d. Пример хука можете глянуть в дебиановском пакете raspi-firmware

undef ★★
()
Ответ на: комментарий от undef

Собрал. На первый взгляд всё хорошо, кроме этих .dtb и ядра которое в пакете имеет вид vmlinuz-5.15.92-v8+ (на малине kernel8.img). Попробовал написать скрипт, пока не получилось. Если поможете как это дело правильно оформить чтобы можно было обновлять ядро пакетами, буду вам признателен

sholmes
() автор топика
Ответ на: комментарий от sholmes

Что не так с dtb? Если правильно помню, в Rasperrypi OS такая же схема: dtb в /usr/lib/linux-версия и скрипт, копирующий ядро, инитрд и dtb в загрузочный раздел.

Выше была ссылка на скрипт, который можно взять за основу. Если что-то конкретное не получается, выкладывайте, может и получится помочь.

undef ★★
()