[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:16833] Re: SiS900&カーネルの再構築
-
From:Shun-ichi TAHARA (田原 俊一)
-
Date:Tue, 3 Dec 2002 13:32:48 +0900 (JST)
- Subject: [plamo:16833] Re: SiS900&カーネルの再構築
- From: Shun-ichi TAHARA (田原 俊一) <jado@xxxxxxxxxxxxxxx>
- Date: Tue, 03 Dec 2002 13:32:47 +0900 (JST)
From: hfujii <hfujii@auecc.aichi-edu.ac.jp>
Message-Id: <3DEC214E.1040101@auecc.aichi-edu.ac.jp>
> 以前は、/usr/src/linux というディレクトリだったと思うのですが、
> 今は、/usr/src/linux2.x.xというディレクトリになっていますよね。
物好きな人は、複数バージョンのカーネルソースを持ちたがるので、このよう
にしておくと都合がいいのです。
> 再構築して、新しいカーネルをインストールする場合に、
> どうやってインストールすればよいのでしょうか?
方法はいろいろありますので、お好きになさって結構です。
例を挙げると、
・普通に /usr/src で展開すれば、/usr/src/linux に新しいバージョンのソー
スが展開されるので、初めから入っている /usr/src/linux2.x.y とは干渉
しない。初めから入っているカーネルソースを使うのであれば、何も考えず
に cd /usr/src/linux2.x.y としてから作業してよい。
・ものによっては、カーネルソースの在処を /usr/src/linux であると仮定し
ているツールがあるので、
# cd /usr/src
# rm -f linux
# ln linux2.x.y linux
としておけば、/usr/src/linux で作業できる。新しく拾ってきた場合には、
これに準じて、
# cd /usr/src
# rm -f linux
# tar jxvf linux-2.z.w.tar.bz2
# mv linux linux2.z.w
# ln -s linux2.z.w linux
のように、ディレクトリの移動とリンクの張り直しをすればいい。
カーネルをよく作るのであれば、後者のようにしておくと、バージョンごとの
管理がやりやすくて便利です。
> Grubは、MBRを更新しなくてよいとなっているのですが、
> 新しいカーネルをgrubにどう認識させるのでしょうか?
GRUB は、ext2/ext3 や ReiserFS などのファイルシステムを理解しますので、
直接 menu.lst とか grub.conf とかを読んで、そこに指定されていたカーネ
ルのファイルを探すことができます。
ですので、カーネルを入れ替えても GRUB を再設定する必要がないのです。
仮に設定がおかしくても、コマンドプロンプトモードやGRUBのブートFD から
直接カーネルを指定して起動することもできるので、トラブルに強いのです。
ちなみに、HDDインストールの場合、stage2(GRUB本体)の位置だけはセクタで
持ってないと GRUB そのものが読めないですので、これを置き換えた場合には
再インストールが必要です。menu.lst の位置(パーティションとパス)を変え
ても再インストールが必要でしょうね。
> それから、新しいカーネルはどうやってインストールすればよいのでしょうか?
/usr/src/linux/arch/i386/boot/bzImage をどこかにコピーするだけでいいで
す。ようは、lilo の場合に最後に必要だった /sbin/lilo の実行が不要なだ
けで、あとは変わりません。
ちなみに、/sbin/installkernel というスクリプトがあると、make install
時の処理を置き換えることができるので、ここに lilo の実行を除いた処理を
記述しておくというのも手です。
手元で使っているスクリプトを添付しておきます(Makefile から切り出しただ
けですが)。これを /sbin/installkernel として置くと、make install で、
カーネルや System.map のコピーだけをして、/sbin/lilo の実行を行なわな
いようになります。
> インストールが終わったら、古いカーネルのディレクトリは削除してしまっても
> よいのでしょうか?
これは藤井さん次第です。不要だと思ったら消してもらってもいいですし。
> 新しいカーネルはどうやって試せばよいのでしょうか?
make bzlilo でも、make install でも、今ある vmlinuz は vmlinuz.old に
リネームされます(添付の /sbin/installkernel も同様の処理をします)。
なので、GRUB のエントリに、/vmlinuz.old からブートできるようなエントリ
を追加してやれば、もしおかしくなったときに、古いカーネルから起動できま
す。
何度も構築して繰り返し試したいときには、元のカーネルを vmlinuz.orig み
たいに、別の名前とかでもコピーしておくと、間違えて連続して make
install して元のカーネルを失う事故を防げますね。これをしない場合は、う
まくいかなくて古いカーネルから起動した後、もう一度カーネルを作る前に
vmlinuz.old を vmlinuz にコピーしておかないと、make install で元のカー
ネルを失ってしまいますからね。
どちらにしても、lilo と違って、仮にエントリを追加し忘れても、起動時に
その場で別のカーネルファイルを指定することができるので、とても便利です。
_______________________________
田原 俊一 jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
#!/bin/sh
#
# /sbin/installkernel
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1995 by Linus Torvalds
#
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
#
# "make install" script for i386 architecture
#
# Arguments:
# $1 - kernel version
# $2 - kernel image file
# $3 - kernel map file
# $4 - default install path (blank if root directory)
#
if [ -f $4/vmlinuz ]; then
echo "mv $4/vmlinuz $4/vmlinuz.old"
mv $4/vmlinuz $4/vmlinuz.old
fi
if [ -f $4/System.map ]; then
echo "mv $4/System.map $4/System.map.old"
mv $4/System.map $4/System.map.old
fi
echo "cat $2 > $4/vmlinuz"
cat $2 > $4/vmlinuz
echo "cp $3 $4/System.map"
cp $3 $4/System.map
- References
-
- [plamo:16822] Re: SiS315 SiS900, hfujii
- [plamo:16828] Re: SiS315 SiS900, Shigeo Sagai
- [plamo:16831] Re: SiS900 &カーネルの再構築, hfujii
[検索ページ]
[メール一覧]
Plamo ML 公開システム