[[bc10/rowboat]]~ - 目次 #contents * SDカード boot [#h46a0e77] 2010/07/06 ~ ~ rowboat-eclair-dsp でビルドしたファイル群を SDカードに配置し bc10 で起動するための手順です。~ ** 起動用SDカードの準備 [#zbe18250] http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Prepare_SD_card を参照して準備します。~ ただし、起動に関しては bc10 独自のハードウェア仕様を理解しておく必要がありますので、予め以下の内容を読んでから作業を行ってください。~ [[bc10/booting>http://labs.beatcraft.com/ja/index.php?bc10/booting]] ~ ** 起動用SDカードの作成 [#t0b38eb0] [[bc10/booting 起動用SDカード作成>http://labs.beatcraft.com/ja/index.php?bc10/booting#q0449272]]の手順で同じパーティション構成のものを作成しておきます。~ パーティション構成はFAT32パーティションとLinuxパーティションです。~ 作成したSDカードを作業マシンにマウントします。(Ubuntu の場合は udev により自動でマウントされます。)~ device 名を確認します。 $ mount /dev/sda1 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /dev/shm type tmpfs (rw,nosuid,nodev) none on /var/run type tmpfs (rw,nosuid,mode=0755) none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfs-fuse-daemon on /home/beat/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=beat) /dev/sdd2 on /media/LABEL2 type ext3 (rw,nosuid,nodev,uhelper=udisks) /dev/sdd1 on /media/LABEL1 type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush) SDカードが必要なパーティション構成になっているか確認してください。~ $ sudo fdisk -l /dev/sdd ディスク /dev/sdd: 1977 MB, 1977614336 バイト ヘッド 255, セクタ 63, シリンダ 240 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0xfeda75ec デバイス ブート 始点 終点 ブロック Id システム /dev/sdd1 * 1 51 409626 c W95 FAT32 (LBA) /dev/sdd2 52 240 1518142+ 83 Linux ** uImage の配置 [#w5ca0cec] FATパーティションに uImage をコピーします。(MLO、u-boot.bin、はすでに配置済みです。) $ sudo cp ~/rowboat-eclair-dsp/kernel/arch/arm/boot/uImage /media/LABEL1/ ** rootfs の配置 [#i82b0852] ext3パーティションに android rootfs のアーカイブを展開します。 $ sudo tar jxfv out/target/product/beagleboard/rootfs.tar.bz2 --numeric-owner -C /media/LABEL2 ** boot.scr の作成 [#g62046dc] boot.scr を作成します。以下のページを参考にしています。~ http://www.gumstix.net/wiki/index.php?title=U-Boot~ boot.scr は起動時に u-boot が参照するファイルで、~ これを用意しておくことで起動時にハードウェア設定などを行えます。~ ~ ** boot.script の作成とmkimage 実行 [#s65eda56] シリアルコンソールで u-boot のコマンドプロンプトから setenv で設定するのと同じ内容を作成しておけば、~ 起動時に毎回手動で設定する手間を省くことができます。~ DVSDK DSP stack は物理メモリ領域 88M〜120M を使用するようになっていますので、~ メモリマッピングを変えないよう設定します。~ まず以下の内容の boot.script を作成します。 if fatload mmc 0 84000000 uImage then echo ***** Kernel: /dev/mmcblk0p1/uImage.bin ***** fi echo ***** RootFS: /dev/mmcblk0p2 ***** setenv bootargs 'mem=88M@0x80000000 mem=128M@0x88000000 androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapfb.video_mode=680x480MR-24@60' bootm 84000000 このファイルを引数に指定して、以下のように mkimage を実行します。 $ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n ./boot.script -d ./boot.script ./boot.scr &> /dev/null 生成された boot.scr をSDカードのFATパーティションにコピーします。 $ sudo boot.scr /media/LABEL1/ $ sudo cp boot.scr /media/LABEL1/ 以上で rowboat-eclair-dsp 起動SDカードの作成は完了です。~ 最後に念のため sync して作業用PCからアンマウントします。~ $ sync $ sudo umount /media/LABEL1 $ sudo umount /media/LABEL2