- 2009-10-24 (土) 22:55
- beagleboard | sheevaplug

Sheevaplugで味を占め、beagleboardも購入した。
Sheevaplugの場合、これまで自宅で稼動してきたCentOS Server(Thinkpad S30)の代替機としての明確な目的があったが、beagleboardはなんかできるだろう的な安易な考えしかなかった。
そんなもんだから、どう使うかも含めていろいろとあったが、最近やっと方向性も定まり安定稼動しはじめたので、ここら辺でメモしとく。
用意したもの
けっこういろいろ必要となる。
たぶん、どこのサイト見ても同じようなものを揃えてるはず。ただ、うちの場合は、ディスプレイがなく、代わりにRegza Z3500を使うつもりだったので、HDMI-DVIケーブルではなく通常のHDMIケーブルを用意した。
- Beagleboard Rev.C
- BUFFALO LUA2-TX(USB接続10/100Mbps対応LANアダプタ)
- ELECOM AD-R9 シリアルリバースアダプタ
- PLANEX ハイスピードHDMIフラットケーブル
- Transcend SDHCカード Class6 8GB TS8GSDHC6
- アイネックス シリアルリアスロット 1ポート RS-300
- ラトックシステム USB-Serial Converter REX-USB60F
- ELECOM AD-D9FF(超小型アダプタ)
Ubuntu Rootfs のインストール
以下のサイトを参考にして、Ubuntu9.04を使って、ARM版ubuntu 9.04をインストールした。
SDカードのパーティション編集
dmesg //デバイスの確認 うちは、/dev/mmcblk0 fdisk /dev/mmcblk0 //fat32領域の作成 p x h → enter s → enter c → 15 r n → p → 1 → enter → enter t → c a → 1 //swap領域の作成 n → p → 2 → enter → +256M t → 2 → 82 //ext3領域の作成 n → p → 3 → enter → enter mkfs.vfat /dev/sdb1 //確認、保存 p w
SDカードのフォーマット
フォーマットができれば、普通にマウントされるはず。
mkfs.vfat /dev/mmcblk0p1 mkswap /dev/mmcblk0p2 mkfs.ext3 /dev/mmcblkp3
Imageの作成
build-arm-rootfs script である rootstock を使って作成していく。
rootstockのインストール
sudo apt-get install qemu wget http://ports.ubuntu.com/pool/main/d/debootstrap/debootstrap_1.0.13~jaunty1_all.deb sudo dpkg -i debootstrap_1.0.13~jaunty1_all.deb
Jaunty (9.04) Beagleboard lxde imageの作成
gdmのほか、GUIをlxde、usb lanを使用できるようにusbutilsを追加した。
作成には、結構な時間がかかるので、とりあえずSDカードをいろいろする前にこれを先にしておくのがいい。
sudo ./rootstock --fqdn beagleboard --login ****** --password ******** --imagesize 3G --seed lxde,gdm,usbutils --dist jaunty --serial ttyS2 --kernel-image http://rcn-ee.net/deb/kernel/beagle/jaunty/v2.6.29.6-58cf2f1-oer41.1/linux-image-2.6.29.6-oer41.1_1.0jaunty_armel.deb
ちなみに、linux imageはここにあって、この時点でkarnel2.6.31のものもある。
(一度、kernel2.6.30のものを入れたら、cifs modulesがなくて困った。)
終了すると、以下のファイルができているはず。
- armel-rootfs-.tgz
- vmlinuz-2.6.
SDカードのセットアップ
fat32領域
uImageを作成、コピーする。
sudo apt-get install uboot-mkimage mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d ./vmlinuz-* ./uImage cd /media/disk-1 sudo cp .//uImage uImage
ext2/ext3領域
この作業も若干時間がかかる。
sudo tar xfp armel-rootfs-[date].tgz -C /media/disk-2
beaglelboardの起動
いよいよ、beagleboardへSDカードを差して、起動させる。
最初に、u-bootの設定を編集する必要がある。
beagleboardとの通信
ubuntuでは、minicomを使ってbeagleboardと通信する。
sudo apt-get install minicom sudo minicom -s //デフォルト設定を以下のようにする /dev/ttyUSB0 115200bps 8bit NonParity stopbit 1 no hard/soft flow
u-bootの設定編集
sudo minicom して、beagleboardの電源を入れる。
この際、文字の折り返しをしておくと見やすいので、Ctrl + a,wしておく。
起動画面に文字が流れはじめたら、bootされる前に、何かキーを押して止める。
これで、設定を編集できるので、設定コマンドをコピペする。
setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' setenv bootargs 'console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p3 rootwait rootfstype=ext3 ro vram=16M omapdss.def_disp=dvi omapfb.mode=dvi:1280x768MR-16@60' saveenv printenv boot
なお、vram=16M omapdss.def_disp=dviの記述は、うちのRegzaにて画面が表示するために必要だった。
(この数文字を追加しなかったために、かなりの無駄な時間を過ごしたのは、今はもう昔)
以上で、beagleboardが起動するはず。
各種設定
ざっと、記述しとく。
ネットワークの有効化
ネットワークに繋らないと何もできない。
sudo ifconfig eth0 up sudo dhclient eth0 sudo vi /etc/network/interfaces //以下を追加 auto eth0 iface eth0 inet dhcp
swapの有効化
起動時は、topコマンドで確認してもわかるようにswapが無効になってる。
sudo swapon /dev/mmcblk0p2 sudo vi /etc/fstab //以下の一文を追加 /dev/mmcblk0p2 swap swap defaults 0 0
Kernel Imageのアップデート
スクリプトの最後で、yes/noと聞かれるので、yesとする。そうすることで、uImageへのシンボリックリンクが作成される。
wget http://www.rcn-ee.net/deb/kernel/ubuntu-update-kernel.sh sudo /bin/bash ubuntu-update-kernel.sh [/sourvecode] <h3>時間の修正</h3> 日本時間に設定する。 [sourcecode] sudo vi /etc/default/ntpdate //ntp serverを変更しておく NTPSERVERS="ntp.asahi-net.or.jp ntp.nict.jp" sudo ntpdate-debian
日本語対応
あんまし覚えてないけど、たしかこうしたはず。
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt-get update sudo apt-get install wget language-pack-ja language-support-ja
パッケージのインストール
基本的に使いそうなものをとりあえず入れた。
sudo apt-get install openssh-server samba smbfs preload
Network Driveのmount
sheevaplugにぶら下がってるUSB HDD(ext3)をマウントする。
sudo vi /etc/fstab /dev/mmcblk0p2 swap swap defaults 0 0 //192.168.***.***/usbdisk /media/usbdisk cifs username=****,password=******,codepage=utf8,iocharset=utf8 0 0
レポジトリの追加
NetWalkerのsource.list設定、hdbench-cloneビルド(断念) – 休日奮闘記を参考に、レポジトリを追加しとく。
sudo vi /etc/apt/source.list //以下、追加 deb http://jp.archive.ubuntu.com/ports/ jaunty main restricted universe multiverse deb-src http://jp.archive.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse deb http://jp.archive.ubuntu.com/ports/ jaunty-security main restricted universe multiverse deb-src http://jp.archive.ubuntu.com/ubuntu/ jaunty-security main restricted universe multiverse deb http://jp.archive.ubuntu.com/ports/ jaunty-updates restricted main multiverse universe deb-src http://jp.archive.ubuntu.com/ubuntu/ jaunty-updates restricted main multiverse universe
- Newer: beagleboardをMusicServer化
- Older: Sheevaplugのkernel updata