Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)
Прошивка NAND через USB.
Raezer
Добавлено 12.06.2022 18:52
0
Сообщение: 1
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
Здравствуйте, сразу же прошу извинить, если что то недопонял или делаю не так, новичок. В общем имеется плата imx6s-oem-ind, доступа к слоту карты памяти нет, есть задача собрать buildroot с qt, и залить на плату. Использую виртуалку IMX6_Libuntu, buildroot-2014.08-sk-3.10.17, собираю, на выходе имею rootfs.tar.gz, u-boot-nand.imx, u-boot.imx, zImage. К сожалению дальше возникли трудности. Пожалуйста, подскажите есть ли где нибудь инструкция как залить сразу систему через юсб на нанд? В инструкции Manual_SK-IMX6S-OEM.pdf вижу только восстановление системы через mfgtools, в Manual_imx6_VBM.pdf нанд зашивается с сд карточки.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 14.06.2022 11:31 Редактировалось 14.06.2022 11:42 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Штатно MfgTool из материалов платы OEM предусмотрен для заливки через USB в nand более старых ядер без DTS, теоретически надо скрипт поменять в профиле Mfg но практически - у меня нет такой платы поэтому я этим не занимался.

У вас в текущей прошивке как разделы в NAND сделаны ?

16M(boot), 512M(rootfs), -userdata
или
16M(boot), -rootfs

т.е. раздел с корневой весь диск занимает или только 512M или много разделов с safe ?
Спуститься к концу Подняться к началу
Персональная информация
Raezer
Добавлено 14.06.2022 12:08 Редактировалось 14.06.2022 12:21 Сообщение: 3
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
Здравствуйте, спасибо за ответ.
В "buildroot-2014.08-sk-3.10.17" разбивка у меня 16M(boot),512M(rootfs),-(userdata).
Решил обновить buildroot до "buildroot-2017.08-sk", так как память стоит на 1гб slc. Там разбивка 16M(boot),8M(kernel),2M(dtb),512M(rootfs),-(userdata). К сожалению обе разбивки отличаются от того что прописано в mfgtools. Скрипт mfgtool поменял, но если я все правильно понял надо еще пересобрать uboot и ядро для mfgtools, так как там разбивка другая. Нашел вот инструкцию: https://github.com/buildroot/buildroot/blob/master/package/mfgtools/readme.txt . Подскажите пожалуйста я в правильную сторону иду?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 14.06.2022 13:47 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
К сожалению обе разбивки отличаются от того что прописано в mfgtools.


да - в этом и состоми проблема

Цитата

Скрипт mfgtool поменял, но если я все правильно понял надо еще пересобрать uboot и ядро для mfgtools, так как там разбивка другая. Нашел вот инструкцию: https://github.com/buildroot/buildroot/blob/master/package/mfgtools/readme.txt . Подскажите пожалуйста я в правильную сторону иду?


вы всё верно поняли
Спуститься к концу Подняться к началу
Персональная информация
Raezer
Добавлено 15.06.2022 10:55 Сообщение: 5
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
Для того, чтобы uboot правильно запустил ядро под mfgtool надо прописать в build/uboot-custom/include/configs/sk_imx6.h параметры. Подскажите у вас есть пример таких параметров, не могу сообразить что туда надо записать.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.06.2022 12:50 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Для того, чтобы uboot правильно запустил ядро под mfgtool надо прописать в build/uboot-custom/include/configs/sk_imx6.h параметры. Подскажите у вас есть пример таких параметров, не могу сообразить что туда надо записать.


для oem конфиг oem_imx6.h, для mfg надо дописать


#define CONFIG_MFG_ENV_SETTINGS \
"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
"rdinit=/linuxrc " \
"g_mass_storage.stall=0 g_mass_storage.removable=1 " \
"g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
"g_mass_storage.iSerialNumber=\"\" "\
"enable_wait_mode=off "\
CONFIG_MFG_NAND_PARTITION \
"\0" \
"initrd_addr=0x12C00000\0" \
"initrd_high=0xffffffff\0" \
"bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \


....

#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_MFG_ENV_SETTINGS \
"delenv=env default -a -f; saveenv\0" \
"ipaddr=192.168.0.136\0" \
....

u-boot собирается один для обычной загрузки и для mfg, просто когда убут определяет что его загрузили через USB выполняется не bootcmd а bootcmd_mfg

переменные окружения для mfg я взял из конфига mx6sabre_common.h
Спуститься к концу Подняться к началу
Персональная информация
Raezer
Добавлено 16.06.2022 11:25 Сообщение: 7
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
Спасибо, uboot теперь пытается запустить ядро, но в ответ "Bad Linux ARM zImage magic!", если прописать "bootm 0x1080000 0x12c0000" (числа взял из первого попавшегося примера для imx6s) то ядро пытается стартовать(ну или делает вид), соотвественно получается я где то начудил с адресами, не могу понять только где. Ну да ладно, ядро стартовать пытается, но у него не получается. Выдает "Wrong Ramdisk Image Format", это уже если я правильно понял неправльный конфиг, достаточно ли прописать в конфиг uboot CONFIG_SUPPORT_RAW_INITRD, или надо делать еще какие то изменения?
Спуститься к концу Подняться к началу
Персональная информация
Raezer
Добавлено 16.06.2022 22:15 Сообщение: 8
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
C "Bad Linux ARM zImage magic!" разобрался, по незнанию не то пихал, стал использовать uImage и bootm, но вот
"Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid"

победить пока не получилось.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.06.2022 11:24 Сообщение: 9
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
"Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid"


как вы его собираете ? нужен образ cpio с заголовком убута

Цитата

make menuconfig

filesystem images

[*] cpio the root filesystem (for use as an initial RAM filesystem)
Compression method (gzip) --->
[*] Create U-Boot image of the root filesystem


имидж будет с окончанием uboot
Спуститься к концу Подняться к началу
Персональная информация
Raezer
Добавлено 17.06.2022 12:08 Редактировалось 17.06.2022 12:11 Сообщение: 10
Raezer
0

Пункты: 423
Регистрация: 12.06.2022
Галочку поставить догадался, а использовать файл с окончание uboot нет, испугался размера. Получается это образ всего вместе, и зашивать надо только его? Дальше получается останется ему подсовывать по отдельности файлы uboot, kernel, dts и rootfs для записи на нанд.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S-OEM(-WiFi)