ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион, Тион-Про, Тион-Про v2, Сириус => Тема начата: zverro от 02 Июня, 2013, 21:52:23
-
Коллеги, добрый день. Не подскажет ли кто, как сделать переинициализацию sd-карты, после её смены?
У меня на тионе-про-2 после загрузки системы при вставленной sd-card она работает нормально. У меня там не fs, токмо данные.
# mount /dev/mmcblk0p1 /mnt/disk
# umount /dev/mmcblk0p1
Но если я её вытаскиваю и вставляю снова, её же или другую, то не получаецо
# mount /dev/mmcblk0p1 /mnt/disk
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2050
EXT3-fs: unable to read superblock
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2050
EXT2-fs: unable to read superblock
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2048
FAT: unable to read boot sector
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2048
FAT: unable to read boot sector
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2112
isofs_fill_super: bread failed, dev=mmcblk0p1, iso_blknum=16, block=32
mmcblk0: error -5 transferring data
end_request: I/O error, dev mmcblk0, sector 2048
romfs: unable to read superblock
mmcblk0: error -5 transferring data
.....
Наверное нада какую-то команду запускать, чтобы карто увиделась ?
-
На Тион-Про2 SD карта на интерфейсе SPI без какой-либо защиты, поэтому
вытаскивать и вставлять карточку во включённом состоянии опасно для карточки
и SPI.
Для ядра 2.6.20 нами не сделана обработка сигнала вставки карточки.
Если у вас драйвер mmc_spi как модуль (см. lsmod), то попробуйте
umount <dir>; rmmod mmc_spi; modprobe mmc_spi; mount <dir>
-
Спасибо за информацию. Теперь для неопределённость снялась.
Помпробывал перекомпилировать ядро с единственным модулем mmc_spi, остальное всё встроенное, но видно я что-то не так делаю
# modprobe mmc_spi
mmc_spi: unknown relocation: 40
modprobe: failed to load module mmc_spi: invalid module format
# modprobe mmc_spi.ko
mmc_spi: unknown relocation: 40
modprobe: failed to load module mmc_spi.ko: invalid module format
# insmode mmc_spi.ko
-sh: insmode: not found
# insmod mmc_spi
insmod: can't insert 'mmc_spi': unknown symbol in module, or unknown parameter
# rmmod mmc_spi; modprobe mmc_spi
rmmod: can't unload 'mmc_spi': unknown symbol in module, or unknown parameter
mmc_spi: unknown relocation: 40
modprobe: failed to load module mmc_spi: invalid module format
Я скопировал модуль в каталог /lib/modules/2.6.20.21/kernel/drivers/mmc/host (через SSH), как и на собранной в buildroot системе, но может надо было еще что-то скопировать...
Пока я имею, в качестве запасного варианта, - перегрузку после смены sd-card. Криво, но хоть так...
-
Для insmod нужен полный путь файла модуля.
Для modprob нужен файл зависимостей модулей, см.
www.zao-zeo.ru/dokuwiki/doku.php/linux#модули_ядра
Т.е. вы на host'e устанавливаете модули в указанный каталог
INSTALL_MOD_PATH, архивируете этот каталог (т.к. scp будет копировать
символьные ссылки как файлы, а не как ссылки) и, скопировав архив на плату,
разархивируете в /
При этом не забудьте, что модуль должен иметь тот же OABI/EABI, что и ядро
на плате. Видимо из-за этого сообщение "invalid module format".
Проверить, если есть /proc/config.gz можно:
zcat /proc/config.gz | grep ABI
-
Я помпробывал сделать всё "по честному", повесил собранную fs на nfs, чтобы с путями модулей не ошибиться. Ядро и fs собираюцо buildrootом (не помню как я это настроил, давно было) но не помогло.
# mount /dev/mmcblk0 disk
mount: mounting /dev/mmcblk0 on disk failed: No such device or address
# modprobe mmc_spi
mmc_spi: unknown relocation: 40
modprobe: failed to load module mmc_spi: invalid module format
# zcat /proc/config.gz | grep ABI
CONFIG_AEABI=y
CONFIG_OABI_COMPAT=y
#
Пока думаю что делать. Я бы смирился если бы программый ребут нормально работал. но он зависает на стадии надписи "kernel loaded".
Причем, такое впечатление что ребут перестал работать когда я подключил mmc драйверы.
Если у кого-нибудь найдутся идеи "в чём я, уклюжий, лепый, недосмотрел", поделитеся.