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

Для того, чтобы запустить собранную систему в эмуляторе QEMU, нам потребуется два файла: файл с кодом загрузчика 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 umount /tmp/lfa_rootfs