Сборка образа для Broadcom

Данный раздел содержит инструкции по использованию U-Boot в SoC Broadcom 7445 и 7260 в качестве загрузчика третьего порядка, запускаемого загрузчиком BOLT компании Broadcom. BOLT загружает U-Boot как двоичный ELF-файл.

Запуск

Чтобы указать U-Boot, какой последовательный порт использовать для консоли, установите параметр stdout-path в узле /chosen дерева устройств, сгенерированного BOLT. Например:

BOLT> dt add prop chosen stdout-path s serial0:115200n8

Запишите двоичный файл $LFA/bootloader.bin в память платы, затем вызовите его из BOLT. Например:

BOLT> boot -bsu -elf flash0.u-boot1

Предполагается, что I-кеш и D-кеш уже включены при входе в U-Boot.

Запись образа системы

Создание образа с базовой ОС

С помощью dd создайте образ нужного вам размера (не меньше объёма, занимаемого собранной системой LFA, расположенной в $LFA_SYS).

dd if=/dev/zero bs=1M count=512 of=rootfs.img

Здесь размер образа составляет 512 МБ. В зависимости от требований и объёма собранной системы установите вместо 512 своё значение.

Создайте файловую систему внутри образа:

mkfs.ext4 -L BOOT \
  -O ^metadata_csum -F \
  -b 4096 \
  -E stride=2,stripe-width=1024 \
  -L rootfs rootfs.img

Копирование файлов

Смонтируйте полученный образ и скопируйте в неё файлы нашей системы (саму систему, ядро, Devicetree и сценарий загрузки):

mkdir -pv /tmp/lfa_rootfs
sudo mount -v rootfs.img /tmp/lfa_rootfs

sudo cp -rfv $LFA_SYS/* /tmp/lfa_rootfs
sync

Все действия здесь выполняются от имени пользователя lfa. Поскольку здесь используется программа sudo, вам нужно добавить пользователя lfa в группу wheel или sudo.

После копирования файлов размонтируйте образ:

sudo umount /tmp/lfa_rootfs

Теперь вам остаётся записать образ на SD- или иной носитель, с которого может загружаться компьютер.


Смотрите также: