[[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

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS