[Armadillo:03254] Re: SDカードから起動したい
Makoto Endo
email@hidden
2008年 8月 12日 (火) 14:37:28 JST
nakaiさま
遠藤です。
MMC/SDからカーネルのロードはできない
のですね。
ありがとうございました。
> nakaiです。
>
> hermitではMMC/SDドライバが入っていないため、
> Kernelを該当デバイスからロードすることはできません。
> # USBも同様
>
> hdaは、IDEドライバを実装しているからブート可能になってます。
>
> MMC/SDでは、ルートファイルシステムのみ構築可能です。
>
>
> Makoto Endo さんは書きました:
> > 遠藤と申します。
> > Armadillo-500を使用してます。
> >
> > SDカードからLinuxを起動したいため、以下の手順で
> > SDカードのシステムを構築したのですが、Linuxカー
> > ネルがFlash(フラッシュメモリ)からロードされて
> > しまいます。
> > ブートローダがカーネルイメージを見つける
> > ことができずにFlashからロードしているのでしょうか?
> > ご教授お願いいたします。
> >
> >
> > *手順については、以下のHPを参考にさせて頂きました。
> > http://armadillo.atmark-techno.com/articles/sd-a500-embedded-course-ch7-1
> >
> > *使用しているSDカードは以下の物です
> > SanDisk: ExtremeIII 2GB
> >
> > *手順
> >
> > 1.fdiskコマンドでSDカードに以下のパーティションを作成。
> >
> > Device Boot Start End Blocks Id System
> > /dev/mmcblk0p1 1 978 31288 83 Linux
> > /dev/mmcblk0p2 979 61264 1929152 83 Linux
> >
> > 2.ファイルシステムの作成
> > 以下の設定で作成します。
> >
> > パーティション | サイズ | ファイル| システム用途
> > ---------------+--------+---------+-------------
> > 1 32M ext2 カーネルイメージ用
> > 2 1.9G ext3 ルートファイルシステム用
> > ---------------+--------+---------+-------------
> >
> > 2.1 カーネルイメージ用ファイルシステムの作成
> >
> > #mke2fs -O none /dev/mmcblk0p1
> >
> > 2.2 ルートファイルシステム用ファイルシステムの作成
> >
> > #mke2fs -j /dev/mmcblk0p2
> >
> >
> >
> > 3.ルートファイルシステムの構築
> >
> > #mount /dev/mmcblk0p2 /mnt
> > #mkdir /mnt/work
> >
> > (/mnt/work にユーザランドイメージを転送)
> >
> > #gzip -dc romfs.img.gz > romfs.img
> > # mkdir romfs
> > # mount -t ext2 -o loop romfs.img romfs
> > # (cd romfs; tar cf - *) | (cd /mnt; tar xf -)
> > # sync
> > # umount romfs
> > # cd
> > # umount /mnt
> >
> >
> > 4.カーネルイメージの配置
> >
> > #mount /dev/mmcblk0p1 /mnt
> > #mkdir /mnt/boot
> >
> > (/mnt/work にカーネルイメージを転送)
> >
> > # cd /mnt/boot
> > # mv linux.bin.gz Image.gz
> > # cd
> > # umount /mnt
> >
> >
> > 5.起動と設定
> >
> > 5.1 hermitのリコンパイル
> > hermitの"setbootdevice"コマンドで、mmcblk0p1を指定できるように、
> > 以下のようにソースを変更しコンパイル。その後hermitで"bootloader"に
> > 書き込む。
> >
> > //hermit-at-1.1.9/src/target/armadillo5x0/board.c
> > ------------------------------------------------------------
> > static int
> > setbootdevice_cmdfunc(int argc, char **argv)
> > {
> > /* initialize parameter: bootdevice, using default flash */
> > if (!check_param("@bootdevice")) {
> > char *c_argv[2] = {argv[0], "flash"};
> > sethermit_param(2, c_argv, "@bootdevice");
> > }
> >
> > if (argc > 1)
> > if (strcmp(argv[1], "flash") != 0 &&
> > strcmp(argv[1], "hda1") != 0 &&
> > strcmp(argv[1], "hda2") != 0 &&
> > strcmp(argv[1], "hda3") != 0 &&
> > strcmp(argv[1], "hda4") != 0 &&
> > strcmp(argv[1], "hda") != 0 &&
> > strcmp(argv[1], "mmcblk0p1") != 0 )
> > return -H_EINVAL;
> >
> > return sethermit_param(argc, argv, "@bootdevice");
> > }
> > ----------------------------------------------------------------
> >
> > 5.2 オプション設定
> >
> > hermit> setbootdevice mmcblk0p1
> > hermit> setenv console=ttymxc0 noinitrd root=/dev/mmcblk0p2 rootdelay=2
> >
> > 以上です。
> >
> >
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/mailman/listinfo/armadillo
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>
**********************************************************
:エル・エス・アイ ジャパン(株) (LSI Japan Co., Ltd. Tokyo, Japan)
:通信事業部 技術部
:遠藤 誠 (Makoto Endo)
:TEL 03-3404-2843 (phone +81-3-3404-2843)
:FAX 03-3478-0576
:E-mail email@hidden
**********************************************************
armadillo メーリングリストの案内