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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
0. Подготовка системы debian/ubuntu: 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 3. Создаем пользователя например useryocto useradd useryocto Входим под пользователем useryocto su - useryocto 4. Создаем директорию yocto и cкачиваем репазитори napi mkdir yocto cd yocto git clone --depth 1 git://git.yoctoproject.org/poky -b kirkstone cd poky git clone --depth 1 git://git.openembedded.org/meta-openembedded.git -b kirkstone git clone --depth 1 git://git.yoctoproject.org/meta-arm.git -b kirkstone git clone --depth 1 https://gitlab.nnz-ipc.net/pub/napilinux/meta-influx.git -b kirkstone git clone --depth 1 https://gitlab.nnz-ipc.net/pub/napilinux/meta-nnz.git -b kirkstone git clone --depth 1 https://github.com/sbabic/meta-swupdate -b kirkstone git clone git://git.yoctoproject.org/meta-raspberrypi -b kirkstone 5. После загрузки выполняем source oe-init-build-env 6. На этом этапе мы можем скопировать настроенные слои # napi image : # -- # cp ../meta-nnz/conf/bblayers.conf.sample.napi conf/bblayers.conf # frontcontrol image: # -- # cp ../meta-nnz/conf/bblayers.conf.sample.fc conf/bblayers.conf Я копирую слой для rpi cp ../meta-nnz/conf/bblayers.conf.sample.rpi conf/bblayers.conf 7. Еще нужно добавить основной конфиг в котором мы в будущем выберем нужную платформу cp ../meta-nnz/conf/local.conf.sample conf/local.conf 8. Редактируем файл local.conf vim conf/local.conf --------------------------- MACHINE ?= "napi-rk3308b-s" <----------------- ищем строку MACHINE --------------------------- Возможные варианты: MACHINE ?= "napi-rk3308b-s" MACHINE ?= "napi-rk3308" MACHINE ?= "roc-pc-rk3328" MACHINE ?= "rockpro64-rk3399" 9. Сборка Возможные варианты сборки: nnz-frontcontrol-image nnz-napi-image nnz-napi-image-dev nnz-napi-image-dev-noupdate Пример сборки: bitbake -k nnz-frontcontrol-image Загрузка исходников без сборки: bitbake nnz-frontcontrol-image --runall=fetch bitbake nnz-napi-image --runall=fetch bitbake nnz-napi-image-dev --runall=fetch bitbake nnz-napi-image-dev-noupdate --runall=fetch Ошибка: Я собирал от пользователя user и архивы закинул другому пользователю и получил ошибку: Error, TMPDIR has changed location. You need to either move it back to /home/user/yocto/poky/build/tmp or delete it and rebuild Просто удалил файлы сборки из tmp, так как в архиве были нужные исходники для сборки, а самой сборки не производилось. rm -rf ~/yocto/poky/build/tmp 10. Собранные имеджи искать тут: ~/yocto/poky/build/tmp/deploy/images 11. Учетные данные по умолчанию. Username: root Password: napilinux |