freebsd-update upgrade (マイナーバージョン) 覚書 (11.1 → 11.2)

2018-10-12

以下などを参考にする。

FreeBSD ハンドブック
第17章 FreeBSD のアップデートとアップグレード
17.2. FreeBSD Update 17.2.3. メジャーおよびマイナーバージョンのアップグレードを行う

/var の容量に気を付ける。

まず、以下を実行..

% sudo freebsd-update -r 11.2-RELEASE upgrade
〜
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 11.1-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/src world/base world/lib32

The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg world/base-dbg world/doc world/lib32-dbg

Does this look reasonable (y/n)? y↵

Fetching metadata signature for 11.2-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 11.1-RELEASE for merging... done.
Preparing to download files... done.
Fetching 48514 patches.....10....20....30....40....50....60....70....80....90....100....〜....43880....43890.... done.
Applying patches... done.
Fetching 7641 files... done.
Attempting to automatically merge changes in files... done.

The following changes, which occurred between FreeBSD 11.1-RELEASE and
FreeBSD 11.2-RELEASE have been merged into /etc/ssh/sshd_config:
--- current version
+++ new version
@@ -1,7 +1,7 @@
〜
Does this look reasonable (y/n)? y↵

/etc/ssh/sshd_config を変更していたので上のようにマージの指示が出た。

続いて、以下のように次々表示され..


The following files will be removed as part of updating to 11.2-RELEASE-p4:
/boot/kernel/ntb_hw.ko
/boot/pcibios.4th
/usr/bin/lint
〜

The following files will be added as part of updating to 11.2-RELEASE-p4:
/boot/dtb/overlays
/boot/isoboot
/boot/kernel/amdsmn.ko
〜

The following files will be updated as part of updating to 11.2-RELEASE-p4:
/.cshrc
/.profile
/COPYRIGHT
/bin/[
〜
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".

..コマンドプロンプトに戻ってくる。 最後にも書いてあるように、以下を実行。

% sudo freebsd-update install
〜
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.

そして以下のように再起動すると..

% sudo shutdown -r now

:

panic

起動しなくなった! ピンチ!

もう一度、起動画面で、「5」を押すと、kernel.old に切り替わった。

kernel.old

そうしたら、11.1 で無事に起動した..

さて、どうやら vboxdrv がどうとか言っているようなので、思い当たるものとして、/boot/loader.conf の、以下の行を削除する。

vboxdrv_load="YES"

やれやれ、これで起動するだろう.. と思ったら、それでもダメだった。

まさかとは思うが /boot/loader.conf~ というファイルが残っているのがいけないのだろうかと思い削除してみたがやはりダメだった。

もう少し考えて、/etc/rc.conf の、以下の行:

vboxnet_enable="YES"

これをコメントアウトしたら、やっと起動するようになった。ふー。

(元の作業に戻って) メッセージにもあったように、もう一度以下のようにコマンドを実行する。

% sudo freebsd-update install
〜
Installing updates... done.

VirtualBox のドライバの再ビルド

さて、VirtualBox のカーネルドライバを更新しないといけないのか。

面倒なので、VirtualBox を消して、再びインストールすることにする。

% pkg info | egrep -i virtualbox
virtualbox-ose-5.2.18_1        General-purpose full virtualizer for x86 hardware
virtualbox-ose-kmod-5.2.18     VirtualBox kernel module for FreeBSD

% sudo pkg delete virtualbox-ose-kmod
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 2 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	virtualbox-ose-kmod-5.2.18
	virtualbox-ose-5.2.18_1

Number of packages to be removed: 2

The operation will free 371 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/2] Deinstalling virtualbox-ose-5.2.18_1...
[1/2] Deleting files for virtualbox-ose-5.2.18_1: 100%
==> You should manually remove the "vboxusers" user. 
==> You should manually remove the "vboxusers" group 
[2/2] Deinstalling virtualbox-ose-kmod-5.2.18...
[2/2] Deleting files for virtualbox-ose-kmod-5.2.18: 100%

そして portinstall -s virtualbox-ose の実行。

ここで teetime とは、tee のラッパーのような自作スクリプトです。

% nice teetime -t virtualbox-ose_ portinstall -s virtualbox-ose
logging (from the next line till the end) to virtualbox-ose_20181012.log
teetime! 2018年 10月12日 金曜日 21時28分25秒 JST
teetime> portinstall -s virtualbox-ose
[Reading data from pkg(8) ... - 972 packages found - done]
--->  Installing 'virtualbox-ose-5.2.18_1' from a port (emulators/virtualbox-ose)
--->  Building '/usr/ports/emulators/virtualbox-ose'
〜
teetime! 2018年 10月12日 金曜日 21時51分12秒 JST

そして、/boot/loader.conf と、/etc/rc.conf を元に戻し、再起動してみると、今度はちゃんと起動した。

以上


index