Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:4
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:8
Форум » starterkit.ru » Embedded Linux
AT91, SD и linux
vlad_ph
Добавлено 22.02.2012 22:59
0
Сообщение: 1
vlad_ph
0

Пункты: 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
Добавлено 23.02.2012 01:26 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
что за АРМ?
строка загрузки ядра?
что на рутовой?
rootdelay=2 плохая идея, попробуйте rootwait

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
vlad_ph
Добавлено 23.02.2012 01:36 Сообщение: 3
vlad_ph
0

Пункты: 680
Регистрация: 11.10.2011
at91sam9g45

root=/dev/mmcblk0p2 ram=64M rw mem=64M console=ttyS0,115200 rootdelay=2

На руте находится debian.
Спуститься к концу Подняться к началу
Персональная информация
vlad_ph
Добавлено 23.02.2012 02:08 Сообщение: 4
vlad_ph
0

Пункты: 680
Регистрация: 11.10.2011
с rootwait то же самое
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.02.2012 10:50 Редактировалось 23.02.2012 10:53 Сообщение: 5
Jury093
4.5

Пункты: 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
Добавлено 23.02.2012 11:54 Сообщение: 6
vlad_ph
0

Пункты: 680
Регистрация: 11.10.2011
ядро с git.kernel.org, 3.3.0, то же что и на десктопе

Поддержка нужных ФС, разуммется, вкомпилена в ядро. На флешке стоит обычный debian, в котороый даже можно chroot'иться, когда загружена исходная прошивка, которая на nand.
Спуститься к концу Подняться к началу
Персональная информация
vlad_ph
Добавлено 23.02.2012 11:57 Сообщение: 7
vlad_ph
0

Пункты: 680
Регистрация: 11.10.2011
Но ядро ругается не на плохую ФС, а на отсутствующее устройство mmcblk0p2
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.02.2012 12:14 Сообщение: 8
Jury093
4.5

Пункты: 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
Добавлено 23.02.2012 13:08 Сообщение: 9
vlad_ph
0

Пункты: 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
Добавлено 23.02.2012 13:14 Сообщение: 10
vlad_ph
0

Пункты: 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 появляется позже
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux