FreeBSD 10-STABLE / arm のビルドメモ.
1. ソースの取得
10-STABLE用のフォルダをzfsで用意して,svnで持ってくる.
# zfs create -o compression=lz4 -o exec=off -o setuid=off rpool/usr/src_stable10 # cd /usr # svn co https://svn0.us-west.freebsd.org/base/stable/10 src_stable10
2. ビルドツールの取得
crochet-freebsdというFreeBSD/armのブートイメージを作成するためのスクリプトが用意されているので,それを持ってくる.また,展開したフォルダにu-bootのソースも置いておく必要があり,合わせて取得.
# cd /usr/local # git clone https://github.com/kientzle/crochet-freebsd.git # cd crochet-freebsd # git clone https://github.com/gonzoua/u-boot-pi.git u-boot-rpi
3. 設定ファイルを用意する
crochet-freebsdのconfig.sh.sampleをコピーして編集する.
# diff -uN config.sh.sample config.sh --- config.sh.sample 2014-05-14 00:09:50.436616000 +0900 +++ config.sh 2014-05-14 00:15:05.937593000 +0900 @@ -25,7 +25,7 @@ #board_setup GenericI386 #board_setup PandaBoard #board_setup Soekris -#board_setup RaspberryPi +board_setup RaspberryPi #board_setup VersatilePB #board_setup ZedBoard #board_setup Wandboard @@ -45,7 +45,7 @@ # Suggested: option ImageSize #option ImageSize 100mb # for kernel-only images #option ImageSize 1950mb # for 2 Gigabyte card -#option ImageSize 3900mb # for 4 Gigabyte card +option ImageSize 3900mb # for 4 Gigabyte card # # How to Customize Your Build @@ -85,7 +85,7 @@ # couple of extra reboots, which can make this occasionally perplexing # to use. # -#option AutoSize +option AutoSize # Enable emailed status notifications. # This can also be enabled via the -e command-line flag. @@ -147,7 +147,7 @@ # it will tell you how to get appropriate sources into this directory. # (I find FREEBSD_SRC=${TOPDIR}/src to be useful.) # -#FREEBSD_SRC=/usr/src +FREEBSD_SRC=/usr/src_stable10 # You will probably never override this, but you may need to # understand it: WORKDIR holds all of the created and temporary files
4. ビルド実行
crochet-freebsdのフォルダでスクリプトを実行し,しばし待つ.
# sh crochet.sh -c config.sh
5. 出来上がり
出来上がったイメージをSDに焼いてブート.イメージは work/FreeBSD-armv6-10.0-RPI-B-r.img として出来上がる.