ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион, Тион-Про, Тион-Про v2, Сириус => Тема начата: andrey_d от 30 Марта, 2011, 14:47:40

Название: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 30 Марта, 2011, 14:47:40
Здравствуйте!
Собрал систему с помощью buildroot-2010.11 с рекомендациями по добавлению AM0 и с патчами от мартина. До rev3 все работало. Про flash уже прочитал. U-boot заменил. Дело за ядром. После загрузки старого выдается сообщение
SR.4 or SR.5 bits set in buffer write.
Google сказал, что это касается flash.
Дальше выдается предложение залогиниться, но после ввода root процесс зацикливается. В securetty консоль AM0 прописана. Решил  погрешить на ядро.
Есть большое желание освежить его до 2.6.31. Его и собирает buildroot-2010.11. Решение в лоб с ep93xx_defconfig не заработало. В частности, не создаются разделы на NOR-flash. Предполагаю, что ядро пытается создать их на NAND.
Всю методику портирования ядра на Тион не прошу, хотя бы общие принципы, если можно. Или готовое решение.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 30 Марта, 2011, 16:28:44
> SR.4 or SR.5 bits set in buffer write.

Насколько я знаю, на нормальную работу Flash это не влияет.

> Дальше выдается предложение залогиниться, но после ввода root процесс зацикливается. Решил  погрешить на ядро.

Добавляйте init=/bin/sh и смотрите.

>В частности, не создаются разделы на NOR-flash.

Используйте mtdparts, они уже заданы в U-Boot, возможно они даже переданы ядру в cmdline.
Ядро должно быть с CONFIG_MTD_PARTITIONS=y
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 30 Марта, 2011, 16:38:47
>В частности, не создаются разделы на NOR-flash.

Используйте mtdparts, они уже заданы в U-Boot, возможно они даже переданы ядру в cmdline.
Ядро должно быть с CONFIG_MTD_PARTITIONS=y

И CONFIG_MTD_CMDLINE_PARTS=y
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 31 Марта, 2011, 16:35:11
u-boot-2010.09 не умеет mtdparts.
CONFIG_MTD_PARTITIONS=y и CONFIG_MTD_PARTITIONS=y присутствуют, хотя второй параметр при таком u-boot не важен.
Разделы не создаются.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 31 Марта, 2011, 16:40:13
> u-boot-2010.09 не умеет mtdparts.

Что вы имеете в виду?

> Разделы не создаются.

Как вы сообщаете ядру какие разделы создать?

Более того, раз "Дальше выдается предложение залогиниться", то по крайней мере раздел с КФС есть и как-то (может не полностью) примонтирован.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 31 Марта, 2011, 17:06:22
Логин в цикле спрашивает система с ядром 2.6.20. init=/bin/sh приводит к kernel panic.
Стал собирать систему с ядром 2.6.36. Тогда перестали создаваться разделы.
Ядру при загрузке про разделы не сообщаю. Перед компиляцией указал создать RedBoot partitions. На других платформах работает.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 31 Марта, 2011, 17:20:01
> Перед компиляцией указал создать RedBoot

На плате нет RedBoot и нет RedBoot разделов.
Вам нужно в U-Boot добавить в переменную bootargs значение переменной mtdparts.

setenv bootargs ${bootargs} ${mtdparts}
saveenv

или

setenv bootargs ${bootargs} mtdparts=flash:256k(u-boot)ro,2560k(kernel),64k(u-boot_env1),64k(u-boot_env2)
saveenv

или

setenv bootcmd 'setenv bootargs ${bootargs} ${mtdparts}; bootm 80000'
saveenv

Если U-Boot собран без поддержки mtdparts (команда mtdparts ничего не выводит), то на работу mtdparts ядра это не повлияет.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 31 Марта, 2011, 19:50:36
Спасибо за помощь! С mtdparts разделы появились.
Но размер flash ядром пилится вдвое. Пишет

Reducing visibility of 65536KiB chip to 32768KiB.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 31 Марта, 2011, 19:57:38
Какие CONFIG_MTD_MAP_BANK_WIDTH_x включены в конфигурации ядра?
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 04 Апреля, 2011, 15:19:24
Добрый день!
С новым ядром разбираться время поджимает. Вернулся к старому.
В каком месте в исходниках ядра задаются временные параметры работы с flash? Пока их не поменять, rev3 работать не будет.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 04 Апреля, 2011, 15:34:35
> В каком месте в исходниках ядра задаются временные параметры работы с flash?

Они задаются в U-Boot.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 04 Апреля, 2011, 15:41:10
А ядро потом по-своему память не переинициализирует?
Можете указать какой именно файл?
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 04 Апреля, 2011, 15:45:27
> А ядро потом по-своему память не переинициализирует?

Временные параметры контроллера памяти не изменяются.

> Можете указать какой именно файл?

u-boot-2010.09/board/zeo/tion/flash_cfg.c
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 05 Апреля, 2011, 18:50:27
Взял весь toolchain в исходниках с сайта. Если компилирую с конфигами по умолчанию, все работает. Стоит добавить патчи gcc для сопроцессора, включить опции для поддержки сопроцессора и перекомпилировать, как начинаются проблемы со входом в систему. На сегодняшний день вообще кому-то удалось завести сопроцессор?
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: asv от 05 Апреля, 2011, 19:10:10
Ищите по форуму слово crunch
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: faa от 06 Апреля, 2011, 10:16:26
На сегодняшний день вообще кому-то удалось завести сопроцессор?
Сопроцессор работает.
Вот тут ftp://kicad.r4b.ru/pub/tion9315/ (http://ftp://kicad.r4b.ru/pub/tion9315/) есть собранный тулчейн с gcc-4.2.4 для Тиона9315.
gcc-4.3.4 дает код чуть медленней, чем gcc-4.2.4. Ищите по форуму - это уже обсуждалось.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 07 Апреля, 2011, 15:17:06
Спасибо за информацию.
Ситуация пока не изменилась. Система из любых исходников с любым компилятором (4.2.4, 4.3.4) работает, пока не начнешь подключать сопроцессор. Начинается логин в цикле. init=/bin/sh зависает после
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 124K
Запуск с готовым ядром с сайта дает то же самое.

Есть соображения по поводу своей некомпетентности.
-mfpu=maverick и т.д. я указываю перед запуском сборки buildroot в опции target optimization. Правильно ли это? И где еще могут быть подводные камни?
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 07 Апреля, 2011, 16:14:06
Насчет параметров сборки ответ нашел. Я так и делал. Не работает.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: faa от 07 Апреля, 2011, 18:54:30
Система из любых исходников с любым компилятором (4.2.4, 4.3.4) работает, пока не начнешь подключать сопроцессор. Начинается логин в цикле.
Что означает "пока не начнешь подключать сопроцессор"?
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 07 Апреля, 2011, 18:58:53
Имею ввиду накатить патчи, указать опции -mcpu=9312 -mfpu= ......... и начать сборку заново.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: faa от 07 Апреля, 2011, 19:08:59
Там же на ftp://kicad.r4b.ru/pub/tion9315/buildroot/ (http://ftp://kicad.r4b.ru/pub/tion9315/buildroot/) лежит buildroot-2010.05,
в котором все прекрасно собирается и работает. В том числе и
сопроцессор с плавающей запятой. Ядро там 2.6.35, gcc-4.2.4 со всеми патчами для EP93xx.
Название: Re: Ядро 2.6.31 для Тиона V2 rev3
Отправлено: andrey_d от 07 Апреля, 2011, 19:50:25
Там отпугнула фраза

UBoot и Linux заточены только под два монитора mtf-tw70sp941-av и mtf-t070acslp-lb, необходимо
   добавлять видеорежимы для ваших мониторов.

Попробую собрать.