emblog

webのチラ裏、linux、Qt関連はまった&はまってる事etc

BeagleBoard DE Ubuntu (SDカードにイメージのインストール)

BeagleBoardUbuntu のイメージをインストールする。

基本は、elinux.org(BeagleBoardUbuntu)に書いてある通りだったりする。

***構成***

使用Host PC OS : Ubuntu12.04
使用BeagleboardBeagleBoard C4 (xMじゃないよw)
USBハブ : USB2.0ハブ4ポート(¥700ぐらい)
USB/LAN変換 : USB2.0 有線LANアダプタ(¥1,000ぐらい)
BeagleBoard用シリアルケーブル : BBC01(¥1,600ぐらい 高!)
SDカード : 8GbyteSDカード(最小で4GBは欲しい)

Ubuntu 11.10最小構成のプレインストールイメージをSDカードに作成する。

Host PC(Ubuntu)での作業になります。

  • プレビルドイメージの取得
$ wget http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r6-minimal-armel.tar.xz
    • wgetをinstallしていない場合は、
$ sudo apt-get install wget

を実行する。


  • ダウンロードファイルの解凍

bzip2をまず取得したのち、解凍

$ sudo apt-get install bzip2
$ tar xJf ubuntu-11.10-r6-minimal-armel.tar.xz


  • 解凍先へ移動
$ cd ./ubuntu-11.10-r5-minimal-armel/


  • SDカードにインストールする。
  1. SDカードがどこにあるかを調査する。(分かってる人は読み飛ばして)
$ sudo ./setup_sdcard.sh --probe-mmc

Are you sure? I Don't see [/dev/idontknow], here is what I do see...

fdisk -l:
Disk /dev/sda: 53.7 GB, 53687091200 bytes
Disk /dev/sdb: 7948 MB, 7948206080 bytes

mount:
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
/dev/sdb1 on /media/3239-3836 type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)

ここでは、
/dev/sda が母艦のファイルシステムがあるHDD
/dev/sdb がSDカード(8GB)になります。

人によっては、/dev/mmcblk0 だったりするので各自の環境で確認してみてください。

  1. SDカードをアンマウント
$ sudo umount /dev/sdb1

(ここでは、上記の/dev/sdb1になります。)

$ df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/sda1             49448752   6305620  40631212  14% /
none                   1026580       280   1026300   1% /dev
none                   1030820       224   1030596   1% /dev/shm
none                   1030820        88   1030732   1% /var/run
none                   1030820         0   1030820   0% /var/lock
none                   1030820         0   1030820   0% /lib/init/rw
shared               1953382396 766780772 1186601624  40% /media/sf_shared
   ←マウントされていないことを確認。
  1. インストール前に下記のコマンドを実行
$ sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted

母艦にインストールされていないとインストールスクリプトを実行しても下記のエラーが出ます。

Your System is Missing some dependencies
Ubuntu/Debian: sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted
Fedora: as root: yum install uboot-tools wget pv dosfstools btrfs-progs parted
Gentoo: emerge u-boot-tools wget pv dosfstools btrfs-progs parted
  1. SDカードにイメージをインストール
$ sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle_cx

※/dev/sdb (sdb1ではない。)に BeagleBoard Ver.C4用のイメージをインストール。

 (usage)
 sudo ./setup_sdcard.sh --mmc /dev/sdX --uboot "board"
 
 /dev/sdX ・・・SDカードの場所
 "board"  ・・・BeagleBoard Ax/Bx   - beagle_bx
                BeagleBoard Cx      - beagle_cx
                BeagleBoard xMA/B/C - beagle_xm
                BeagleBone Ax       - bone
    1. 下記にインストールログを晒しておきます。
I see...
fdisk -l:
Disk /dev/sda: 53.7 GB, 53687091200 bytes
Disk /dev/sdb: 7948 MB, 7948206080 bytes

mount:
/dev/sda1 on / type ext4 (rw,errors=remount-ro)

Are you 100% sure, on selecting [/dev/sdb] (y/n)? y  ← SDカード全領域つかっちゃうよ?OKならyを入れる。

Downloading Device's Bootloader
-----------------------------
64 bytes from rcn-ee.net (69.163.149.169): icmp_seq=1 ttl=50 time=163 ms
2012-03-13 00:04:27 URL:http://rcn-ee.net/deb/tools/latest/bootloader [4846/4846] -> "/tmp/tmp.d1cJP0cMFi/dl/bootloader" [1]
2012-03-13 00:04:28 URL:http://rcn-ee.net/deb/tools/beagleboard/MLO-beagleboard-v2011.12-r1 [44104/44104] -> "/tmp/tmp.d1cJP0cMFi/dl/MLO-beagleboard-v2011.12-r1" [1]
SPL Bootloader: MLO-beagleboard-v2011.12-r1
2012-03-13 00:04:31 URL:http://rcn-ee.net/deb/tools/beagleboard/u-boot-beagleboard-v2011.12-r1.img [330372/330372] -> "/tmp/tmp.d1cJP0cMFi/dl/u-boot-beagleboard-v2011.12-r1.img" [1]
UBOOT Bootloader: u-boot-beagleboard-v2011.12-r1.img

Unmounting Partitions
-----------------------------

Using fdisk to create BOOT Partition
-----------------------------

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
      強く推奨します。 and change display units to
         sectors (command 'u').

コマンド (m でヘルプ): コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
パーティション番号 (1-4): 最初 シリンダ (1-1021, 初期値 1): Last シリンダ, +シリンダ数 or +size{K,M,G} (1-1021, 初期値 1021): 
コマンド (m でヘルプ): 選択した領域 1
16進数コード (L コマンドでコードリスト表示): 領域のシステムタイプを 1 から e (W95 FAT16 (LBA)) に変更しました

コマンド (m でヘルプ): 
ディスク /dev/sdb: 7948 MB, 7948206080 バイト
ヘッド 245, セクタ 62, シリンダ 1021
Units = シリンダ数 of 15190 * 512 = 7777280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0008d997

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1          10       75919    e  W95 FAT16 (LBA)

コマンド (m でヘルプ): パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

警告: DOS 6.x パーティションを作成、または変更してしまった場合は、
fdisk マニュアルの追加情報ページを参照してください。
ディスクを同期しています。
Setting Boot Partition's Boot Flag
-----------------------------
Creating rootfs ext4 Partition
-----------------------------
Formating Boot Partition
-----------------------------
mkfs.vfat 3.0.7 (24 Dec 2009)
Formating rootfs Partition as ext4
-----------------------------
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=rootfs
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
480496 inodes, 1921492 blocks
96074 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1971322880
59 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:  done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Populating Boot Partition
-----------------------------
`/tmp/tmp.d1cJP0cMFi/dl/MLO-beagleboard-v2011.12-r1' -> `/tmp/tmp.d1cJP0cMFi/disk/MLO'
`/tmp/tmp.d1cJP0cMFi/dl/u-boot-beagleboard-v2011.12-r1.img' -> `/tmp/tmp.d1cJP0cMFi/disk/u-boot.img'
Using mkimage to create uImage
-----------------------------
Image Name:   3.2.3-x4
Created:      Tue Mar 13 00:06:21 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3014464 Bytes = 2943.81 kB = 2.87 MB
Load Address: 0x80008000
Entry Point:  0x80008000
Using mkimage to create uInitrd
-----------------------------
Image Name:   initramfs
Created:      Tue Mar 13 00:06:23 2012
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    3087289 Bytes = 3014.93 kB = 2.94 MB
Load Address: 0x00000000
Entry Point:  0x00000000
Copying uEnv.txt based boot scripts to Boot Partition
-----------------------------
`/tmp/tmp.d1cJP0cMFi/bootscripts/normal.cmd' -> `/tmp/tmp.d1cJP0cMFi/disk/uEnv.txt'
bootfile=uImage
bootinitrd=uInitrd
address_uimage=0x80300000
address_uinitrd=0x81600000

vram=12MB

console=ttyO2,115200n8

defaultdisplay=dvi
dvimode=1280x720MR-16@60

mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc
optargs=console=tty0

mmc_load_uimage=fatload mmc 0:1 ${address_uimage} ${bootfile}
mmc_load_uinitrd=fatload mmc 0:1 ${address_uinitrd} ${bootinitrd}

mmcargs=setenv bootargs console=${console} ${optargs} mpurate=${mpurate} buddy=${buddy} buddy2=${buddy2} camera=${camera} vram=${vram} omapfb.mode=${defaultdisplay}:${dvimode} omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype} musb_hdrc.fifo_mode=5

loaduimage=run mmc_load_uimage; run mmc_load_uinitrd; echo Booting from mmc ...; run mmcargs; bootm ${address_uimage} ${address_uinitrd}
-----------------------------
`/tmp/tmp.d1cJP0cMFi/readme.txt' -> `/tmp/tmp.d1cJP0cMFi/disk/tools/readme.txt'
`/tmp/tmp.d1cJP0cMFi/update_boot_files.sh' -> `/tmp/tmp.d1cJP0cMFi/disk/tools/update_boot_files.sh'
`/tmp/tmp.d1cJP0cMFi/minimal_xfce.sh' -> `/tmp/tmp.d1cJP0cMFi/disk/tools/minimal_xfce.sh'
`/tmp/tmp.d1cJP0cMFi/get_chrome.sh' -> `/tmp/tmp.d1cJP0cMFi/disk/tools/get_chrome.sh'
Finished populating Boot Partition
-----------------------------
Populating rootfs Partition
Please be patient, this may take a few minutes, as its transfering a lot of files..
-----------------------------
 383MB 0:03:00 [2.12MB/s] [=========================================================>] 100%            
Transfer of Base Rootfs Complete, syncing to disk
-----------------------------
Tweak: On selected board, theres no guarantee eth0 is connected or exists, so removing boot assumption...
-----------------------------
Finished populating rootfs Partition
-----------------------------
setup_sdcard.sh script complete

とりあえず、これでオシマイ。
次は、シリアルから起動して、初期設定を行うまでを記載していきます。