システムアップデート - freebsd-update - 11.1 RELEASE → 11.2 RELEASE - 11.1 RELEASE を用意
1. 11.1 RELEASE を用意 まずは、アップグレード対象とする FreeBSD 11.1 RELEASE のマシンが必要なわけですが、これは、以前にインストールしてアプリケーションの動作確認を行っていたものがあります。 実機のターゲットは、カスタムカーネルを使用しているため、あえてカスタムカーネルを作ろうと思ったら・・・。 おおお、作ってました。 > uname -a FreeBSD vm11.1.sing.ne.jp 11.1-RELEASE FreeBSD 11.1-RELEASE #0: Fri Jul 28 22:30:38 JST 2017 hogehoge@vm.sing.ne.jp:/usr/obj/usr/src/sys/MYKERNEL amd6 と、freebsd-update しようと思ったのですが・・・。 作業しようとしたところが実機のある環境と違って、テザリング環境のため、通信量が不安でどうにもならない・・・。 ってことで、当面、GENERIC カーネルを boot に作成できるか?に絞ってみることにしました。 11.1 → 11.2 間にカーネルの変更があったか知らんが・・・。 いずれ訪れる、12.x のときに備えておかんとね。 2. /boot/GENERIC を作ってみる ここのサイトに 8.4-RELEASE から 9.3-RELEASE へアップデートしたときの資料が残っていますが、このときのコマンドが動くかしら・・・? そのときは cd /usr/src env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null mv /boot/GENERIC/boot/kernel/* /boot/GENERIC rm -rf /boot/GENERIC/boot てな感じでしたが・・・。 なんか「ハンドブック - FreeBSD Update」を読むと、FreeBSD 9.x 以降も似たような感じに見えるのですが・・・。 やってみるず。 いまやろうとしているのは、VirtualBox 上のマシンなのでやる直前のスナップショットをとっておけば、何も怖いものはありませんわな。 3. DVD メディアから作ってみる ハンドブックに書いてあるひとつの方法。 DVD メディアから作ってみます。 DVD を挿入して、以下のようにと書いてあるが・・・。 mount /cdrom cd /cdrom/usr/freebsd-dist tar -C/ -xvf kernel.txz boot/kernel/kernel いきなり初手から NG。 > mount /cdrom mount: /cdrom: unknown special file or file system 「/etc/fstab」に「/cdrom」の記述がないからのようですな。 これ、次のコマンドを調べるのに、参考にさせていただいたサイトがあって、リンクをはっていたのですが、リンク切れになっちゃいました。 > camcontrol devlist <VBOX HARDDISK 1.0> at scbus0 target 0 lun 0 (pass0,ada0) <VBOX CD-ROM 1.0> at scbus1 target 0 lun 0 (cd0,pass1) なるほど、「cd0」だね。 mount -t cd9660 /dev/cd0 /mnt おし、マウントできました。 cd /mnt/usr/freebsd-dist/ tar -C/ -xvf kernel.txz boot/kernel/kernel cd umount /mnt おおこれで、できてる風ですわ。 でも /boot/GENERIC でなく /boot/kernel なんだけどこれでいいのかな? 上記、いささか納得の話が nextboot -k GENERIC を使うなら /boot/GENERIC が必要なんでしょうが、nextboot 使わなければ、そのまま /boot/kernel を使用するんで問題ないと思われ・・・。 4. GENERIC から作ってみる GENERIC はオリジナルのものを残していますからね・・・。 cd /usr/src make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null ここは結構、長く待ちます。 貧弱な環境であれば、数時間という単位です。 となれば、前項のメディアから作成するのが一番と思われます。 もしメディアが存在しなくても iso ファイルをマウントしてそこから作成するのは数分でしょう。
> uname -a FreeBSD vm11.1.sing.ne.jp 11.1-RELEASE FreeBSD 11.1-RELEASE #0: Fri Jul 28 22:30:38 JST 2017 hogehoge@vm.sing.ne.jp:/usr/obj/usr/src/sys/MYKERNEL amd6
cd /usr/src env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null mv /boot/GENERIC/boot/kernel/* /boot/GENERIC rm -rf /boot/GENERIC/boot
mount /cdrom cd /cdrom/usr/freebsd-dist tar -C/ -xvf kernel.txz boot/kernel/kernel
> mount /cdrom mount: /cdrom: unknown special file or file system
> camcontrol devlist <VBOX HARDDISK 1.0> at scbus0 target 0 lun 0 (pass0,ada0) <VBOX CD-ROM 1.0> at scbus1 target 0 lun 0 (cd0,pass1)
mount -t cd9660 /dev/cd0 /mnt
cd /mnt/usr/freebsd-dist/ tar -C/ -xvf kernel.txz boot/kernel/kernel cd umount /mnt
nextboot -k GENERIC
cd /usr/src make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null