2016-09-16 6 views
2

Я работаю над встроенным проектом на Zedboard. Я хотел бы (по крайней мере на данный момент) использовать Bitbake только для создания правильных корней. Я использую рецепт core-image-minimal, так как мне нужно только ограниченное количество персонала. Как я могу «рассказать», чтобы он не скомпилировал ядро, а не делал u-boot и т. Д. И фокусировался только на rootfs?Изменение минимального размера ядра для создания rootfs

Вот что я сделал до сих пор:

  1. Создано моя сборка среды
  2. Загруженные необходимые слои
  3. Modified local.conf добавить необходимые пакеты для корневой файловой системы

Тогда после ввода

bitbake core-image-minimal 

Я получаю свои rootfs и весь этот ненужный персонал. Как я могу избежать этого?

+0

Что вы пытаетесь достичь здесь? Меньше времени для создания изображения? Меньше использования диска? В схеме вещей ядро ​​и u-boot - это очень маленькие части процесса сборки, поэтому их удаление, вероятно, не будет иметь большого значения. Большая часть времени сборки берется при создании компиляторов и libc. –

+0

Я хочу делать все правильно, и я хочу лучше понять Йотто. Как вы сказали, время не имеет решающего значения, поскольку компиляция rootfs составляет около 3 часов, а ядро ​​~ 15min. – Staszek

ответ

1

У меня недавно была такая же потребность в Создайте rootfs с помощью yocto, пропустив другие вещи, такие как ядро, uboot, создание изображений и т. Д. Есть много законных причин для этого. В любом случае, это то, что вам нужно сделать:

bitbake core-image-minimal -c image_cpio 

в krogoth, это будет заполнять корневой файловой системы каталог в build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/ и создать rootfs.cpio файл в build/tmp/deploy/images/$MACHINE/

в Морти, то rootfs.cpio архивы, похоже, находятся в build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/deploy-core-image-minimal-image-complete/

+0

Спасибо! Я проверю это позже с morthy и соглашусь, если это сработает. – Staszek

1

Интересное понятие. Однако из того, что я наблюдал, Yocto должен получить defconfig в ядре и u-boot, чтобы выполнить настройку на самом изображении. Поэтому удаление процесса сделает rootfs не загрузочным.

Это произошло для меня много раз, так как я использовал разные ядра для компиляции для разных машин. Я думал, что образ ARM будет таким же и будет работать на всех машинах, но я ошибся.

Для Debian скомпилированные изображения должны использовать соответствующую конфигурацию ядра для компиляции rootfs для ее работы. И Йокто - это то же самое.

+0

Ну, как я уже сказал, я просто игнорирую ядро ​​и U-boot от Yocto и беру только rootfs, и он работает. Вероятно, это потому, что конфигурация ядра по умолчанию похожа на мою. Я буду исследовать в этом, спасибо! +1 для указания важной вещи (надеюсь, что это не незаконно :)) – Staszek