Подготовка ПК:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
0. Подготовка системы debian/ubuntu: apt update apt install lz4 vim sudo gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pyelftools python3-pexpect xz-utils debianutils iputils-ping libsdl1.2-dev xterm 1. Опционально, команда python выполняет python3 update-alternatives --install /usr/bin/python python /usr/bin/python3 1 2. Настраиваем локаль: vim /etc/locale.gen ------------------- en_US.UTF-8 <---------- найти и раскоментить ------------------ Перечитать local: locale-gen На этом все, теперь у вас должна появится local en_US.UTF-8 |
Подготовка yocto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
0. Качаем репу: git clone git://git.yoctoproject.org/poky cd poky 1. Меняем репу на dunfell git checkout dunfell 2. Преступаем к сборке source oe-init-build-env 3. Настраиваем конфигурацию vim conf/local.conf ------------------- MACHINE = "raspberrypi4" ------------------- Еще варианты: MACHINE = "qemux86-64" MACHINE = "qemux86" |
Начинаем сборку:
1 2 3 4 5 6 |
Теперь можно приступить к сборке образа. Например, для создания минимального образа: bitbake core-image-minimal Если вам нужен образ с графическим интерфейсом: bitbake core-image-sato |
Создание образа SD-карты:
1 2 3 |
После завершения сборки, образ будет находиться в директории tmp/deploy/images/<MACHINE>/ cd tmp/deploy/images/raspberrypi4/ dd if=core-image-minimal-raspberrypi4.rpi-sdimg of=/dev/sdX bs=4M status=progress |
wic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
Создайте файл, например, my-image.wic, с таким содержимым: cat > my-image.wic << "EOF" part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4 EOF Этот файл описывает образ с двумя разделами: /boot — загрузочный раздел с файловой системой FAT32. / — корневой раздел с файловой системой ext4. После того как вы собрали образ с помощью Yocto (например, bitbake core-image-minimal), вы можете использовать wic для создания образа SD-карты. wic create my-image.wic -e <имя_образа> Здесь: my-image.wic — это ваш конфигурационный файл. -e <имя_образа> — указывает, какой образ использовать (например, core-image-minimal). Пример: wic create my-image.wic -e core-image-minimal Если вам нужно добавить дополнительные разделы или изменить структуру образа, вы можете редактировать .wic файл. Например: part /data --source empty --ondisk mmcblk0 --fstype=ext4 --label data --size 1G part /home --source rootfs --ondisk mmcblk0 --fstype=ext4 --label home --rootfs-dir=home Использование готовых wic-шаблонов wic list images wic create sdimage-bootpart -e core-image-minimal Если вам нужно добавить кастомные файлы или скрипты в образ, вы можете использовать директиву --source в .wic файле. Например: part /scripts --source script --ondisk mmcblk0 --fstype=ext4 --label scripts --script myscript.sh Создайте файл x86-image.wic: # x86-image.wic part /boot --source bootimg-pc --ondisk sda --fstype=vfat --label boot --active --align 4 part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4 wic create x86-image.wic -e core-image-minimal |