current 1st install - failed2006年04月03日 11時51分12秒

さて、コンパイルにエラーもなく無事に、build{world,kernel} が終った。次は current のインストールである。

最初は、FreeSBIE で 6.1-BETA4 のイメージを作り、それを 7-current に上げようと思ったが、うまくいかない。

具体的な問題としては、FreeSBIE では /usr が uzip になる。それを NO_COMPRESSEDFS=YES を freesbie.conf に追加したが、こんどは、img が割り当てるデバイスファイルの大きさが 250MB ぐらいしかないので img の作成に失敗した。手っ取り早く、FreeSBIE にいれる ports を全て削除したら、今度は img の作成は成功した。

FreeSBIE.img を hda、current-src.md を hdb、current-obj.md を hdc として、qemu にて起動に成功。勇んで、make installkernel を実行するも、250MB では、ディスクがいっぱいに。仕方が無いので、hdd として、大きめのファイルを使い、qemu を再起動し、 unionfs -ctransparent で hdd を /usr の上にかぶせた。しかし、結局 /boot などに入るので、容量が足りなくなるのには変わらず。そこで、rm -rf /usr をし、再度 unionfs mount。make installkernel に必要なファイルが /usr にあったらしい。make が動かない。さすがにここで諦めた。

いつも、make installkernel をしてからアップグレードしているので同じ要領で試してみる。


%mkdir /mnt/current/boot
%cp /usr/src/sys/i386/conf/GENERIC.hints /mnt/current/boot/device.hints
%cd /usr/src
%make installkernel DESTDIR=/mnt/current
...
grep: /mnt/current/boot/defaults/loader.conf: No such file or directory
grep: /mnt/current/boot/loader.conf: No such file or directory
You must activate /boot/device.hints in loader.conf.
*** Error code 1

Stop in /usr/obj/usr/src/sys/GENERIC.
...

うまくいかなかったようだ。

FreeSBIE のインストールを参考にすると、installworld が installkernel より前にくるようだ。ここは普通のアップグレードのやり方とは逆のようだ。


% make DESTDIR=/mnt/current installworld
...
--------------------------------------------------------------
>>> Installing everything
--------------------------------------------------------------
cd /usr/src; /usr/obj/usr/src/make.i386/make -f Makefile.inc1 install
===> share/info (install)
install -o root -g wheel -m 444  dir-tmpl /mnt/current/usr/share/info/dir
install: /mnt/current/usr/share/info/dir: chown/chgrp: Operation not permitted
*** Error code 71

Stop in /usr/src/share/info.

むぅぅぅ。root でやらないと、いけないらしい。まぁ、当り前か。今日はこれで、終りにする。