Цитата(MaxPIC @ Aug 23 2017, 12:10)
C "Can't get dma_tx channel" в итоге поборолись. Теперь загрузка всегда останавливается на "Waiting for root device /dev/mmcblk0p2"
1. Никакого "kernel panic" нет.
2. Ножка CD (Card Detect) сконфигурирована, пробовали даже изменить процедуру запроса состояния CD так, чтобы она вне зависимости постоянно возвращала 0 ( пробовали и 1). Не помогло. Аналогично пробовали с WP (Write Protect).
3. Клоки на карте есть. Менять пробовали - меняются, но симптомы остаются прежними.
4. Со старым ядром карта полностью работоспособно на максимальной скорости, т.е. "железо" полностью работоспособное.
5. Устройство точно mmc0, раздел точно p2.
Зашли в тупик. Кто-нибудь сталкивался с подобным? Может быть на другом процессоре DM644x, DM64x, DM355, OMAP-L13x?
1. приведите строку аргументов для загрузки ядра, там где "console rw" и прочее
2. по карте
2.1 посмотрите в menuconfig нет ли там выбора канала для mmc/sd
2.2 там где смотрели клоки, также гляньте data0 и [1..3]
2.3 карточка точно старая? может суете sdhc/uhs1 и контроллер не работает с этим стандартом, например..
2.4 найдите в исходниках ядра в разделе
mmc драйвер хоста mmc/sd для вашего dm365 и там в функцию
_probe навтыкайте
printk, там же полезно вывести отладку для диагностики. на старом ядре всё работает, значит затык в новом.. если это не фатальный баг версии ядра (а такое бывает), то всё д.б. просто - драйвер интит пины (или это делается раньше), разрешаются клоки, в принципе всё, далее однобитный обмен с картой и переход на скоростной режим
2.5 CD/WP можно прописать NULL, я не помню ядер, которые этим пользуются в мелких системах, разве что в 2.6.хх каких-нить
по вашему "кернел паник" в инете практически пусто, вот тут
https://e2e.ti.com/support/dsp/omap_applica...2340#pi317270=1ничем полезным не кончилось..
попробуйте пару идей
1. однопользовательский режим - в строке аргументов для ядра уберите "root=/dev/mmcblk0p2 init=/init" и добавьте "noinitrd init=/bin/sh"
должны дойти до командной строки
2. чем вы собирали новое ядро? вне зависимости попробуйте новое ядро собрать кросскомпилятором, которым собиралась рутовая в билдруте