●ソースの取得と展開
wget http://www.colinux.org/snapshots/devel-colinux-20080923.tar.gz
tar xfvz devel-colinux-20080923.tar.gz
cd devel-colinux-20080923
./configure
※colinuxがstableバージョンの場合
http://www.colinux.org/snapshots/stable-colinux-20080524.tar.gz
↑をゲットしてください。
※最新版は下記で確認してください。
coLinux - Snapshots
●パッチ
make kernel
Making Kernel 2.6.22.18がはじまったあたりで中止
cd ../build/linux-2.6.22.18-source
cp ../../devel-colinux-20080923/conf/linux-2.6.22.18-config .config
make oldconfig
make menuconfig
適当にカーネルの設定を変更
CPUをCore2にしてみた。
gccが4.3.0以降の場合、Makefileの修正。CFLAGSに-fno-tree-scev-cpropを追加。
(Debian lennyなのです)
#追記
squashfsを使う場合、そのままだとコンパイルエラーが出ます。
linux-2.6.22.18-source/fs/squashfs/inode.c に一行追加すると良いようです。
#include <linux/vfs.h>
#include <linux/vmalloc.h>
+#include <linux/sched.h>
#include <linux/smp_lock.h>
●カーネルパッケージの構築
make-kpkg --rootcmd fakeroot --initrd --revision=colinux.1 kernel_image kernel_headers
mv vmlinux vmlinux-2.6.22.18-co-0.8.0
●古いモジュールの移動
すでに/lib/modules/2.6.22.18-co-0.8.0がある場合
mv /lib/modules/2.6.22.18-co-0.8.0 /lib/modules/2.6.22.18-co-0.8.0.old
●カーネルパッケージのインストール
cd ../
dpkg -i linux-image-2.6.22.18-co-0.8.0_colinux.1_i386.deb
●イメージをホストにコピー
vmlinux-2.6.22.18-co-0.8.0
initrd.img-2.6.22.18-co-0.8.0
cofsをマウントするなりして上の二つをホストにコピー。
●設定ファイルの更新
kernel行とinitrd行を新しいイメージのファイル名にする。
coLinuxをいったん終了して再起動する。
●不要なファイルの削除
無事動作を確認できたので、不要なファイルを削除しました。
必要ならディスクスペースを増やしましょう。
★備考
あとからcoLinuxを0.7.3から0.8.0へ変更した場合など、TAP-Adapterをインストールしなおしたからかな?、MACアドレスが変わります。そのためudevでeth0からeth1などにrenameされてました。(dmesgで確認できます。)
その場合には/etc/udev/rule.d/以下の設定を変更しましょう。
こちらの環境では70-persistent-net.rulesというファイル名でした。
記述を削除(コメントアウト)しても問題なさそうですが、一応MACアドレスを設定しておきました。
MACアドレスは ifconfig -a|grep eth などとして確認できます。(HWaddrの後ろがMACアドレスです。udevinfo -a -p /sys/class/net/eth1 | grep addressとかdmesg | grep conetでもOK。)
変更したら一度ネットワークを止めて udevtrigger で更新。(lennyでは udevadm trigger)
面倒だったらrebootですね。
renameを気にしない場合は、/etc/network/interfacesの設定をeth1などに変えればよいかと思います。
★参考サイト
coLinuxのメモ - カーネルのコンパイル
2007-12-08 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - GCC 4.3 情報
Bug 5490 - cimagf gives incorrect results
Re: [ANN] Squashfs 3.3 released | KernelTrap
wget http://www.colinux.org/snapshots/devel-colinux-20080923.tar.gz
tar xfvz devel-colinux-20080923.tar.gz
cd devel-colinux-20080923
./configure
※colinuxがstableバージョンの場合
http://www.colinux.org/snapshots/stable-colinux-20080524.tar.gz
↑をゲットしてください。
※最新版は下記で確認してください。
coLinux - Snapshots
●パッチ
make kernel
Making Kernel 2.6.22.18がはじまったあたりで中止
cd ../build/linux-2.6.22.18-source
cp ../../devel-colinux-20080923/conf/linux-2.6.22.18-config .config
make oldconfig
make menuconfig
適当にカーネルの設定を変更
CPUをCore2にしてみた。
gccが4.3.0以降の場合、Makefileの修正。CFLAGSに-fno-tree-scev-cpropを追加。
(Debian lennyなのです)
#追記
squashfsを使う場合、そのままだとコンパイルエラーが出ます。
linux-2.6.22.18-source/fs/squashfs/inode.c に一行追加すると良いようです。
#include <linux/vfs.h>
#include <linux/vmalloc.h>
+#include <linux/sched.h>
#include <linux/smp_lock.h>
●カーネルパッケージの構築
make-kpkg --rootcmd fakeroot --initrd --revision=colinux.1 kernel_image kernel_headers
mv vmlinux vmlinux-2.6.22.18-co-0.8.0
●古いモジュールの移動
すでに/lib/modules/2.6.22.18-co-0.8.0がある場合
mv /lib/modules/2.6.22.18-co-0.8.0 /lib/modules/2.6.22.18-co-0.8.0.old
●カーネルパッケージのインストール
cd ../
dpkg -i linux-image-2.6.22.18-co-0.8.0_colinux.1_i386.deb
●イメージをホストにコピー
vmlinux-2.6.22.18-co-0.8.0
initrd.img-2.6.22.18-co-0.8.0
cofsをマウントするなりして上の二つをホストにコピー。
●設定ファイルの更新
kernel行とinitrd行を新しいイメージのファイル名にする。
coLinuxをいったん終了して再起動する。
●不要なファイルの削除
無事動作を確認できたので、不要なファイルを削除しました。
必要ならディスクスペースを増やしましょう。
★備考
あとからcoLinuxを0.7.3から0.8.0へ変更した場合など、TAP-Adapterをインストールしなおしたからかな?、MACアドレスが変わります。そのためudevでeth0からeth1などにrenameされてました。(dmesgで確認できます。)
その場合には/etc/udev/rule.d/以下の設定を変更しましょう。
こちらの環境では70-persistent-net.rulesというファイル名でした。
記述を削除(コメントアウト)しても問題なさそうですが、一応MACアドレスを設定しておきました。
MACアドレスは ifconfig -a|grep eth などとして確認できます。(HWaddrの後ろがMACアドレスです。udevinfo -a -p /sys/class/net/eth1 | grep addressとかdmesg | grep conetでもOK。)
変更したら一度ネットワークを止めて udevtrigger で更新。(lennyでは udevadm trigger)
面倒だったらrebootですね。
renameを気にしない場合は、/etc/network/interfacesの設定をeth1などに変えればよいかと思います。
★参考サイト
coLinuxのメモ - カーネルのコンパイル
2007-12-08 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - - GCC 4.3 情報
Bug 5490 - cimagf gives incorrect results
Re: [ANN] Squashfs 3.3 released | KernelTrap