Difference between revisions of "MultiMediaCard"
m (→Introduction) |
(Add MMC boot instructions) |
||
Line 36: | Line 36: | ||
# mount -t vfat /dev/mmcblk0p1 /mnt/mmc | # mount -t vfat /dev/mmcblk0p1 /mnt/mmc | ||
You can then access the MMC's files from /mnt/mmc directory | You can then access the MMC's files from /mnt/mmc directory | ||
+ | |||
+ | ==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 ''/mnt/sdcard/'' | ||
+ | * Then put your rootfs on this MMC/SD: in Buildroot configure rootfs to be tar-ed: | ||
+ | [armadeus] $ make menuconfig | ||
+ | Target Options ---> tar the root filesystem | ||
+ | [armadeus] $ make | ||
+ | and then: | ||
+ | # tar xvf /.../armadeus/buildroot/rootfs.arm_nofpu.tar -C /mnt/sdcard/ | ||
+ | # umount /mnt/sdcard/ | ||
+ | * in U-Boot then use (with MMC inserted): | ||
+ | BIOS> run mmcboot | ||
==TBDL== | ==TBDL== |
Revision as of 11:53, 21 October 2007
Instructions to use the MultiMediaCard (MMC/SD) on your Armadeus board
Introduction
You can use standard MMC/SD cards with your Armadeus board, if you have the corresponding connector attached to your development board.
Installation
when you build your kernel image, then modify your configuration:
[user@toto]$ make xconfig
in Device Drivers->MMC/SD Card support->iMX Support In FileSystems, don't forgt to add support for the filesystem 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:
[user@toto]$ make
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 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
Now the MMC driver is 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
Then just mount the MMC, for example (FAT32 formatted card):
# mount -t vfat /dev/mmcblk0p1 /mnt/mmc
You can then access the MMC's files from /mnt/mmc directory
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 /mnt/sdcard/
- Then put your rootfs on this MMC/SD: in Buildroot configure rootfs to be tar-ed:
[armadeus] $ make menuconfig Target Options ---> tar the root filesystem [armadeus] $ make
and then:
# tar xvf /.../armadeus/buildroot/rootfs.arm_nofpu.tar -C /mnt/sdcard/ # umount /mnt/sdcard/
- in U-Boot then use (with MMC inserted):
BIOS> run mmcboot