OpenBSDパッチ&&カーネル メンテ
JUGEMテーマ:コンピュータ
パッチの情報がたまにでているのでパッチブランチかパッチを当てる。
GENERICカーネルならパッチブランチからとってくればいいと
おもうのだが、偏屈なうちのマシンではカスタマイズしてるの
でひとつひとつ取り込んであてることにした。
数もかぎられてるのであまりその辺は
苦労しないのだけどむしろ忘れてしまうのでメモ。
��ソースに手を加えてたら別の話。というかリリース自体独自扱いでは)
□パッチをあてる
□パッチをあてたら
パッチファイル内の手順にしたがって
◆カーネルの再コンパイル必要ー>再コンパイル
あるいは
◆モジュールのビルド
をおこなう。
例:
016: SECURITY FIX: October 8, 2007 All architectures
Malicious DHCP clients could cause dhcpd(8) to corrupt its stack
A DHCP client that claimed to require a maximum message size less
than the minimum IP MTU could cause dhcpd(8) to overwrite stack memory.
A source code patch exists which remedies this problem.
このファイルを開くと
Apply by doing:とあるので、 /usr/src/016_dhcpd.patchにファイルが
cd /usr/src
patch -p0 < 016_dhcpd.patch
And then rebuild and install file:
cd usr.sbin/dhcpd
make obj
make cleandir
make depend
make
make install
Index: usr.sbin/dhcpd/options.c
....
あればそのまま実行する。
Apply by doingにしたがってコマンドをうって
rebuild and install fileにしたがってコマンドをうつ。
ものによってはAnd then rebuild your kernel.と
指示しているものもあるのでそのときはカーネルのリビルドを実行。
カーネルの再構築
# cd /usr/src/sys/arch/i386/conf
# /usr/sbin/config GENERIC
# cd /usr/src/sys/arch/i386/compile/GENERIC
# make clean && make depend && make
i386とかGENERICなどは適宜読み替え。
こんなかんじでおわってりゃ成功。
ld -Ttext 0xD0200120 -e start -N -S -x -o bsd ${SYSTEM_OBJ} vers.o
text data bss dec hex
4148869 113696 867536 5130101 4e4775
もちろん置き換える。
# cp /bsd /bsd.old 古いファイルのバックアップ
# cp bsd /bsd 上書きコピー
# reboot
カーネルカスタマイズにかんしては
HRK's OpenBSD Memo - カーネルをカスタマイズする
5.1 - OpenBSD's Flavors
サポートポリシーからすると4.0はもうおわってるのか orz.
そろそろ4.2以降移行しないといかんが。。マシン自体も変えたい。
コメント
コメントを投稿
「コメントを投稿できるユーザー」の範囲は変更される可能性があります。