LIVA C0-2G-64G-WでFreeBSDを動かす

LIVA C0-2G-64G-WでFreeBSD 10.1-RELEASEが動作するようになったので、
動作メモを紹介します。
そのうち、NISOCかEBUGで紹介する予定ですが、作業メモ的に書いておきますので、
興味があればご覧ください。

・LIVA C0-2G-64G-Wとは?
→ECSから発売されている、超小型PC。
日本では、リンクスインターナショナルが販売。
Windows8.1 with Bing搭載バージョンと、ベアボーンの2種が発売中。
ベアボーン版の実売は、18,000円位。詳細は、上記リンク参照。





・FreeBSDをインストールするにはどうすればよいか?
LIVAは、なんとUEFI ブートしかできません。
現状はFreeBSD 10.1-RELEASE/amd64 のUEFI版のDVD-ROMもしくはメモリスティックの
イメージからブートする必要があります。
(なぜなら、UEFIブートできるイメージは、今のところ10.1R/amd64もしくは-CURRENTしか
ありませんが、-CURRENTだとブート途中でハングアップするため、インストールできません)

・FreeBSD 10.1-RELEASE/amd64を起動したら、いきなりkernel panicするんですが?
カーネル起動後、カウントダウンしている間に、次の操作をしてください。
スペースキーを押す
OKプロンプトが出たら、mode 2と入力してEnterを押す
OKプロンプトが出たら、boot と入力してEnterを押す
起動したら、/boot/loader.rc.localに、
mode 2
と書いておけば入力する必要はなくなります。

・インストールできるメディアは?
内蔵eMMCは認識できません。よって、USBメモリ/USB HDD等にインストールしてください。

・DVD-ROMからインストールできますか?
消費電力が高いとDVD-ROMの読み込みがうまくいかないケースがあります。
また、負荷をかけた時にUSB SSDを見失うこともあります。
その場合は、
1. USBメモリからインストール
2. DVD-ROMにACアダプタを繋いで、DVD-ROMに給電する
3. セルフパワー方式のUSB HUBを接続する
などしてください。

・外付けUSB SSDをUEFI ブートできるようにしたいのですが?
私が、USB SSDからUEFI ブートできるようにした時のログを載せてておきます。
事前に、make buildworld; make buildkernelしてください。
da0がUSBメモリ、da1が追加したUSB SSDです。

root@liva:/home/karl # /sbin/gpart show
=> 40 234441568 da1 GPT (112G)
40 234441568 - free - (112G)

※元がWindows10 Previewが入っていたSSDだったため、GPTパーティーションになっていたのかも。
よくわからないので削除します。新品のHDD等であれば次の作業は不要です。
root@liva:/home/karl # /sbin/gpart destroy da1
da1 destroyed

※da1をGPTフォーマットのSSDにします。
root@liva:/home/karl # /sbin/gpart create -s GPT da1
da1 created

※先頭(40セクタ)から800KBをEFIパーティーションとします。
root@liva:/home/karl # /sbin/gpart add -b 40 -s 1600 -t efi da1
da1p1 added

※UFS領域とスワップを作成。スワップとして4GB程用意しておこうと思ったので、計算して次のように確保。
root@liva:/home/karl # /sbin/gpart add -b 1640 -s 226052960 -t freebsd-ufs da1
da1p2 added
root@liva:/home/karl # /sbin/gpart add -b 226054600 -s 8387008 -t freebsd-swap da1
da1p3 added

結果を確認します。
root@liva:/home/karl # /sbin/gpart show da1
=> 40 234441568 da1 GPT (112G)
40 1600 1 efi (800K)
1640 226052960 2 freebsd-ufs (108G)
226054600 8387008 3 freebsd-swap (4.0G)

※EFIのブートコードを、/dev/da1p1に書き込みます。/boot/boot1.efifatが、イメージです。
root@liva:/home/karl # /bin/dd if=/boot/boot1.efifat of=/dev/da1p1
1600+0 records in
1600+0 records out
819200 bytes transferred in 1.385869 secs (591109 bytes/sec)

※/dev/da1p2 をnewfsします。
root@liva:/home/karl # /sbin/newfs /dev/da1p2
/dev/da1p2: 110377.4MB (226052960 sectors) block size 32768, fragment size 4096
using 177 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
super-block backups (for fsck_ffs -b #) at:
...

※マウントして/, /usr等の書き込みをします。
root@liva:/home/karl # mount /dev/da1p2 /mnt
root@live:/home/karl # cd /usr/src
root@liva:/usr/src # make DESTDIR=/mnt installkernel installworld distribution
root@liva:/usr/src # make DESTDIR=/mnt installkernel
あとは、必要に応じて/mnt/etc/fstab, /mnt/etc/rc.conf, /mnt/etc/resolv.conf 等を作ってください。


・完全なZFS形式で起動できますか?
→/ からの起動には現状対応していません。

・11-CURRENTを動かすことはできませんか?
そのままでは11-CURRENT(r276386)は起動途中で(おそらくvga認識中に)固まって動きませんでした。
/sys/dev/vtを丸ごと10-STABLE(r276500) のソースで上書きし、
make buildkernel && make installkernel したら起動するようになりました。

UEFIについては、UEFI - FreeBSD Wikiをご覧ください。

"LIVA C0-2G-64G-WでFreeBSDを動かす" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント

※ブログオーナーが承認したコメントのみ表示されます。