MINI2440標準Linuxカーネルのext3対応
2009-08-19


viviから起動させる標準のLinux2.6.29カーネルですが、ext3に対応していないようです。

標準状態

SDメモリーカードに対してfdiskで以下のパーティションを作成。

linuxパーティションについてはmkfs.ext3でファイルシステムを構築。 なぜext3なのかといえば、先人の残骸のubootの状態としてrootfsをSDメモリーカードの第2パーティションでかつext3という指定だったから。

個人的にはext2で十分だと思いますが、とりあえずなぞるという意味でext3を選択。

しかし、標準のカーネルはext3に対応していないため、viviでブート後にマウントすることができませんでした。 マウントポイントとしてはあらかじめ「mkdir /sdext3」を実行して準備しています。 以下は、起動後にSDメモリーカードを入れたところ。 FATパーティションのマウントは自動で行われることがわかります。

[root@FriendlyARM /]#
[root@FriendlyARM /]# s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SD card at address b368
mmcblk0: mmc0:b368 SD    1.86 GiB
 mmcblk0: p1 p2 p3
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

[root@FriendlyARM /]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                63152     48656     14496  77% /
tmpfs                    30400         0     30400   0% /dev/shm
/dev/sdcard             207396      2048    205348   1% /sdcard
[root@FriendlyARM /]# ls
bin         home        lost+found  root        sdext3      usr
dev         lib         opt         sbin        sys         var
etc         linuxrc     proc        sdcard      tmp         www
[root@FriendlyARM /]# mount -t ext3 /dev/mmcblk0p2 /sdext3
mount: mounting /dev/mmcblk0p2 on /sdext3 failed: No such device
[root@FriendlyARM /]#

ext3対応のカーネルの作成

  1. クロス環境の構築(arm-linux-gcc-4.3.2.tgzの展開)
  2. .bashrcにPATH追加
  3. カーネルソースの取得(linux-2.6.29-mini2440-20090609.tgz)と展開
  4. zImage_N35のconfigファイルを.configにコピー
  5. meke menuconfigを実行し、ext3fsを追加
  6. make zImage

ちなみに、欲張ってNTFS対応なども選択してみたのですが、NAND FLashのカーネル用の領域をオーバーしたので断念。 ext3の追加だけならかろうじて大丈夫でした。

新しいカーネルをNAND Flashに書き込み

  1. TeraTerm起動
  2. NOR Flash起動
  3. USB接続
  4. DNW起動
  5. TeraTerm(vivi)で「k」コマンド選択
  6. DNWで作成したzImageを選択して書き込み

新しいカーネルで起動してext3のマウントを試す



続きを読む

[組込み]
[linux]
[mini2440]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット