[Armadillo:07194] Re: Armadillo-420のフラッシュメモリパーティション変更について
Takenoshita Koyo
email@hidden
2011年 5月 9日 (月) 15:30:07 JST
竹之下です。
やり方としては、二つの方法があります。
1. 一時的に変更する方法
Armadilloを保守モードで起動して、以下のようにカーネルパラメータを設定してください。
hermit> console=ttymxc1 mtdparts=armadillo-nor:0x20000(bootloader)ro,0x1a0000(kernel),0xe40000(userland)
setenvコマンドでカーネルパラメータのmtdpartsを設定すると、
ブートローダとカーネルの両方が、その設定で動作するようになります。
2. 恒久的に変更する方法
1.の方法は簡単ですが、Armadillo一台一台に設定してあげる必要があるので、
量産時には面倒です。2.の方法は、デフォルト値を変えてしまう方法です。
ブートローダとカーネルそれぞれを変更する必要があります。
2-1. ブートローダを変更する
ブートローダのデフォルトのパーティション構成は、menuconfigで変更できます。
以下のようにして、menuconfigを実行してください。
[ATDE ~]$ cd hermit-at
[ATDE ~/hermit-at]$ make armadillo4x0_defconfig
[ATDE ~/hermit-at]$ make menuconfig
以下のように、パーティション構成を指定してください。
Target Configurations --->
Core settings --->
"mtdparts" assign method (fixed) ---> # autoからfixedに変更
(armadillo-nor:0x20000(bootloader)ro,0x1a0000(kernel),0xe40000(userland)) default MTDPARTS # 新しく追加
makeを引数なしで実行すると、ブートローダのイメージファイルが作成されます。
[ATDE ~/hermit-at]$ make
[ATDE ~/hermit-at]$ src/target/armadillo4x0/loader-armadillo4x0-v2.X.X.bin
loader-armadillo4x0-v2.X.X.bin を、Armadilloのブートローダ領域に書き込んでください。
上記設定で作成したブートローダを書き込んだ後、再起動し、memmapコマンドを実行
すると、以下のように表示されるはずです。
hermit> memmap
0xa0000000:0xa001ffff FLA bootloader bf:8K bl:4x32K/l
0xa0020000:0xa01bffff FLA kernel bf:8K bl:13x128K
0xa01c0000:0xa0ffffff FLA userland bf:8K bl:114x128K
0x80000000:0x87ffffff RAM dram-1
2-2. カーネルを変更する
カーネルのパーティション構成は、ソースを修正することで変更できます。
必ず、ブートローダのパーティション構成と同じになるようにしてください。
--- a/arch/arm/mach-mx25/armadillo400.c
+++ b/arch/arm/mach-mx25/armadillo400.c
@@ -151,9 +151,8 @@ static struct mtd_partition armadillo400_mtd_nor_partitions_8MB[] = {
static struct mtd_partition armadillo400_mtd_nor_partitions_16MB[] = {
MTD_PART("nor.bootloader", 4* 32*1024, 0,
MTD_WRITEABLE /* force read-only */ ),
- MTD_PART("nor.kernel", 16*128*1024, MTDPART_OFS_APPEND, 0),
- MTD_PART("nor.userland", 110*128*1024, MTDPART_OFS_APPEND, 0),
- MTD_PART("nor.config", 1*128*1024, MTDPART_OFS_APPEND, 0),
+ MTD_PART("nor.kernel", 13*128*1024, MTDPART_OFS_APPEND, 0),
+ MTD_PART("nor.userland", 114*128*1024, MTDPART_OFS_APPEND, 0),
};
上記のようにソースコードを修正し、カーネルイメージを作成し、
Armadilloのカーネル領域に書き込んでください。
原田 寛 さんは書きました:
> お世話になります。原田@YOODSと申します。
>
> Armadillo-420のNORフラッシュメモリについて、パーティションの変更を
> 試みています。
>
> 変更しようとしてしいてるのはhermit-at-2.1.1のソースです。
>
> Armadillo-5x0等では、hermitのソース中にパーティションマップの
> 定義を見つけられるのですが、Armadillo-4x0に見つけることができません。
>
> 変更したい内容は、以下の通りです。
>
> [現状]
> 0x00000000-0x00020000 : "nor.bootloader"
> 0x00020000-0x00220000 : "nor.kernel"
> 0x00220000-0x00fe0000 : "nor.userland"
> 0x00fe0000-0x01000000 : "nor.config"
>
> (1) kernelの領域を0x200000 -> 0x1a0000に
> (2) config領域を削除
> (3) userlandを0xe20000に
>
> [変更後]
> 0x00000000-0x00020000 : "nor.bootloader"
> 0x00020000-0x001c0000 : "nor.kernel"
> 0x001c0000-0x01000000 : "nor.userland"
>
> 以上、よろしくお願い致します。
>
> * ------------------------------------*/
> 株式会社YOODS (ユーズ)
> http://www.yoods.co.jp/
> ■山口本社: 〒754-0011
> 山口県山口市小郡御幸町4-9 山陽ビル小郡
> TEL 083-976-0022/FAX 083-976-0023
> ■東京オフィス: 〒103-0021
> 東京都中央区日本橋本石町3丁目3番5号
> 三友常盤橋ビル8F 山口県東京ビジネスセンター内
> TEL 03-6225-2166/FAX 03-6225-2167
> 原田 寛(Hiroshi Harada)
> /*------------------------------------*/
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
--
Koyo Takenoshita
armadillo メーリングリストの案内