freebsd:freebsd_11_converting_from_release_to_stable

FreeBSD 11-RELEASEをSTABLEに変更する

手順としては/usr/src以下をSTABLEのソースに変更し、通常の方法でworldを再構築するだけ。

  • FreeBSD 11.0-RELEASE
    • Root on ZFSで構築

必要なことは全てFreeBSDハンドブックに書いてあるので、そちらを熟読した上で作業すること。

元からあるRLEASEのソースを退避。

# mv /usr/src /usr/src-RELEASE

ちなみに、うちの環境では/usr/srcがZFSの1ファイルシステムになっているので、上記方法は使えず。なのでsnapshotを撮って中身を消した。

# zfs snapshot zroot/ROOT/usr/src@11-RELEASE_20161111
# rm -rf /usr/src/

STABLEのソースをチェックアウトする。 実際に接続されるリポジトリはDNSでラウンドロビンされるようなので、URLはsvn.freebsed.orgを指定しとけばいい模様。(昔、どこかで「日本からだと米国東海岸に接続されてしまうので明示的に西海岸のサーバを指定する」と読んだ記憶があるような無いような…。)

# svn co https://svn.freebsd.org/base/stable/11 /usr/src
A    sys
A    sys/dev
A    sys/dev/cpuctl
...
リビジョン 308494 をチェックアウトしました。

以前のオブジェクトファイルを削除。

# chflags -R noschg /usr/obj/*
# rm -rf /usr/obj

ユーザーランドのビルド。

# cd /usr/src
# sudo make buildworld -j 16
...
--------------------------------------------------------------
>>> World build completed on Fri Nov 11 13:38:23 JST 2016
--------------------------------------------------------------

カーネルのビルド。

sudo make buildkernel -j 16
...
--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Fri Nov 11 13:54:34 JST 2016
--------------------------------------------------------------

ビルドしたカーネルのインストール。

# make installkernel

シングルユーザーモードに移行。

今回知ったんだけど、オプションなしでshutdownコマンドを呼ぶとシングルユーザーモードに移行できるのね。

# shutdown now

こんな感じでつらつらとプロセスが終了し、シングルユーザーモードになる。これは便利だー。

システムが入っているストレージ書き込みできるようにする。zrootの部分は適宜読み替えの事。

# zfs set readonly=off zroot
# zfs mount -a
<code>

必要なら''kbdmap''する。

必要なら''adjkerntz -i''する。

設定ファイルのマージ。
<code>
# mergemaster -UPiF

ユーザーランドをインストール。

# cd /usr/src
# make installworld

残りの設定ファイルをマージ。

# mergemaster -p

不要になった古いファイルを削除

# make delete-old

再起動して晴れてSTABLE環境へ

# reboot
...
Last login: Mon Nov 14 00:54:22 2016 from :1
FreeBSD 11.0-STABLE (GENERIC) #0 r308494: Fri Nov 11 13:54:01 JST 2016

Welcome to FreeBSD!
...

その後、通常のworld構築ではここでportsやpackagesの更新と古いライブラリの削除を行うが、同一リリース内でのブランチ変更なので省略。

  • freebsd/freebsd_11_converting_from_release_to_stable.txt
  • 最終更新: 2016-11-17 21:27
  • by Decomo