реклама на сайте
подробности

 
 
> Линукс на ARM, висим при старте
romez777
сообщение Jan 14 2009, 07:31
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую.

Начал эту тему в http://electronix.ru/forum/index.php?showtopic=57717 решил спросить здесь, думаю больше народу читают данный раздел. Собственно, по-прежнему ядро виснет, никакие кульбиты не помогают. После зависания, подключившись jtag-ом, посмотрел содержимое ядерного log_buffer, который был накоплен разной информацией, но не выведен на консоль: лог завершается строкой "Calibrating delay loop... " (это функция calibrate_delay() из $(linux)/init/calibrate.c), далее тишина.

Судя по исходникам, calibrate_delay() вызывается много позже console_init(), т.е. сообщения должны уже появляться на консоли, но их нет sad.gif (видимо висим в каком-то бесконечном цикле).

Подозреваю, что дело в криво настроенном MMU, и когда дело доходит до инициализации консоли, то используется "левый" base address серийного порта. Есть какие-то идеи/соображения, куда копать/смотреть?

Вопросы остались такие:
1) таки нужно ли делать ремап на АРМ платформе для успешного старта Линукса, или линукс может жить и без него? Сейчас я ремап не делаю.
2) как определяется параметр CONFIG_PAGE_OFFSET? Он используется для конфигуриирования MMU.

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SFx
сообщение Jan 24 2009, 19:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



Цитата
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

Проблема в этой строке.
Цитата
CONFIG_CMDLINE="root=/dev/ram mem=16M console=/dev/ttyS0,115200n8"


В предыдущей теме Вы писали, что у вас есть NOR Flash.
Я пердпологаю у вас есть уже образ файловой системы для подгрузки его после иницилизации ядра. если вы его прошили на флешку он должен быть на одном из /dev/mtdblock# , где #-номер участка NOR Flash.

Если вы не залили свой образ rootfs на Flashку до загрузки ядра, то Вам это следует сделать. либо, добавить драйверы сетевых адаптеров (если конечно они имеются на плате) и NFS в ядро, и грузиться из сети. на мой взгляд это намного удобнее при разработке - чтоб не заливать каждый билд по метру и ли десять на медленную NOR-Flash.

Попробуйте с такой CONFIG_CMDLINE:
Код
root=/dev/mtdblock2 mem=16M console=ttyAMA0,115200n8


К сожелению ничего не известно о том какая у Вас плата, конфигурация ядра и как вы что либо делаете. Я, к сожелению, с U-boot не работал, не могу вам помочь с точки зрения конфигурирования партиций.


Цитата
List of all partitions:

в этой строчке должно быть что то типа списка доступных mtdblock'ов и их имен. u-boot как раз позволяет их создавать.
Go to the top of the page
 
+Quote Post
romez777
сообщение Jan 25 2009, 12:19
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Здравствуйте

Цитата(SFx @ Jan 24 2009, 22:33) *
Я пердпологаю у вас есть уже образ файловой системы для подгрузки его после иницилизации ядра. если вы его прошили на флешку он должен быть на одном из /dev/mtdblock# , где #-номер участка NOR Flash.


А как наличие/отсутствие файловой системы может влиять на факт выдачи информации на последовательную консоль устройства (ведь именно в этом моя основная проблема, описанная в начале и далее)? Я безусловно займусь созданием файловой системы чуть позже, но на первичном этапе IMHO это не критично.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 20:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01493 секунд с 7
ELECTRONIX ©2004-2016