OpenEmbedded/Загрузка b4 с новой FS

Материал из b4wiki

Перейти к: навигация, поиск

Содержание

Загрузка B4 c новой FS

И так, мы установили OpenEmbedded, настроили его под B4, cобрали rootfs. Чтобы ее загрузить нам не хватает 3х вещей:

  1. загрузчика, способного грузиться с CF
  2. начальной файловой системы, с которой будут загружены все необходимые модули, чтобы ядро смогло подмонтировать CF
  3. СF c ядром Linux, образом начальной загрузки и rootfs

Bootldr

Выкачиваем из svn bootloader:

 svn co svn://srv/b4/branch/bootldr.yl bootldr

Cобираем его под вторую ревизию платы (загрузка с CF работает только на второй ревизии) и прошиваем.

Initramfs

при помощи BitBake собираем пакет initramfs-b4-image. Готовый образ initramfs будет лежать тамже где и rootfs - /home/user/oe/build/tmp/deploy/images/

Bootable CF

Берем обычный CF и делим его на два раздела: 1-ый раздел FAT-16 - 16мб будет вполне достаточно, 2-ой раздел ext3 - все остальное место.

Монтируем первый раздел (допустим в /media). Создаем на нем папку boot, копируем туда ядро, образ начальной загрузки и файл params (из /home/user/oe/b4/config/).

 cp build/tmp/deploy/images/initramfs-b4-image-b4.cpio.gz /media/boot/initrd
 cp build/tmp/deploy/images/zImage-b4.bin /media/boot/zImage
 cp b4/config/params /media/boot/params

Имена должны быть именно такими! Отмонтируем первый раздел.

Монтируем второй раздел (опять в /media). Из под fakeroot разворачиваем в /media/ архив с файловой системой. Отмонтируем второй раздел.

Загрузка

Загрузочная CF готова. Вставляем CF в B4, цепляем RS232, включаем и смотрим. Сейчас там есть несколько ошибок с udev и initscripts, нет поддержки micrel, но загрузиться и залогиниться можно. При первой загрузке ipkg будет запускать postinst всех установленных пакетов. Будет не быстро. Когда b4 загрузится, надо сделать sync и перезагрузить. После второй загрузки будут загружены все необходимые модули.

Из-за отставания модулей, которые собираются BitBake от транка сейчас не работает детектирование карт. Т.е. из связи с миром - только com-port.

разное