TigerSHARC 0 10 ноября, 2013 Опубликовано 10 ноября, 2013 · Жалоба Добрый день! Использую однолплатный компьютер на базе AM1808. Ранее использовал пакет от производителя, где поставлялось ядро 2.xx.xx и в конфиге указывался файл борды owlboard-mini.c, соответственно в menuconfig присутстовала строка для выбора этого типа борды. Решил перейти на новое ядро. с ужасом заметил что в ядре 3.1.10 в menuconfig нет борды Owlboard и соответтсвенно нату файла борды. Вопрос: как добавить мою борду в конфиг нового ядра? (тупое копирование файла борды и попытка подсунуть в качестве другой борды не увенчалась успехом :smile3046: ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 10 ноября, 2013 Опубликовано 10 ноября, 2013 · Жалоба Вопрос: как добавить мою борду в конфиг нового ядра? (тупое копирование файла борды и попытка подсунуть в качестве другой борды не увенчалась успехом :smile3046: ) В новых ядрах (3.x) изменилась идеалогия (dts file), посмотрите здесь для начала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 10 ноября, 2013 Опубликовано 10 ноября, 2013 · Жалоба В 3.12 файл Биглборда есть: http://lxr.free-electrons.com/source/arch/...d-omap3beagle.c Я могу вам рассказать, что надо делать, но будет непросто. Я хорошо знаю 2.6, но не работал с 3 и выше. Вам надо модифицировать Makefile и Kconfig, тогда ваш файл появится в конфигурации и будет строиться. Идентификация вашего устройства присутствует в старом файле, а вот если есть изменения в определении устройств, то у вас будет много работы. Зато узнаете много нового. Что такое не увенчалось успехом? Кернел грузится? Где падает? Вам надо подключить консоль и исследовать сообщения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба В 3.12 файл Биглборда есть: http://lxr.free-electrons.com/source/arch/...d-omap3beagle.c Я могу вам рассказать, что надо делать, но будет непросто. Я хорошо знаю 2.6, но не работал с 3 и выше. Вам надо модифицировать Makefile и Kconfig, тогда ваш файл появится в конфигурации и будет строиться. Идентификация вашего устройства присутствует в старом файле, а вот если есть изменения в определении устройств, то у вас будет много работы. Зато узнаете много нового. Что такое не увенчалось успехом? Кернел грузится? Где падает? Вам надо подключить консоль и исследовать сообщения. буду рад узнать от вас много нового! Не увенчалась успехом значит что вывалилась ошибка во время сборки ядра (подробности выложу сегодня вечером). Я пытался подсунуть код моей платы Owlboard, тупо вставив его в файл hawkboard (он есть в исходниках ядра 3.1.10). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 11 ноября, 2013 Опубликовано 11 ноября, 2013 · Жалоба буду рад узнать от вас много нового! Не увенчалась успехом значит что вывалилась ошибка во время сборки ядра (подробности выложу сегодня вечером). Я пытался подсунуть код моей платы Owlboard, тупо вставив его в файл hawkboard (он есть в исходниках ядра 3.1.10). Не от меня. Я только знаю куда идти. Так что по дороге вместе узнаем :) Пока надо будет редактировать ваш файл, чтобы скомпилировать кернел. Потом будем устранять ошибки. В какой директории находится ваш файл устройства? arch/arm/mach-????? Не могу найти файл в официальном дереве кернела. Хотя идентификацию нашел: 3736 Owlboard Plus OMAP-L138 l138_owlboard_plus #define MACH_TYPE_L138_OWLBOARD_PLUS 3736 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 12 ноября, 2013 Опубликовано 12 ноября, 2013 · Жалоба В какой директории находится ваш файл устройства? arch/arm/mach-????? у меня ядро 2.6.37 файл борды лежит в .../arch/arm/mach-davinchi/board-l138-owlboardplus.c только сейчас заметил, похоже в ванильном ядре вообще такого файла нет. у меня папка с ядром называется linux-2.6.37_DAVINCI_03.21.00.04 подозреваю что это пропатченое ядро... тогда как переделать файл board-omapl138-hawk.c , который есть в ванильном ядре, под мою борду? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kurtis 0 12 ноября, 2013 Опубликовано 12 ноября, 2013 · Жалоба Мне вот просто интересно, а зачем вы обновляете версию ядра если текущая в принципе работает? Это куча проблем на ровном месте, а полезность результата весьма сомнительна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TigerSHARC 0 12 ноября, 2013 Опубликовано 12 ноября, 2013 · Жалоба Мне вот просто интересно, а зачем вы обновляете версию ядра если текущая в принципе работает? Это куча проблем на ровном месте, а полезность результата весьма сомнительна. я скачал SDK для OMAP-L138. В пакете идёт syslink для межъядерного взаимодействия и Linux-3.1.10 (в виде бинарника). Исходники ядра есть, но они в архиве и не сконфигурированы вообще(что странно), бинарник запускается нормально, но для syslink нужны исходники Я не уверен что syslink будет работать на ядре 2.6.37. Хотя, если честно, пока не пробовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xor.kruger 0 12 ноября, 2013 Опубликовано 12 ноября, 2013 · Жалоба а зачем вы обновляете версию ядра если текущая в принципе работает Зачастую смысл в этом есть, особенно когда процессор/контроллер достаточно новый часто подправляют, дорабатывают сырые версии драйверов ну и конечно же новые подсистемы ядра (правда если они действительно необходимы в конкретном устройстве). Также, от себя, я бы посоветовал если и переходить на новую версию ядра, то уж на последнюю стабильную, с долгим временем поддержки. На текущий момент это ядро серии 3.10. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 12 ноября, 2013 Опубликовано 12 ноября, 2013 (изменено) · Жалоба у меня ядро 2.6.37 файл борды лежит в .../arch/arm/mach-davinchi/board-l138-owlboardplus.c только сейчас заметил, похоже в ванильном ядре вообще такого файла нет. у меня папка с ядром называется linux-2.6.37_DAVINCI_03.21.00.04 подозреваю что это пропатченое ядро... тогда как переделать файл board-omapl138-hawk.c , который есть в ванильном ядре, под мою борду? Первым делом ищите в своем файле L138_OWLBOARD_PLUS и переписываете строчку в переделываемом файле на строчку с этим значением. Обычно это одна из последних строк файла. MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard") замените на MACHINE_START(L138_OWLBOARD_PLUS, "AM18x/OMAP-L138 Hawkboard") Только сначала проверьте если в вашем файле используется L138_OWLBOARD_PLUS. Надо именно то, что там. Текст пока не трогайте. Заработает -- поменяете. Этот текст консоль напишет при старте. А вот если не поменять, то кернел не стартует вообще. Пройдите по всем структурам и дефайнам, определяющим устройства и пины и переопределите под свой борд. Особое значение имеет PMIC. Я не нашел этого в ястребе (hawk -- OMAP-L138 Hawkboard). Проверьте есть ли опреденление PMIC параметров, напряжений, токов в вашем файле. Если сделать это неправильно, то консоли не будет: 316 #ifdef CONFIG_SERIAL_8250_CONSOLE 317 static int __init omapl138_hawk_console_init(void) 318 { 319 if (!machine_is_omapl138_hawkboard()) 320 return 0; 321 322 return add_preferred_console("ttyS", 2, "115200"); 323 } 324 console_initcall(omapl138_hawk_console_init); 325 #endif Проверку machine_is_omapl138_hawkboard() можно пока закоментировать, а потом посмотрите как сделано и доделаете. я скачал SDK для OMAP-L138. В пакете идёт syslink для межъядерного взаимодействия и Linux-3.1.10 (в виде бинарника). Исходники ядра есть, но они в архиве и не сконфигурированы вообще(что странно), бинарник запускается нормально, но для syslink нужны исходники Я не уверен что syslink будет работать на ядре 2.6.37. Хотя, если честно, пока не пробовал. Получить содержимое конфигурации легко: Установите бинарники, запустите машину и считайте конфигурацию одним из способов: из файла /boot/config-версия-кернела из архива /proc/config.gz Скопируйте содержимое в файл .config. Поместите .config в корне исходников кернела. Где вы запустите команду make ARCH=arm configure Не запуская тоже можно: http://stackoverflow.com/questions/1495819...ux-kernel-image Только имейте ввиду, что образ ядра обычно сжат и его надо сначала разархивировать. Изменено 12 ноября, 2013 пользователем Tarbal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 13 ноября, 2013 Опубликовано 13 ноября, 2013 · Жалоба С появлением дерева устройств файл устройства разделился на два. Вторая его часть здесь: http://lxr.free-electrons.com/source/arch/arm/boot/dts/ Эта часть мне незнакома. Будем читать вместе: http://devicetree.org/Device_Tree_Usage Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться