vlad_ph
Пункты: 680
Регистрация: 11.10.2011
Почему-то linux ядро не хочет монтировать SD/MMC карту в качестве корня. В результате kernel panic. Хотя строчкой выше как раз идет инициализация этой самой карты:
Цитата
[ 0.570000] atmel_mci atmel_mci.0: version: 0x410
[ 0.570000] atmel_mci atmel_mci.0: using DMA
[ 0.580000] atmel_mci atmel_mci.0: DMA not available, using PIO
[ 0.590000] atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
[ 0.590000] atmel_mci atmel_mci.1: version: 0x410
[ 0.600000] atmel_mci atmel_mci.1: using DMA
[ 0.600000] atmel_mci atmel_mci.1: DMA not available, using PIO
[ 0.610000] atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots
[ 0.620000] Waiting 2sec before mounting root device...
[ 2.630000] VFS: Cannot open root device "mmcblk0p2" or unknown-block(0,0)
[ 2.630000] Please append a correct "root=" boot option; here are the available partitions:
[ 2.640000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
ядру при этом указано root=/dev/mmcblk0p2
При этом ядро, изначально установленное на системе, и загружающееся с initrd в этом месте пишет:
Цитата
atmel_mci atmel_mci.0: Using dma0chan0 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
atmel_mci atmel_mci.1: Using dma0chan1 for DMA transfers
atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 0, name "nandfs"
UBIFS: file system size: 208244736 bytes (203364 KiB, 198 MiB, 1614 LEBs)
UBIFS: journal size: 10450944 bytes (10206 KiB, 9 MiB, 81 LEBs)
UBIFS: media format: w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root: 4952683 bytes (4836 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:12.
Freeing init memory: 136K
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SD card at address 1234
mmcblk0: mmc0:1234 SA02G 1.83 GiB
mmcblk0: p1 p2 p3
Насколько я понял, он инициализирует хост, но не саму карту. Как можно сказать ему, чтобы инициализировал карту до монтирования рута?
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
что за АРМ?
строка загрузки ядра?
что на рутовой?
rootdelay=2 плохая идея, попробуйте rootwait
На любой вопрос есть любой ответ.
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
at91sam9g45
root=/dev/mmcblk0p2 ram=64M rw mem=64M console=ttyS0,115200 rootdelay=2
На руте находится debian.
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата mmc0: new high speed SD card at address 1234
mmcblk0: mmc0:1234 SA02G 1.83 GiB
пока из криминала вижу "незнакомый" адрес 1234
на китах, что у меня (9260, 9g45, 9m10) обычно выводит
Код mmc0: new high speed SD card at address b368
mmcblk0: mmc0:b368 SDC 976 MiB
mmcblk0: p1 p2
1. попробуйте отключить использование 2-го канала sd/mmc - вроде выкусывается в файле борды и последующая пересборка
2. убедитесь, что в ядре включена поддержка типа ФС, которая использована на SD (ext2, ext3 etc)
3. для проверки правильности раздела загрузитесь "заводской" прошивкой, подмонтируйте p2
mount /dev/mmcblk0p2 /mnt
ls -l /mnt
д.б. видно стандартное содержимое рутовой дебьяна
update позже посмотрю, может надо проверить правильность заполнения данных для mci0. кстати, какое ядро используете? и его происхождение?
На любой вопрос есть любой ответ.
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
ядро с git.kernel.org, 3.3.0, то же что и на десктопе
Поддержка нужных ФС, разуммется, вкомпилена в ядро. На флешке стоит обычный debian, в котороый даже можно chroot'иться, когда загружена исходная прошивка, которая на nand.
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
Но ядро ругается не на плохую ФС, а на отсутствующее устройство mmcblk0p2
Jury093
Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата ядро с git.kernel.org, 3.3.0, то же что и на десктопе
Поддержка нужных ФС, разуммется, вкомпилена в ядро. На флешке стоит обычный debian, в котороый даже можно chroot'иться, когда загружена исходная прошивка, которая на nand.
хм.. я с полгода назад запускал 3.0.0 на 9g45 - столкнулся с проблемами запуска узла SD/MMC. крики типа:
Код atmel_mci: probe of atmel_mci.0 failed with error -2
нашел и поправил ошибку в тактирование, все заработало:
Код atmel_mci atmel_mci.0: Using dma0chan1 for DMA transfers
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
Waiting for root device /dev/sda2...
mmc0: card lacks mandatory switch function, performance might suffer.
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SDC 976 MiB
mmcblk0: p1 p2
у вас картина чуть другая - разделы карты уже видятся, т.е. физика вроде исправна..
попробуйте "шаманский" вариант - чисто проверка, что в принципе может грузиться:
Код mem=64M console=ttyS0,115200 rootwait root=/dev/mmcblk0p2 rw noinitrd init=/bin/sh
На любой вопрос есть любой ответ.
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
Цитата
atmel_mci atmel_mci.0: Using dma0chan1 for DMA transfers
mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
Waiting for root device /dev/sda2...
mmc0: card lacks mandatory switch function, performance might suffer.
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SDC 976 MiB
mmcblk0: p1 p2
Так у вас тоже получается, что mmcblk0 появляется после монтирования рута
vlad_ph
Пункты: 680
Регистрация: 11.10.2011
Цитата
mem=64M console=ttyS0,115200 rootwait root=/dev/mmcblk0p2 rw noinitrd init=/bin/sh
Получается
Код
[ 0.620000] atmel_mci atmel_mci.0: version: 0x410
[ 0.620000] atmel_mci atmel_mci.0: using DMA
[ 0.620000] atmel_mci atmel_mci.0: DMA not available, using PIO
[ 0.630000] atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
[ 0.640000] atmel_mci atmel_mci.1: version: 0x410
[ 0.640000] atmel_mci atmel_mci.1: using DMA
[ 0.650000] atmel_mci atmel_mci.1: DMA not available, using PIO
[ 0.650000] atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots
[ 0.660000] Waiting for root device /dev/mmcblk0p2...
Что собственно и ожидалось с учетом того, что mmc0 появляется позже