2013年12月23日

BeagleBone Blackに fedora 20 をインストール

Fedora 20 が先週リリースされた。
ついにARMが「主要アーキテクチャ」として扱われるとのこと。つまりx86/64と同レベルの「主要アーキテクチャ」となる。

Fedora19より扱いが格段に良くなることが予想されるので、早速BBBにFedora20を導入してみた。

インストールは、BBBはモニタなしのLANケーブル接続のみで実施した。
起動可能なマイクロSDカードイメージの作成は、Windows、Linux上のどちらでも可能。それぞれのやり方のメモを以下に残す。


■■■Linux上でのFedora20 OSイメージ作成方法■■■

■用意するもの
・8GB以上のマイクロSDカード (自分は16GBのものを用意)
・Linuxが動作しているPC(OSイメージ内を編集するのに必要)
 当方はCentOS5.5のVMを利用。

■fedora20のダウンロードとマイクロSD上への展開
 http://fedoraproject.org/ja/get-fedora#arm
 上記ページより、VFAT ARMv7 イメージ をダウンロード。
 デスクトップは好みに応じてどれでもよい。
 当方はGNOMEにした。

 あと、マイクロSDはUSBリーダ等でPCに接続しておく。
 フォーマットは不要。

GNOME VFAT ARMv7 イメージをダウンロード 〜 マイクロSDへの展開
ダウンロード
$ wget http://download.fedoraproject.org/pub/fedora/linux/releases/20/Images/armhfp/Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz

マイクロSDに書き込み
$ xzcat Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz > /dev/sdb

※当方環境ではマイクロSDは/dev/sdbだったが、環境によるので、dmesgやfdisk -l にてマイクロSDのデバイス名を確認しておくこと。

■u-bootの書き込み
まだブートパーティションは空っぽで起動できないので、以下の通りu-bootをブートパーティションにコピーする。
u-bootは、利用するボードの種類ごとに用意されており、上記作成したマイクロSD内から取り出すことができる。

上記マイクロSD作成後、一度抜き挿しすると、マイクロSDは自動マウントされ、パーティションの中が見える。マウントされるフォルダは以下の通り。

u-bootパーティション
/media/uboot

システムパーティション
/media/__

※新しいLinuxだと上記それぞれ以下にマウントされるので読み替えること。
 /run/media/username/uboot
 /run/media/username/__


BBB用のu-bootを、u-bootパーティションへコピーする。
# cp /media/__/usr/share/uboot-beaglebone/* /media/uboot/
# ls /media/uboot/
MLO
u-boot.img
uEnv.txt.beaglebone → uEnv.txt にリネームする
# mv /media/uboot/uEnv.txt.beaglebone /media/uboot/uEnv.txt

とりあえずここまでで起動可能なメディアができあがり。

■sshログインできるようにする
このまま起動しても初期パスワードがわからなくてログインできないので、
/etc/shadowを編集する。

くれぐれも母艦側を間違って編集しないよう、フォルダに注意。
マウントされたマイクロSD上のシステムパーティション内の/etc/shadowを、以下のように編集する。

/media/__/etc/shadow を編集
rootのパスワードを以下のように付与。このパスワードは「root」になる。
/media/__/etc/shadow 抜粋
root:$6$lqj7SL8qvAEXeRJX$wX2/cbpgu2wqBRVf3Lnv6IxvZ0DDeIdaRREcbE6mR.l8CtanDDNv9AfN2cpZSaeFmjKQKd4ZY9l4aqEgB9Ceh/:15921:0:99999:7:::
bin:*:15921:0:99999:7:::
daemon:*:15921:0:99999:7:::



次にselinuxを無効にする。
/media/__/etc/sysconfig/selinux を編集
SELINUX=enforcing → SELINUX=disabled に変更
SELINUXTYPE=targeted

以上でOK。

なお、DHCPで起動してくれるので、システムパーティション内をいじるのは上記2ファイルだけ。

■Fedora20の起動
上記マイクロSDをBBBに挿入し、LANケーブルを接続し、給電開始。
すると電源LED点灯のあと、インジケータLED2つ(USR0,USR1)が点灯。

30秒ほどしてインジケータLEDが消灯。
その後、インジケータLEDは一切点灯しないので注意。

Lチカしないので、てっきりbootに失敗しているかと思うが、待っていればちゃんと起動する。
インジケータLED消灯後、100秒ほどでpingに応答しだす。

DHCPで割り振られたアドレスは調べること。
あとはsshにて、root、パスワードroot、でログインできる。

以上。

なお、/dev/mmcblk0p3(=/)パーティションは、すでに99%使われている。
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 3779328 3668304 55580 99% /
devtmpfs 224448 0 224448 0% /dev
tmpfs 253616 0 253616 0% /dev/shm
tmpfs 253616 524 253092 1% /run
tmpfs 253616 0 253616 0% /sys/fs/cgroup
/dev/mmcblk0p1 19474 462 19012 3% /boot/uboot

これでは何もできないので、以下のコマンドで残り領域全体まで
/dev/mmcblk0p3を拡張する。
# resize2fs /dev/mmcblk0p3
resize2fs 1.42.8 (20-Jun-2013)
Filesystem at /dev/mmcblk0p3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p3 is now 3707825 blocks long.

# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 14532668 3670200 10807024 26% /
devtmpfs 224448 0 224448 0% /dev
tmpfs 253616 0 253616 0% /dev/shm
tmpfs 253616 524 253092 1% /run
tmpfs 253616 0 253616 0% /sys/fs/cgroup
/dev/mmcblk0p1 19474 462 19012 3% /boot/uboot

以上で完了。


■■■Windows上でのFedora20 OSイメージ作成方法■■■

■用意するもの
・8GB以上のマイクロSDカード (自分は16GBのものを用意)
・Fedora20 のOSイメージ
 http://fedoraproject.org/ja/get-fedora#arm
 上記ページより、VFAT ARMv7 イメージ をダウンロード。

 デスクトップは好みに応じてどれでもよい。
 当方はGNOMEにした。
 ファイル名:Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz 967MB

・Image Writer for Windows.(SDカードにOSイメージを書き込むツール)
 ダウンロード:
 http://sourceforge.net/projects/win32diskimager/files/latest/download

・u-boot ファイル
 http://rpmfind.net/linux/rpm2html/search.php?query=uboot-beaglebone%28armv7hl-32%29
 上記サイトより、
 uboot-beaglebone-2013.10-3.fc20.armv7hl.rpmをダウンロード。

■fedora20のイメージをマイクロSD上に展開
ダウンロードした Fedora-Desktop-VFAT-armhfp-20-1-sda.raw.xz を7zip等で解凍。以下が生成される。
Fedora-Desktop-VFAT-armhfp-20-1-sda.raw   約4.6GB

マイクロSD書き込み
マイクロSDをUSBリーダ等でPCに接続し、
Image Writer for Windows.(Win32DiskImager.exe)を起動。

Fedora-Desktop-VFAT-armhfp-20-1-sda.raw とマイクロSDのドライブを選択して書き込み実行。

ファイル選択時、拡張子が.img限定になっているので、*.*を指定すること。


■u-bootの書き込み
まだブートパーティションは空っぽで起動できないので、以下の通りu-bootをブートパーティションにコピーする。

u-bootは、uboot-beaglebone-2013.10-3.fc20.armv7hl.rpm からファイルを取り出す。

rpmの解凍は、XacRettやLhaForge等を利用。以下の3ファイルが取り出せる。
 MLO
 u-boot.img
 uEnv.txt.beaglebone → uEnv.txt にリネームすること

上記3ファイルをマイクロSDのルートにコピー
マイクロSDをセットしたUSBリーダを一度抜き挿しすると、ボリュームラベルが「uboot」の19MBの空メディアに見えるので、その19MBの領域に3ファイルをコピーする。
 MLO
 u-boot.img
 uEnv.txt

とりあえずここまでで起動可能なメディアができあがり。

あとはマイクロSD上のLinuxパーティションを、Ext2Fsd等を利用してマウントし、sshでログインできるようrootのパスワードを書き換える。

パスワードファイル: /etc/shadow

設定するrootのパスワードとfedora20の起動については、上記Linux上での作成方法で示した、sshログインできるようにする 以降を参照。

以上。




posted by frogie at 14:14 | Comment(0) | TrackBack(0) | BeagleBone Black | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
   
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック