Yocto/Poky: Как удалить hwclock из busybox?
Я создаю встроенный дистрибутив Linux на основе Poky для цели, у которой нет часов реального времени. Системное время устанавливается только ntpd
, Поэтому мне не нужен скрипт инициализации, который вызывает hwclock --hctosys
во время загрузки, и на самом деле я боюсь, что это может привести к системному времени, которое установлено ntpd
быть перезаписано с неправильным значением.
Так как мне избавиться от сценария инициализации hwclock? Оказывается, это происходит из рецепта busybox. Рецепт по умолчанию для busybox в Poky содержит следующие строки:
PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
...
FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
...
INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev ${PN}-hwclock"
...
INITSCRIPT_NAME_${PN}-hwclock = "hwclock.sh"
Я понятия не имею, как удалить все ссылки на hwclock изнутри *.bbappend
файл. Есть ли какое-то простое решение, или это невозможно из bbappend, и я должен переписать весь рецепт?
2 ответа
Вы можете отключить его из файла defconfig, настроив CONFIG_HWCLOCK=n, расположенный в openembedded-core/meta/recipes-core/busybox/busybox/defconfig.
Если вы хотите исключить пакеты из сборки и не хотите прибегать к манипуляциям с рабочими рецептами, простоPACKAGE_EXCLUDE = "<package_name>"
в вашейlocal.conf
Это мой пример:PACKAGE_EXCLUDE = "busybox-syslog busybox-hwclock"
Но учтите, что некоторые пакеты могут зависеть от hwclock. В худшем случае вы получите ошибку зависимости bitbake.