roboforum.ru

Технический форум по робототехнике.

mini2440 сборка и установка ядра

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 09 мар 2011, 19:31

Ядро для этого трогать не надо, достаточно изменить строку в загрущике (u-boot), вместо console=ttySAC0, написать console=ttySAC1 и все. Если требуется еще и вывод загрущика на другой порт перенаправить, тогда требуется пересобрать u-boot и залить его не в NAND, а в NOR.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение Resident » 09 мар 2011, 19:46

Про bootargs в убуте я в курсе. Разве больше нигде не нужно менять? При старте ОС там же вроде тоже настройки какие-то есть... чтобы она знала куда плевать лог загрузки...
А вот про НОР не понял. Зачем его то трогать? У меня переключатель стоит в загрузке с НАНДА, там же и убут стоит...
То есть все-таки bootargs-ов нехватает и НУЖНО пересобирать убут. Тогда вопрос: ГДЕ и ЧТО менять при пересборке?
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Re: mini2440 сборка и установка ядра

Сообщение setar » 09 мар 2011, 20:28

ядру после запуска вообще пофиг на то через какой порт работает uboot
всё рулиться исключительно параметром setenv bootargs console=ttySAC0,115200 ...
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 09 мар 2011, 23:26

тогда только u-boot пересобрать, что бы работал с нужным портом.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение Resident » 10 мар 2011, 01:51

setar писал(а):ядру после запуска вообще пофиг на то через какой порт работает uboot
Дык я о чем и говорю...
setar писал(а):всё рулиться исключительно параметром setenv bootargs console=ttySAC0,115200 ...
Это относится к настройкам ядра?
Я так понимаю, после включения питания в консоль начинает плевать данные убут (у которого одни настройки консоли)
Потом подгружается ядро, и УЖЕ ОНО начинает плевать в консоль данные о своей загрузке и т.д. (со своими настройками консоли) потом грузится ось, всякие инит скрипты, которые по третьему конфигурируют консоль...
Поэтому я и просил указать на ВСЕ необходимые места для изменений, для всех этапов загрузки, начиная со старта питания...
ЗЫ Если что не так описал так же просьба указать на косяк :oops:
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 10 мар 2011, 05:08

Операционка не переключает сама консоль, а продолжает плевать на указанную ядру при загрузке. Соответственно все места Вам указали, а именно - пересобрать u-boot с требуемыми настройками консоли и задать параметры ядру. Больше ничего не понадобится.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение alien » 10 мар 2011, 08:26

Кстати может кому интересно. Звук в новых ядрах получилось заставить работать )(сегодня вечером выложу патч)
alien
 
Сообщения: 31
Зарегистрирован: 01 фев 2011, 20:47

Re: mini2440 сборка и установка ядра

Сообщение Vooon » 10 мар 2011, 08:47

А под этот арм используется Flattened Device Tree Blob? (*.dts -> *.dtb)
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: mini2440 сборка и установка ядра

Сообщение Resident » 10 мар 2011, 19:01

Weekend писал(а):Соответственно все места Вам указали, а именно - пересобрать u-boot с требуемыми настройками консоли...
Все ОЧЕНЬ конкретно и СРАЗУ ПОНЯТНО где менять код :%)
Поменял я в ./include/configs/mini2440.h ttySAC0 на ttySAC1, перекомпилил убут, а толку аж "0"...
Еще идеи? И побольше конкретики плиз...
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 10 мар 2011, 22:39

Resident писал(а):
Weekend писал(а):Соответственно все места Вам указали, а именно - пересобрать u-boot с требуемыми настройками консоли...
Все ОЧЕНЬ конкретно и СРАЗУ ПОНЯТНО где менять код :%)
Поменял я в ./include/configs/mini2440.h ttySAC0 на ttySAC1, перекомпилил убут, а толку аж "0"...
Еще идеи? И побольше конкретики плиз...

Да, благодарностей вагон :)

1. В файле mini2440.h изменение console=ttySAC0,115200 -> console=ttySAC1,115200, это изменение стандартной строки параметров запуска ядра, а не консоли, с которой работает u-boot.

2.А вот изменение CONFIG_SERIAL1 -> на CONFIG_SERIAL2 в строке #define CONFIG_SERIAL1 1 /* we use SERIAL 1 on MINI2440 */ приведет к желаемому результату.

Вообще, там очень вменяемые комментарии и, потратив минут 5ть, Вы бы могли и сами разобраться, а не требовать, что бы Вас ткнули носом в место решения Вашей задачи. Как-то по детски все выглядит.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение Resident » 11 мар 2011, 13:11

Weekend писал(а):Да, благодарностей вагон :)
Если бы вы сразу написали
Weekend писал(а):изменение CONFIG_SERIAL1 -> на CONFIG_SERIAL2 в строке #define CONFIG_SERIAL1 1 /* we use SERIAL 1 on MINI2440 */ приведет к желаемому результату.
а не распинались бы тут, то я бы сразу вас поблагодарил, и мы бы не занимались тут этими никому не нужными разговорами... А тот факт, что нужно что-то пересобрать с нужными настройками мне был известен изначально. Вопрос как раз был в том, ГДЕ эти самые настройки находятся!
Я обычно никогда ничего не спрашиваю предварительно не нагуглив инфы по нужной теме т.к. в 95% случаев гугиль рулит, просто в данный момент было некогда этим занимать, но в итоге все как всегда пошло через жопу, и все равно пришлось курить инфу :(
Кстати CONFIG_SERIAL1 1 я менял, но на CONFIG_SERIAL1 2, т.к. думал что это инт, а не бул... а места использования данного дефайна я не нашел.

И еще,
Код: Выделить всёРазвернуть
Uncompressing Linux............................................................. done, booting the kernel.
Так и плюется в старую консоль... значит все-таки еще где-то что-то нужно изменить %)
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 11 мар 2011, 13:46

Я же русским по белому написал, что надо изменить CONFIG_SERIAL1 на CONFIG_SERIAL2, а не CONFIG_SERIAL1 1 на CONFIG_SERIAL1 2.

Если бы не только гуглили, а еще и в код заглядывали, то решили бы данный вопрос за 5ть минут!!!

Да и я четко написал, а Вы даже прочитать толком не захотели!!!

Добавлено спустя 22 минуты 51 секунду:
Почему я говорил о просмотре кода, если сделать просто поиск по коду u-boot строки CONFIG_SERIAL1, то Вас сие приведет вот к этому файлику: uboot/mini2440/common/serial.c

Внутри сиего файлика есть вот такие строки:
#if defined(CONFIG_SERIAL1)
return &s3c24xx_serial0_device;
#elif defined(CONFIG_SERIAL2)
return &s3c24xx_serial1_device;
#elif defined(CONFIG_SERIAL3)
return &s3c24xx_serial2_device;
#else
#error "CONFIG_SERIAL? missing."
#endif

По моему из них все сразу очевидно и главное, что все просто, быстро и т.д. Честно говоря, до написания ответа Вам, я на данную часть u-boot не обращал ни малейшего внимания, не требовалось мне перенаправлять консоль, ради помощи полез посмотреть и все крайне быстро нашел!
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение Resident » 11 мар 2011, 14:00

Про CONFIG_SERIAL2 вы написали лишь в предыдущем посте, после почти двух страниц непонятно чего... Да, спасибо вам за это еще раз!
Но проблему с "Uncompressing Linux..." он почему-то все равно не решает.
Перед этим вы говорили о
пересобрать u-boot с требуемыми настройками консоли и задать параметры ядру.
Смахивает на диалог:
- Здравствуйте, мне нужно пересобрать u-boot и задать параметры ядру для смены консоли.
- Так это легко, вам всего лишь нужно пересобрать u-boot с требуемыми настройками консоли и задать параметры ядру
Отлично поговорили :D
А файл uboot/mini2440/common/serial.c я не обнаружил... (я в предыдущем посте уже говорил что НЕ НАШЕЛ его) Точнее поиск его не обнаружил. Видимо я и поиском в линуксе пользоваться не умею :cry:
Если бы я этот код нашел, то разумеется сразу все понял, но я его НЕ нашел!...
ЗЫ Вот такие разборки и отбивают все желание общаться на форумах и спрашивать что-либо...
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Re: mini2440 сборка и установка ядра

Сообщение Weekend » 11 мар 2011, 15:41

Еще больше отбивает желание помогать, а ведь помощь реально выдана :)

На тему uncompressing kernel могу только наводку дать, куда рыть. В документации на ядро есть такие вот слова:

earlycon= [KNL] Output early console device and options.
uart[8250],io,<addr>[,options]
uart[8250],mmio,<addr>[,options]
uart[8250],mmio32,<addr>[,options]
Start an early, polled-mode console on the 8250/16550
UART at the specified I/O port or MMIO address.
MMIO inter-register address stride is either 8bit (mmio)
or 32bit (mmio32).
The options are the same as for ttyS, above.

Правильное задание данного параметра решит проблему с выводом декомпрессора ядра. Еще есть вариант поискать, где в исходниках ядра обрабатывается данный параметр и что используется по умолчанию, думаю, что можно и там сие исправить.

На счет поиска в линуксе - есть вагон полезных утилит, для поиска файлов, на пример, есть find, для выборки внутри файла, есть grep. Вот простая строчка для поиска чего либо в каталоге по наличию подстроки в файле: find . -type f -exec grep -il 'CONFIG_SERIAL1' {} \;
Или самый простой способ - используйте mc, там поиск отлично работает.
Аватара пользователя
Weekend
 
Сообщения: 15
Зарегистрирован: 16 фев 2011, 13:30
Откуда: Minsk
прог. языки: C/C++, Perl, Tcl/Sh, Python, Ruby, Pascal, Asm...

Re: mini2440 сборка и установка ядра

Сообщение Resident » 11 мар 2011, 17:07

Ну я вас уже поблагодарил.
Думаю в силу того, что в итоге все равно пришлось рыть инфу, данную тему (данный вопрос) можно закрывать...
За наводку тоже спс, посмотрим что их этого выйдет, а mc в федоре нет.
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.
Resident
 
Сообщения: 167
Зарегистрирован: 14 июн 2010, 17:19
прог. языки: Qt/C/C++

Пред.След.

Вернуться в mini2440

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1