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ログインできるようにする 以降を参照。
以上。