ARM Technical Support Knowledge Articles | |
Several ways exist to mount a root filesystem on an ARM platform running Linux. This article only applies to the case where the filesystem image is in flash and is accessed using the Linux MTD driver with 'mtdblock' as the FTL (flash translation layer).
MTD flash partitions are typically specified as part of the kernel boot arguments in the bootloader. Below is an example of how this is done when using U-Boot:
bootargs= root=/dev/mtdblock0 mtdparts=armflash.0:60000k@0x50000(cramfs) ...
The root filesystem is mounted to block device '/dev/mtdblock0'. The block device contains one or more partitions as specified with the 'mtdparts' option. Note that each partition specifies a flash device ('armflash.0'), a partition size (60000k), the relative address from the flash device base address (0x50000) and an arbitrary name ('cramfs').
The name of the flash device in the Linux kernel source for the Versatile Express has changed from 'armflash.0' to only 'armflash'. The U-Boot kernel boot arguments must be changed to reflect the new name as shown below:
bootargs= root=/dev/mtdblock0 mtdparts=armflash:60000k@0x50000(cramfs) ...
This change affects Linux kernel versions based on v2.6.35 and later with the ARM patch applied (2.6.35-arm1). The change only affects the Versatile Express platform. All previous ARM developments boards running this version of the kernel are unaffected.
Please visit the ARM Linux webpage for the latest release of prebuilt kernel and filesystem images, as well as the ARM Linux kernel patch.
Article last edited on: 2011-02-21 10:44:02
Did you find this article helpful? Yes No
How can we improve this article?