システムアップデート - freebsd-update - 11.1 RELEASE → 11.2 RELEASE - 11.1 RELEASE を用意
- 1. 11.1 RELEASE を用意
- 2. /boot/GENERIC を作ってみる
- 3. DVD メディアから作ってみる
- 4. GENERIC から作ってみる
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 ファイルをマウントしてそこから作成するのは数分でしょう。
|
|