Talk:MultiMediaCard
Troubleshots
Note : If the special files /dev/mmcblk0, /dev/mmcblk0p1 /dev/mmcblk0p2 ... /dev/mmcblk0p7 are NOT present on your filesystem, create them by hand :
# mknod /dev/mmcblk0 b 179 0 # mknod /dev/mmcblk0p1 b 179 1 # mknod /dev/mmcblk0p2 b 179 2 ... # mknod /dev/mmcblk0p7 b 179 7
(It happened to me after upgrading an APF9328+DevLight from version 2.3 to 3.1)
Installation (now obsolete because MMC driver is statically built in default Armadeus kernel)
When you build your kernel image, then modify its configuration:
[armadeus]$ make linux26-menuconfig
in Device Drivers->MMC/SD Card support->iMX Support In FileSystems, don't forget to add support for the filesystem you want to use on the MMC and if you activate FAT/VFAT, don't forget to activate Native Language Support (NLS) otherwise you'll get errors like:
Unable to load NLS charset cp437 FAT: codepage cp437 not found
Save your configuration and then rebuild your kernel image:
[armadeus]$ make linux26
now you should have following drivers in your kernel source tree:
drivers/mmc/
Copy mmc_core.ko, imxmmc.ko & mmc_block.ko to your target root filessytem in /lib/modules/ or reflash the generated rootfs.
If not already existing then create the MMC block devices:
# mknod /dev/mmcblk0 b 254 0 # mknod /dev/mmcblk0p1 b 254 1
If not already existing then create the mount point (/mnt/mmc):
# mkdir -p /mnt/mmc
The MMC driver is now included inside the Linux kernel (no more a module) but if you want to use it as a module you will have to:
# modprobe imxmmc # modprobe mmc_block