* BeagleBoard ソフトウエア [#o6b3f9d6]

&color(red){これは書きかけです。};~
すごくウソが書いてあります。信用しないでください。;
~

** ちょー基本。最初のいっぽ。 [#e613497e]
もろもろハードウェアを接続したら、おもむろに電源投入。~
シリアルに起動メッセージが表示される。~
ここまでのところ起動できればOK。シリアルがちゃんと動いてることが確認する。~

  ここにブートアップの
  画面を差し込む予定。
 

** まずは Angstrom [#y3e489b4]
Angstromはオープンソースな組み込みLinux(Embeded Linux)~
特定のハードウェアは想定していないようだが、日本国内ではZaursへのポーティングが活発に行われているよう。~
~
BeagleBoardへのポーティングもおこなわれている。~
~

ファイルイメージの取得。~
SDカードでブートできるようにする。~
~
なんか別途Linuxマシンが必要。仕組み的にはいらないかもしれないけど、Linux以外で作る方法はようわからんので
Linuxマシンを用意したほうがいい。~
SDカードをLinuxにマウント~
うちのカードリーダでは~
 /dev/sdc
になった。~
~
これをfdiskでパーティション分割。~
パーティションの方針は~
  ブート用のディスクイメージを置いておくVFAT
  Angstrom本体(Linux)を置いておくext3
の2つ。~
~
 FATパーティション  : ブートするだけのために必要
 ext3パーティション : Angstrom自身のために必要
~
こっから入手~
http://www.angstrom-distribution.org/demo/beagleboard/
~
~

*** SDカードにパーティションをつくる [#v181b539]
Linux上のfdiskでSDカードのパーティションをつくる。~
まず、すでにSDカードに入っていたパーティションを削除しておく。(携帯で使っていたもので...)~
&color(red){なぜ、パーティションをきっているところのディスク容量が1GBかって?細かいことは気にすんなっ!w};~

 # fdisk /dev/sdc
 
 コマンド (m でヘルプ): p
 
 Disk /dev/sdc: 1023 MB, 1023934464 bytes
 32 heads, 62 sectors/track, 1008 cylinders
 Units = シリンダ数 of 1984 * 512 = 1015808 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sdc1               1        1008      999905   83  Linux
 
 コマンド (m でヘルプ): d
 Selected partition 1
 
 
 コマンド (m でヘルプ): p
 
 Disk /dev/sdc: 1023 MB, 1023934464 bytes
 32 heads, 62 sectors/track, 1008 cylinders
 Units = シリンダ数 of 1984 * 512 = 1015808 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System

次に上級者コマンドに入って、ブート用のVFATパーティションを作る。~
これは
10MBもあれば足りるのだが、贅沢にも120MBもとったw~
 コマンド (m でヘルプ): x
 
 上級者コマンド (m でヘルプ): h
 ヘッド数 (1-256, default 32): 255
 
 上級者コマンド (m でヘルプ): s
 セクタ数 (1-63, default 62): 63
 警告: DOS 互換のためのセクタオフセットを設定します
 
 上級者コマンド (m でヘルプ): c
 シリンダ数 (1-1048576, default 1008): 248
 
 上級者コマンド (m でヘルプ): r
 
 コマンド (m でヘルプ): n
 コマンドアクション
    e   拡張
    p   基本領域 (1-4)
 p
 領域番号 (1-4): 1
 最初 シリンダ (1-248, default 1): 1
 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-248, default 248): 15
 
 コマンド (m でヘルプ): a
 領域番号 (1-4): 1
 
 コマンド (m でヘルプ): t
 Selected partition 1
 16進数コード (L コマンドでコードリスト表示): c
 領域のシステムタイプを 1 から c (W95 FAT32 (LBA)) に変更しました
 
つぎにAngstrom用にext3パーティションを確保する。~
これはカード上の残りすべてとした。

 コマンド (m でヘルプ): n
 コマンドアクション
    e   拡張
    p   基本領域 (1-4)
 p
 領域番号 (1-4): 2
 最初 シリンダ (16-248, default 16):
 Using default value 16
 終点 シリンダ または +サイズ または +サイズM または +サイズK (16-248, default 248):
 Using default value 248
 

で、パーティションを書き込む。~
 コマンド (m でヘルプ): w
 領域テーブルは交換されました!
 
 ioctl() を呼び出して領域テーブルを再読込みします。
 
 警告: DOS 6.x 領域を作成、または変更してしまった場合は、
 fdisk マニュアルの追加情報ページを参照してください。
 ディスクを同期させます。

これで完了。
一応、ちゃんとできているかどうか確認してみる。~
 # fdisk /dev/sdc
 
 コマンド (m でヘルプ): p
 
 Disk /dev/sdc: 1023 MB, 1023934464 bytes
 255 heads, 63 sectors/track, 124 cylinders
 Units = シリンダ数 of 16065 * 512 = 8225280 bytes
 
 デバイス Boot      Start         End      Blocks   Id  System
 /dev/sdc1   *           1          15      120456    c  W95 FAT32 (LBA)
 /dev/sdc2              16         248     1871572+  83  Linux
 
 コマンド (m でヘルプ): q

問題なくできているようだ。~


*** ファイルシステムをつくる (フォーマットする) [#c8ba3a43]
確保したSDカード上のパーティションをフォーマットして使えるようにする。 ~
 # mkfs.msdos -F 32 /dev/sdc1 -n boothere
 # mkfs.ext3 /dev/sdc2

ついでにSDのマウントポジションもつくっておく。
 # mkdir /mnt/sdcard/p1
 # mkdir /mnt/sdcard/p2

*** 必要なファイルを取得する(事前にね) [#g0f038e5]
 $ wget http://www.angstrom-distribution.org/demo/beagleboard/uImage
 $ wget http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin
 $ wget http://www.angstrom-distribution.org/demo/beagleboard/MLO
 $ wget http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X-test-20090210-beagleboard.rootfs.tar.bz2

*** ファイルをコピーする。その1 (VFAT) [#r79e8dd3]
この順番が大切。MLOを最初にコピーしないとブートできない(らしい)~

 # mount /dev/sdc1 /mnt/sdcard/p1
 # cp MLO /mnt/sdcard/p1/
 # cp u-boot.bin /mnt/sdcard/p1/
 # cp uImage /mnt/sdcard/p1/
 # umount /mnt/sdcard/p1

*** ファイルをコピーする。その2(ext3) [#vb1e6f2e]
 # mount /dev/sdc2 /mnt/sdcard/p2
 # tar jxpvf Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X-test-20090210-beagleboard.rootfs.tar.bz2 -C /mnt/sdcard/p2


*** で、起動 [#kd2b4274]
  ここにブートアップからangstrom起動まので
  画面を差し込む予定。
 

モニタによってはデフォルトの解像度で表示されない。少なくとも、うちは富士通VL-200VHでだめだった。~
起動時 29.4kHz/60Hz~
Angstrom動作時 43.6kHz/58Hz~
どちらもモニタが追従できなかった~

で、Angstrom起動前におまじない~
 setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 omapfb.video_mode=1280x1024MR-16@60'
 setenv bootcmd 'mmcinit;fatload mmc 0 80300000 uImage;bootm 80300000'

ここの
 omapfb.video_mode=1280x1024MR-16@60
が大切。これで表示できるようになった。~

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS