Перейти к содержанию
    

Добрый день.

Имеется плата с кастомным 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 ./" по исходникам - выдает только вышеуказанный файл.

Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 минуты назад, Harvester сказал:

Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке?

не понятен вопрос - что именно интересует?

если что такое nandboot - это всего лишь имя скрипта в окружение убута, хоть горшком назовите, главное запустить из окружения

дефолтное имя начального скрипта - bootcmd, из него запускаются остальные скрипты и ,как правило, финальный прыжок на ядро

покопайтесь в документации на юбут в каталоге  исходников doc/ или на сайте http://www.denx.de/wiki/U-Boot/WebHome

функция main убута в common/main.c

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 minutes ago, Jury093 said:

не понятен вопрос - что именно интересует?

Интересует что и с какими параметрами запускается убутом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 минут назад, Harvester сказал:

Интересует что и с какими параметрами запускается убутом.

http://www.denx.de/wiki/DULG/Manual

вам в 5.9, особенно 5.9.4 и 5.9.6

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Harvester said:

Подскажите пожалуйста, как точно узнать, что и с какими параметрами запускается при загрузке?

Прервите загрузку u-boot, затем выполните команду "printenv". При автоматической загрузке запускается на исполнение содержимое переменной "bootcmd".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, Harvester сказал:

Получается, что она запускается позже. Отсюда следующий вопрос - как узнать, что исполняется ядром после обработки bootargs?

cat /proc/cmdline

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 minutes ago, Harvester said:

как узнать, что исполняется ядром после обработки bootargs?

В лог загрузки посмотреть. Вариант 2 - забить на U-Boot и закатать bootargs в DT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Jury093 said:

cat /proc/cmdline

root=ubi0:rootfs rootfstype=ubifs ubi.mtd=rootfs ubi.mtd=opt console=ttyPSC0,115200 ro

Т.е. содержимое bootargs. Это не то, что мне нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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%).

Где может лежать скрипт, запускающий команду при загрузке системы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

nandboot внимательно посмотрите:

2 hours ago, Harvester said:

nand read $kernel_laddr $dsp_prg_naddr $dsp_prg_nsize && dsp_load $kernel_laddr

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, aaarrr said:

nandboot внимательно посмотрите:

М-да, а слона-то я и не заметил... :blush:

Тогда другая проблема - в файловой системе устройства нет файла "dsp_load". :(

Что же тогда запускается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у вас в одну и ту же область памяти сначала грузится прошивка dsp, потом грузится и запускается ядро

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...