こんにちは、鶴谷です。

T.Kuji さんは書きました:

> CPU: AMD Athlon(tm) 64 X2 Dual Core な機体なのに、FreeBSD 6.2-RELEASE/i386 
> をインストールして使用していました。
> 
> 現在、FreeBSD 6.2-RELEASE-p7 になっております。
> # sysctl kern.smp.cpusしますと 
> kern.smp.cpus: 1 となりますので、
> /usr/src/sys/amd64/conf/GENERIC に
> options SMP を書き加えて、

i386でもきちんと指定すれば複数のCPUとして認識されますが...

> # config GENERIC して
> Kernel build directory is ../compile/GENERIC
> Don't forget to do ``make cleandepend; make depend''
> 
> # cd ../compile/GENERIC
> # make cleandepend; make depend  で、
> 
> ../../../i386/i386/genassym.c:216: error: storage size of `BC32SELw1' isn't 
> known
> ../../../i386/i386/genassym.c:216: error: storage size of `BC32SELw2' isn't 
> known
> ../../../i386/i386/genassym.c:216: error: storage size of `BC32SELw3' isn't 
> known
> *** Error code 1
> 
> とエラーします。

少なくとも、i386でamd64なバイナリを生成する手段を持たないと無理でしょう。

> FreeBSD ISO-IMAGES/amd64 をCDに焼いて、/usr/sbin/sysinstall からConfigure ->
> Distribution -> kernels としましたが、バージョン不整合?で上手く行きませ
> んでした。
>
> データ領域などを温存しつつ、i386 から amd64のカーネルに移行するには、どの
> ような方法が良いでしょうか?

http://uyota.asablo.jp/blog/2007/06/03/1552367
の方法ではどうでしょう?
# 私は試していません。
なお、カーネルだけではなくライブラリ等も全て移行しなければならないと思います。

---
鶴谷直樹
[メールアドレス保護]

メールによる返信