Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
boards:nms-sdm-am335x:firmware [2022/10/15 15:22] – Владимир Андреев | boards:nms-sdm-am335x:firmware [2022/10/18 11:41] (текущий) – [Сборка rootfs] Владимир Андреев | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Подготовка программной части ===== | ===== Подготовка программной части ===== | ||
- | ===== Сборка Linux при помощи Buildroot | + | ===== Сборка Linux при помощи Docker ===== |
- | Для выполнение следующей инструкции, | + | Для выполнение следующей инструкции, |
Также необходимо скачать следующие файлы: | Также необходимо скачать следующие файлы: | ||
- | * {{ : | + | * [[ https:// |
- | * {{ : | + | * [[ https:// |
- | * {{ : | + | * [[ https:// |
- | * {{ :playground:nms-som-e2am335x:rootfs.tar.gz | rootfs}} | + | * [[ https:// |
- | И распаковать | + | * [[ https:// |
+ | * [[https:// | ||
+ | * файлы | ||
+ | |||
+ | Рекомендация: | ||
+ | < | ||
tar -xf u-boot_mir.tar | tar -xf u-boot_mir.tar | ||
tar -xf kernel_mir.tar | tar -xf kernel_mir.tar | ||
tar -xf rootfs.tar.gz | tar -xf rootfs.tar.gz | ||
tar -xf utils.tar.gz | tar -xf utils.tar.gz | ||
+ | tar -xf am335x-evm-linux-sdk-src-06.03.00.106.tar.xz | ||
+ | tar -xf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz | ||
</ | </ | ||
Для подготовки обрза контейнера, | Для подготовки обрза контейнера, | ||
- | < | + | < |
- | sudo docker build -t am335x | + | sudo docker build -t am335x |
</ | </ | ||
После этого в docker появится образ **am335x** | После этого в docker появится образ **am335x** | ||
===== Подготовка к сборке ===== | ===== Подготовка к сборке ===== | ||
- | Скопируйте два скрипта из каталога utils в верхнюю директорию | + | Скопируйте два скрипта из каталога utils в текущую директорию |
< | < | ||
- | cp kernel.sh ../ | + | cp utils/kernel.sh . |
- | cp u-boot.sh ../ | + | cp utils/u-boot.sh . |
- | </ | + | |
- | Скачайте с сайта [[https:// | + | |
- | + | ||
- | Распакуйте архивы | + | |
- | < | + | |
- | tar -xf am335x-evm-linux-sdk-src-06.03.00.106.tar.xz | + | |
- | tar -xf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz | + | |
</ | </ | ||
Строка 39: | Строка 39: | ||
sudo docker run -e USER=$USER | sudo docker run -e USER=$USER | ||
</ | </ | ||
- | Сборка может занять длительное время, в зависимости от конфигурации компьютера. | ||
===== Сборка linux ===== | ===== Сборка linux ===== | ||
Строка 48: | Строка 47: | ||
Сборка может занять длительное время, в зависимости от конфигурации компьютера. | Сборка может занять длительное время, в зависимости от конфигурации компьютера. | ||
- | После сборки, | + | После сборки, |
+ | * Board-support/ | ||
+ | * Board-support/ | ||
+ | |||
+ | Проверить их наличие можно командой: | ||
+ | < | ||
+ | ls board-support/ | ||
+ | ls board-support/ | ||
+ | </ | ||
===== Сборка rootfs ===== | ===== Сборка rootfs ===== | ||
Выполните команду | Выполните команду | ||
Строка 57: | Строка 64: | ||
После сборки, | После сборки, | ||
+ | ===== Прошивка пустого модуля ===== | ||
+ | собранные файлы {{ boards: | ||
+ | < | ||
+ | cd board-support/ | ||
+ | picocom -b 115200 | ||
+ | #ctrl a+s -> send by Xmodem spl/ | ||
+ | spl/ | ||
+ | #ctrl a+s -> send by Xmodem spl/ | ||
+ | u-boot.bin | ||
+ | |||
+ | setenv ipaddr 192.168.1.198 | ||
+ | setenv serverip 192.168.1.125 | ||
+ | tftp ${rdaddr} mir_am33/ | ||
+ | tftp ${loadaddr} mir_am33/ | ||
+ | tftp ${fdtaddr} mir_am33/ | ||
+ | setenv bootargs " | ||
+ | bootz ${loadaddr} ${rdaddr} ${fdtaddr} | ||
+ | #login with root/root | ||
+ | fdisk / | ||
+ | n | ||
+ | p | ||
+ | 1 | ||
+ | |||
+ | +1G | ||
+ | a | ||
+ | 1 | ||
+ | t | ||
+ | c | ||
+ | n | ||
+ | p | ||
+ | 2 | ||
+ | |||
+ | |||
+ | w | ||
+ | #### | ||
+ | mkfs.vfat / | ||
+ | mkfs.vfat -n STORE / | ||
+ | mount / | ||
+ | copy from build machine to /opt on som: am335x-mir_mb.dtb | ||
+ | #scp < | ||
+ | sync | ||
+ | </ | ||
+ | ===== Настройка rootfs ===== | ||
+ | Изменение ip адресов | ||
+ | < | ||
+ | savevar.sh kernel NETWORK_IP | ||
+ | savevar.sh kernel NETWORK_IP_1 192.168.2.198 # ip on eth1 | ||
+ | savevar.sh kernel NETWORK_IP_2 192.168.3.198 # ip on eth2 | ||
+ | </ | ||
+ | Для добавление автозапуска скриптов, | ||
+ | |||
+ | **Замечание: | ||
+ | |||
+ | Настройки хранятся в файлах // / | ||
+ | |||
+ | // / | ||
+ | < | ||
+ | NETWORK_MODE=< | ||
+ | |||
+ | # | ||
+ | |||
+ | #mode=dhcp - get ip/dns via dhcp | ||
+ | |||
+ | #default: static | ||
+ | |||
+ | #example: NETWORK_MODE=static | ||
+ | |||
+ | NETWORK_IP=< | ||
+ | |||
+ | #default: 192.168.1.198 | ||
+ | |||
+ | #example: NETWORK_IP=192.168.1.198 | ||
+ | |||
+ | NETWORK_MASK=< | ||
+ | |||
+ | #default: 255.255.255.0 | ||
+ | |||
+ | #example: NETWORK_MASK=255.255.255.0 | ||
+ | |||
+ | NETWORK_DEFAULT_GATEWAY=< | ||
+ | |||
+ | #default: "" | ||
+ | |||
+ | #example: NETWORK_DEFAULT_GATEWAY=192.168.1.1 | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | // / | ||
+ | < | ||
+ | CHANGEROOTPASSWD=< | ||
+ | |||
+ | # use LOGIN_ROOTPASS or not | ||
+ | |||
+ | #default: false | ||
+ | |||
+ | #example: CHANGEROOTPASSWD=true | ||
+ | |||
+ | LOGIN_ROOTPASS=< | ||
+ | |||
+ | #enc_passw - result of crypt from glibc password manipulation (md5 hash of the password and salt) | ||
+ | |||
+ | #default: $1$.1o2Wll.$rZsjTFfqjfJAZuLeWkpuj0 | ||
+ | |||
+ | # default value - hash of ' | ||
+ | |||
+ | #example: LOGIN_ROOTPASS=' | ||
+ | </ | ||
+ | |||
+ | Пароль может быть изменён двумя способами: | ||
+ | - Через // / | ||
+ | - В // / |