FreeBSD で amd64 カーネルを i386 システムにインストール2017年11月07日 13時46分53秒

amd64 のカーネルが作れたので、i386 システムに上書きインストールをしてみる。

FreeBSD 11.1-STABLE の i386 版が母艦。11.1-RELEASE が出た後の、11-STABLE ブランチになる。i386 の機械で amd64 向けのバイナリを作った。これを、複製した i386 システムに入れてみた。

前回の手順

% make xdev-build TARGET=amd64
% make kernel-toolchain TARGET=amd64
% make buildkernel TARGET=amd64
に加えて、/mnt/stable にマウントしてある別のシステムに、インストールをする。root での作業。
$ make installkernel TARGET=amd64 DESTDIR=/mnt/stable

この後再起動してみた。init は問題なく進んだが、幾つか起動に失敗したものがあった。zfs などを筆頭とする、ライブラリとシステムの依存関係の強いシステム系のコマンドは動いていない。X もライブラリだか何かに問題があるらしく、起動しない。

amd64 のカーネルは、i386 の単純なライブラリやコマンドは問題なく動かせるようだ。amd64 のシステムコールとライブラリに依存するコマンドも動かなかった。取り敢えず、amd64 の i386 バイナリ互換は現在もあるようだ。

前回次回