Рубрики
dev

yocto napi наша

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


Прошивка napi (rk3308)

Ссылки:
бутлодеры:
https://dl.radxa.com/rockpis/images/loader/ 
Образы napi:
https://download.napilinux.ru/linuximg/

Компоненты для rkdeveloptool
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf


rkdeveloptool
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool
autoreconf -i
./configure
make
cp rkdeveloptool /usr/local/bin/

Убедится что нету других rkdeveloptool
whereis  rkdeveloptool



Команды rkdeveloptool
rkdeveloptool - справка
rkdeveloptool ld - лист устройств
rkdeveloptool db  <файл загрузчика> - загрузка бутлодера
rkdeveloptool wl 0 <файл образа> - загрузка прошивки

Порядок прошивки:
0. нажимаем и удерживаем клавишу Maskrom, затем коротко нажимаем клавишу Reset не отпускаем Maskrom, через несколько секунд отпускаем Maskrom;
1. Грузим бутлодер
sudo rkdeveloptool db rk3308_loader_uart0_m0_emmc_port_support_sd_20190717.bin
Или
sudo rkdeveloptool db  rk3308_loader_ddr589MHz_uart0_m0_v2.06.136sd.bin
!!! Если бутлодер не правильный или вы его не загрузили, то получите ошибку: Write LBA failed!


2. Прошиваем прошивку
sudo rkdeveloptool wl 0 <файл образа>
Пример:
rkdeveloptool wl 0 napi-rk3308b-s-latest-dev.img


P.S Очистка nand:
Создаем пустой файл с помощью dd
dd if=/dev/zero of=./zero.img bs=4M count=10
Шьем этим файлом.
rkdeveloptool db  <файл загрузчика> - загрузка бутлодера
rkdeveloptool wl 0 zero.img
minicom -D /dev/ttyUSB1 -b15000000