Difference between revisions of "MultiMediaCard"

From ArmadeusWiki
Jump to: navigation, search
(Introduction)
(reorg)
Line 8: Line 8:
 
* with a DevFull you can use the MMC/SD onboard connector and an adaptor for miniSD and microSD
 
* with a DevFull you can use the MMC/SD onboard connector and an adaptor for miniSD and microSD
  
==Installation (obsolete now because driver is included in default Armadeus kernel)==
+
All needed drivers are included in standard Armadeus Linux image.
 
+
When you build your kernel image, then modify its configuration:
+
[armadeus]$ make linux-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 linux
+
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
+
  
 
==Usage==
 
==Usage==
Line 59: Line 39:
 
(default bootcmd is ''run jffsboot'')
 
(default bootcmd is ''run jffsboot'')
  
==TBDL==
+
==Performances==
 +
* [[MMC/SD#Supported_Cards]]
 +
==Installation (obsolete now because driver is included in default Armadeus kernel)==
 +
 
 +
When you build your kernel image, then modify its configuration:
 +
[armadeus]$ make linux-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 linux
 +
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
  
 
==Links==
 
==Links==
  
* http://www.linux-usb.org/gadget/
+
* http://en.wikipedia.org/wiki/MultiMedia_Card
  
  
 
[[Image:FrenchFlag.png]][[Fr:MultiMediaCard| Cette page en français]]
 
[[Image:FrenchFlag.png]][[Fr:MultiMediaCard| Cette page en français]]
 +
 +
[[Category:MassStorage]]

Revision as of 18:57, 1 May 2008

Instructions to use the MultiMediaCard (MMC/SD) on your Armadeus board

Introduction

You can use standard MMC/SD/miniSD/microSD cards with your Armadeus board:

All needed drivers are included in standard Armadeus Linux image.

Usage

Just mount the MMC like you will do on your PC, for example (FAT32 formatted card):

# mount -t vfat /dev/mmcblk0p1 /mnt/mmc

You can then access the MMC's files from /mnt/mmc directory

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

Booting from MMC/SD

When your rootfs is too big to be put on the APF9328 FLASH, you can always use a MMC/SD like a Hard Drive and boot from it. To do that you must have MMC drivers compiled as builtin in your Linux kernel (done by default in standard Armadeus kernel)

  • Mount your MMC/SD on your Host filesystem, for example in /media/mmc
[armadeus] $ sudo mkdir -p /media/mmc
[armadeus] $ sudo mount /dev/sdxx /media/mmc
  • Then put your rootfs on this MMC/SD: in Buildroot configure rootfs to be tar-ed:
[armadeus] $ make menuconfig
 Target filesystem options  ---> tar the root filesystem
[armadeus] $ make

and then:

[armadeus] $ sudo tar xvf ./buildroot/binaries/armadeus/rootfs.arm.tar -C /media/mmc
[armadeus] $ sudo umount /media/mmc
  • in U-Boot then use (with MMC/SD/microSD inserted):
BIOS> run mmcboot
  • if you want to automatically boot from SD at each startup then replace default bootcmd U-Boot macro:
BIOS> setenv bootcmd run mmcboot
BIOS> saveenv

(default bootcmd is run jffsboot)

Performances

Installation (obsolete now because driver is included in default Armadeus kernel)

When you build your kernel image, then modify its configuration:

[armadeus]$ make linux-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 linux

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

Links


FrenchFlag.png Cette page en français