Harvester 0 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба Добрый день. Имеется плата с кастомным Linux-ом. Вот начало лога консольного вывода: U-Boot 2009.03-svn201 CPU: MPC5125 rev. 1.0, Core e300c4 at 400 MHz, CSB at 200 MHz board: xxxx I2C: ready DRAM: 128 MB NAND: 128 MiB In: serial Out: serial Err: serial Bad block table found at page 65472, version 0x01 Bad block table found at page 65408, version 0x01 for update u-boot: run uboot_update for update linux: run linux_update Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x7e00000, size 0x100000 1048576 bytes read: OK dsp_load: DSP HPI probe passed dsp_load: Upload DSP Loader Насколько я понимаю, после строки "Hit any key to stop autoboot" u-boot начинает выполнять некий скрипт начальной загрузки. Нашел в исходниках файл uboot-installer.sh, который, похоже, имеет отношение к процессу загрузки: # # U-boot environment installer # setenv led_resetst 0 1 0 1 # setenv dsp_prg_naddr 7e00000 setenv dsp_prg_nsize 100000 setenv nandboot 'setenv bootargs "root=ubi0:rootfs rootfstype=ubifs ubi.mtd=rootfs ubi.mtd=opt console=$consdev,$baudrate ro" && nand read $kernel_laddr $dsp_prg_naddr $dsp_prg_nsize && dsp_load $kernel_laddr; nand read $kernel_laddr $kernel_naddr $kernel_nsize && bootm $kernel_laddr' # saveenv Но здесь просто задаются переменные среды :( Попробовал пройти "grep -rl nandboot ./" по исходникам - выдает только вышеуказанный файл. Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 42 минуты назад, Harvester сказал: Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке? не понятен вопрос - что именно интересует? если что такое nandboot - это всего лишь имя скрипта в окружение убута, хоть горшком назовите, главное запустить из окружения дефолтное имя начального скрипта - bootcmd, из него запускаются остальные скрипты и ,как правило, финальный прыжок на ядро покопайтесь в документации на юбут в каталоге исходников doc/ или на сайте http://www.denx.de/wiki/U-Boot/WebHome функция main убута в common/main.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 42 minutes ago, Jury093 said: не понятен вопрос - что именно интересует? Интересует что и с какими параметрами запускается убутом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 20 минут назад, Harvester сказал: Интересует что и с какими параметрами запускается убутом. http://www.denx.de/wiki/DULG/Manual вам в 5.9, особенно 5.9.4 и 5.9.6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 53 11 июля, 2019 Опубликовано 11 июля, 2019 · Жалоба 2 hours ago, Harvester said: Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке? Прервите загрузку u-boot, затем выполните команду "printenv". При автоматической загрузке запускается на исполнение содержимое переменной "bootcmd". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба On 7/11/2019 at 12:03 PM, aaarrr said: Прервите загрузку u-boot, затем выполните команду "printenv". При автоматической загрузке запускается на исполнение содержимое переменной "bootcmd". Вот что получилось: bootcmd=run nandboot nandboot=setenv bootargs "root=ubi0:rootfs rootfstype=ubifs ubi.mtd=rootfs ubi.mtd=opt console=$consdev,$baudrate ro" && nand read $kernel_laddr $dsp_prg_naddr $dsp_prg_nsize && dsp_load $kernel_laddr; nand read $kernel_laddr $kernel_naddr $kernel_nsize && bootm $kernel_laddr Получается, что в убуте просто задается переменная bootargs. Содержимое переменной обрабатывается уже ядром, при этом в bootargs я не вижу интересующую меня команду. Получается, что она запускается позже. Отсюда следующий вопрос - как узнать, что исполняется ядром после обработки bootargs? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 2 минуты назад, Harvester сказал: Получается, что она запускается позже. Отсюда следующий вопрос - как узнать, что исполняется ядром после обработки bootargs? cat /proc/cmdline Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 33 minutes ago, Harvester said: как узнать, что исполняется ядром после обработки bootargs? В лог загрузки посмотреть. Вариант 2 - забить на U-Boot и закатать bootargs в DT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 2 hours ago, Jury093 said: cat /proc/cmdline root=ubi0:rootfs rootfstype=ubifs ubi.mtd=rootfs ubi.mtd=opt console=ttyPSC0,115200 ro Т.е. содержимое bootargs. Это не то, что мне нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 53 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 6 minutes ago, Harvester said: Это не то, что мне нужно. Так что нужно? Хоть намекнули бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 1 hour ago, gosha-z said: В лог загрузки посмотреть. Так в этом-то и вопрос. Вот лог: Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x7e00000, size 0x100000 1048576 bytes read: OK dsp_load: DSP HPI probe passed dsp_load: Upload DSP Loader Я вижу только результат выполнения команды, а мне нужно знать с какими параметрами она запускается (они есть, это я знаю 100%). Где может лежать скрипт, запускающий команду при загрузке системы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 53 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба nandboot внимательно посмотрите: 2 hours ago, Harvester said: nand read $kernel_laddr $dsp_prg_naddr $dsp_prg_nsize && dsp_load $kernel_laddr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба dsp_load - это что-то специфичное... Ядро стартует по команде bootm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба 6 minutes ago, aaarrr said: nandboot внимательно посмотрите: М-да, а слона-то я и не заметил... Тогда другая проблема - в файловой системе устройства нет файла "dsp_load". :( Что же тогда запускается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 1 18 июля, 2019 Опубликовано 18 июля, 2019 · Жалоба у вас в одну и ту же область памяти сначала грузится прошивка dsp, потом грузится и запускается ядро Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться