Вернулся к изучению arm и сборке системы для платы. Сейчас появилось желание собрать своё ядро (причина не особенно важна, хотя, на самом деле, хочется обновлённые option и mass storage). Попытки начал с 3.2.18. В принципе, ядро собирается, но вот с SD не грузится:
Похожее обсуждение было тут. В первом сообщении не упоминается строка
Далее, однако, про неё тоже говорится. Решением для mmc то обсуждение закончено не было. Есть упоминание о проблеме с тактированием. Действительно, тут, у меня, написано mmc0: clock 0Hz и т.д. Но, в упомянутом обсуждении, направление решения только обозначено, было бы интересно на код посмотреть, так как я не программист-железячник и самостоятельные раскопки могут быть весьма продолжительны у меня...
С рабочим ядром, которое было получено с местного ftp, проблема такая, что оно rc (2.6.36-rc6), сейчас что-то не получается найти тарбол с rc6, чтобы посмотреть отличия. Имеющийся mci.patch маловат, судя по всему: 7330 байт. Попытка применения к ядру 2.6.36 эффекта не даёт, SD-карта, так же, не определяется. В патче отсутствует, как минимум, целый блок, имеющий комментарий
Собственно, вопросы. Есть ли у кого полный патч для 2.6.36, или, что лучше, патч для какого-нибудь более свежего ядра ? Или, как вариант, объяснение, почему SD-карта не видна ?
UPD: на самом деле, в 3.2.18-oem.patch есть таки изменения именно в mci0_data и mci1_data... Причём, не такие, как по упомянутой, в следующем моём, сообщении ссылке.
выложите:
- строку параметров ядра при загрузке
- изменения в board файле в части mmc
- выдержку из конфига, типа cat .config | grep MMC
- последние 10-15 строк перед кернел паник..
Ещё одно обсуждение нашёл. Тут, вроде бы, всё получилось. Только, опять же, не очень понятно, как.
Последняя проба была с 3.7.1 (уж новое, так новое...). Исходный конфиг получен командой "make ARCH=arm at91sam9g45_defconfig". Пробовал как без исправления board-sam9m10g45ek.c, так и с правкой .detect_pin = AT91_PIN_PA4, как в обсуждении ("at91_add_device_mci(1, &mci1_data)" закомментировал). В последнем случае вывод такой:
Да, точно. AT91_PIN_PA31 - всё, что было надо для 3.7.1. Оно, правда, из-за ФС теперь свалилось, но это, наверное, мелочи - я не проверял, что там наконфигурировалось изначально в плане ФС. Сейчас буду причёсывать конфиг. :)
Спасибо.
С ФС понятно, там ext2 только по-умолчаню сконфигурирована. Но попал в засаду, хотя это другая тема.
Нет, тема оказалась та же. Смутило отсутствие Atmel в драйверах сетевых карт, но драйвер просто переименовали в "Cadence MACB/GEM". Но вот что потребовалось - это скопировать данные структуры ek_macb_data. Заодно и ek_nand_partition поправил. Надо будет там всё сверить потом.
Да я надеялся, что ядром вообще заниматься не придётся. Или придётся не мне. Пока 3.7.1 устраивает вроде, потребуется ещё новее - буду тогда и разбираться, если этот вариант станет недоступен.