警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : Flash上のパーティション割当変更方法(Armadillo-J)

対象製品: Armadillo-J

パーティションを4つに分け、boot用領域、Hermit用領域、Kernel+Userland領域の他に、192kBのデータ保存領域を作成する例を基に、パーティションの割当変更方保を説明します。

1. uClinux-distディレクトリに移動

2. linux-2.4.x/drivers/mtd/maps/armadilloj.c を編集してパーティションの数を決める

記述例


    struct mtd_partition armadilloj_partitions[] = {
    {
        .name       = "Flash/Reserved",
        .size       = RESERVED_SIZE,
        .offset     = 0,
        .mask_flags = MTD_WRITEABLE, / force read-only /
    },
    {
        .name       = "Flash/Hermit",
        .size       = HERMIT_SIZE,
        .offset     = MTDPART_OFS_APPEND,
        .mask_flags = MTD_WRITEABLE, / force read-only /
    },
    {
        .name       = "Flash/KernelUser",
        .size       = SYSTEM_SIZE,
        .offset     = MTDPART_OFS_APPEND,
    },
    {
        .name       = "Flash/DataArea",
        .size       = DATAAREA_SIZE,
        .offset     = MTDPART_OFS_APPEND,
    },
    }

※ "Flash/Reserved"と"Flash/Hermit"はブートのために必ず必要です

3. kernel-2.4.x/include/asm-armnommu/arch-netarm/hardware.h を編集して各パーティションのサイズを決める

記述例


    #define RESERVED_START (FLASH_START)
    #define RESERVED_SIZE  (0x00020000)
#define HERMIT_START (RESERVED_START + RESERVED_SIZE) #define HERMIT_SIZE (0x00020000)
#define SYSTEM_START (HERMIT_START + HERMIT_SIZE) #define SYSTEM_SIZE (0x00190000)
#define CONFIG_START (SYSTEM_START + SYSTEM_SIZE) #define CONFIG_SIZE (0x00030000)

※ RESERVED_SIZE と HERMIT_SIZE は変更できません。また、各サイズの合計が2MBになるように計算して割り当てを行って下さい。

4. makeコマンドを入力してイメージの作成を行う

以上で、Flashのパーティション割り当てを変更したイメージが作成できます。 各パーティションは上から順に、

/dev/mtdblock0
/dev/mtdblock1
/dev/mtdblock2
/dev/mtdblock3

のデバイスノードに相当します。
(char型デバイスとしてアクセスする場合は /dev/mtd0, /dev/mtd1, /dev/mtd2, /dev/mtd3)
デバイスノードの作成方法はデバイスノードの作成方法を参照して下さい