Politeh 0 28 января, 2014 Опубликовано 28 января, 2014 · Жалоба Добрый день! С линуксом почти не сталкивались, по ДСП работаем. Есть своя плата: ОМАP-L138, NAND 4Gb Samsung K9F4G08U0D-SIB0000, DDR2 1Gb Samsung K4T1G164QF-BIE6T00, Ethernet, SATA, USB2.0 OTG, видеопорт, и др. периферия... Хотим собрать своё ядро. При собственой конфигурации виснет после надписи "Starting kernel ..." Может кто подсказать в чем дело? Файл конфигурации прилагаю. Благодарю. config.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardJoker 12 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Добрый день! С линуксом почти не сталкивались, по ДСП работаем. Есть своя плата: ОМАP-L138, NAND 4Gb Samsung K9F4G08U0D-SIB0000, DDR2 1Gb Samsung K4T1G164QF-BIE6T00, Ethernet, SATA, USB2.0 OTG, видеопорт, и др. периферия... Хотим собрать своё ядро. При собственой конфигурации виснет после надписи "Starting kernel ..." Может кто подсказать в чем дело? Файл конфигурации прилагаю. Благодарю. Почему не взяли, например, OMAPL138 DVSDK от техаса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Выложите лучше строку аргументов ядра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Подозреваю что дело в файле борды. Файл борды правили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Politeh 0 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Спасибо за ответы. У нас есть отладочная плата Logic PD на базе OMAPL138. На этой отладочной плате пересобирали все компоненты - все работает. Но на ней загрузка из SPI flash, память mDDR, поэтому использовать файлы прошивки те же не получается. Приходится пересобирать под нашу плату свои u-boot (с оберткой от AISGEN), uImage, Файловую систему. Файл борды не правил, он остался неизменным - board-da850-evm.c. Базовый конфигурационный файлом является da850_omapl138_defconfig. В нем добавили поддержку NAND, отключили поддержку SD/MMC. Аргументы bootargs bootargs=console=ttyS2,115200n8 rootfstype=ubifs root=ubi0:rootfs ubi.mtd=ubi rw mem=128M В данном случае загрузка идет через USB. Также пробовали через TFTP - результат тот же. Нашли информацию о том, что с того момента как выводится надпись "Starting kernel ..." может быть неправильно настроен вывод в консоль (не тот ttySx). http://processors.wiki.ti.com/index.php/FA...r_DaVinci_Linux Проверили, убедились что настройки в исходниках ядра те (что для u-boot, что для uImage UART2). Потом нашли документ http://processors.wiki.ti.com/index.php/Ke...s_Booting_Linux Буду проверять сегодня совпадение ID для u-boot и для uImage. Возможно кто то проконсультирует или подготовит свои u-boot (до и после AISGEN) uImage и файловую систему с нашей конфигурацией (готов оплатить). Хотя бы начать с минимальной конфигурацией - NAND 8bit, DDR2, USB, а дальше будем сами разбираться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Попробуйте добавить к строке ядра еще "debug earlyprintk". Еще, не так давно, omap переехал на нормальные названия tty. Попробуйте console=/dev/ttyO2... и далее по тексту. Хотя, если версия ядра не менялась - не имеет смысла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Politeh 0 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Всем спасибо. Скорее всего проблемы с ядром, оно попорчено. Есть желание пересобрать но последним SDK. Хотел бы спросить, каким образом сконфигурировать u-boot на 8 бит. В DA850 флэшь стоит 16 бит. Возможно с этим у нас также проблемы, поскольку не сохраняет настроечные переменные через saveenv. В AISGEN конечно указан размер 8 бит, но после загрузки u-boot он записывает данные скорее всего в 16-ти битном режиме. Жду подсказок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 29 января, 2014 Опубликовано 29 января, 2014 · Жалоба Буду проверять сегодня совпадение ID для u-boot и для uImage. Первым делом об этом подумал, но не оно. Эта проверка в бутлоадере производится. Там еше проверка чексуммы делается. Но после этого кернел распаковывается и стартует. Вот в какой момент появляется надпись не помню. завтра на работе посмотрю. Вот из интернета: > 3122350 bytes read > ## Booting image at 00800000 ... > Image Name: Linux-3.11.0-rc3 > Created: 2013-07-30 18:56:55 UTC > Image Type: ARM Linux Kernel Image (uncompressed) > Data Size: 3122286 Bytes = 3 MB > Load Address: 00008000 > Entry Point: 00008000 > Verifying Checksum ... OK > OK > > Starting kernel ... > > Uncompressing Linux... done, booting the kernel. > Booting Linux on physical CPU 0x0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба Скорее всего проблемы с ядром, оно попорчено. Есть желание пересобрать но последним SDK. Хотел бы спросить, каким образом сконфигурировать u-boot на 8 бит. В DA850 флэшь стоит 16 бит. Возможно с этим у нас также проблемы, поскольку не сохраняет настроечные переменные через saveenv. В AISGEN конечно указан размер 8 бит, но после загрузки u-boot он записывает данные скорее всего в 16-ти битном режиме. для проверки содержимого настроек юбута, остановите его и дайте команду: printenv посмотрите - соответствует ли содержимое bootargs нужным значениям.. чтобы отсечь возможный глюк в этом месте, пропишите свои аргументы при конфигурирования ядра, например через menuconfig в дефолтной строке и там же поищите и поставьте галочку "всегда использовать дефолтные аргументы".. попробуйте отключить всю периферию в ядре - видеоподсистему, звук, сеть, флеши, юсб - бывает, что неудачно взведенная опция вешает ядро со схожей симптоматикой.. если видеоподсистема жива, то поищите, как переназначить выхлоп загрузки на экран - полезно для диагностики при неверно выбранной консоли.. ну и для полноты картины желательно описать последовательность сборки и чем собирали.. часто упускается какой-то этап или ключ, после которого только унылое "Starting kernel.." в разных BSP и SDK есть свои неочевидные тонкости и так вам быстрее подскажут.. вот очень дельно предложение: Попробуйте добавить к строке ядра еще "debug earlyprintk" там вроде надо еще пощелкать пунктами в Kernel Hacking чтобы ядро стало более говорливое.. ставлю на две версии - Id или tty, в резерве nand Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Politeh 0 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба Debug earlyprintk попробовали сразу же после предложения так сделать. Соответствующий флаг в menuconfig в Kernel Hackin выставили. Все то же самое. Как раз поэтому и появилось предположение, что с ядром что то не так. Сейчас я ставлю вопрос по другому. Решил все пересобрать с самого начала в последней версии, начиная с u-boot. Собирал на базе SDK для LCDK. Но у LCDK NAND 16 бит, а у нас 8. Я закрыл в их коде установку 16-ти битного NAND. После AISGEN u-boot запустился, но перестал сохранять переменные после команды saveenv. После загрузки пишет всегда BAD CRC. Есть основания считать, что NAND по прежнему остался 16 битным. Пока глубоко не исследовал, возможно есть простой способ установки NAND в 8 бит, а SDRAM в DDR2 (не mDDR). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Politeh 0 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба Есть предположение насчет неработоспособности ядра uImage, заключающееся в том, что SDRAM сконфигурировано как mDDR, а не как DDR2 (у нас именно DDR2). Пока не ясно, память SDRAM конфигурируется в ядре uImage или настройки памяти берутся возложены только на u-boot. Возможно кто то подскажет что то на этот счет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба В большинстве случаев настраивается в u-boot. Во всяком случае какой-то минимум сообщений от ядра вы должны получить. Есть "тупой" способ проверить. В у-буте загружаете ядро в память и запускаете его. Плата предположительно зависает. Даете ей ресет. И без повторной загрузки ядра в памяти делаете ему bootm. Или iminfo. Обычно, нсли с памятью все ок, ее содержимое сохраняется. Правда есть варант, что ядро при загрузке могло затереть эту облась после релокации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба В большинстве случаев настраивается в u-boot. Во всяком случае какой-то минимум сообщений от ядра вы должны получить. Если консоль не сломалась Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dron_Gus 2 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба Даже со сломанной консолью вывод можно посмотреть вот таким вот изящным способом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Politeh 0 30 января, 2014 Опубликовано 30 января, 2014 · Жалоба C u-boot разобрались. С uImage пока нет. Останавливается здесь: netconsole: network logging started davinci_emac davinci_emac.1: using random MAC addr: 76:f7:52:75:1e:d8 omap_rtc omap_rtc: setting system clock to 2000-01-13 23:12:09 UTC (947805129) VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0) Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Будем дальше копать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться