トップページunix
17コメント14KB

mkkpkgでカーネル再構築

■ このスレッドは過去ログ倉庫に格納されています
0001SRVNGNG
VineLinux1.1でkernel2.0.363vl1を再構築できずに
困ってます。

mkkpkgでやりたいのですが、エラーの意味が皆目
見当もつきません。

shell-init:couldn't get current directory
というエラーが起きて、パッケージが生成されません。
command not foundとかno such file or directory
だったら無知な僕でもなんとかなりそうですが、
こんなエラーは出会った事がありません。

カレントディレクトリを取得できないってどういう事
なのでしょうか?
pwdに失敗したんでしょうか?
嗚呼、困った。

0002バジリコNGNG
make menuconfigでやればいいと思うが。
mkkpkgでやりたい理由はなんでしょう?
0003SRVNGNG
再構築は未経験なので、手軽に出来ると言われて
いるmkkpkgから始めようかな、と。
すでに何度も挑戦してるのですが、毎回同じところ
でつまずいているようなので質問したのです。

make *config も一度試してみて、makeは無事に
終了したものの、depmod -aでシンボル(って何?)
がおかしいと怒られて、ギブアップしました。

#logを示したいのですが捨てちゃいました。無念。

一度成功させれば、それ以降に失敗しても
どこが原因なのかの"切り分け"が出来ると思うので
頑張ってますが、なかなか、、、、。
最新のSoftwareDesignに載ってた特集も
読みましたが、それらしい事は載ってませんでした。
0004名無しさんNGNG
http://www.cwo.zaq.ne.jp/vine-linux/try-1.html
を見ると mkkpkg はスクリプトのようですね。
スクリプトを読んでみれば原因が分かるかも。
0005バジリコNGNG
>再構築は未経験なので、手軽に出来ると言われて
>いるmkkpkgから始めようかな、と。
気持ちはわからんでもないが、そういう特殊なツールで失敗しても、
汎用性がないからネット上での助言が得にくいぞ。
menuconfigやconfigなら、旧来からあるので事例が多く、自分と
同じつまずきをした人の解決法を見つけやすい。

make configは失敗すると後戻りできないから不便だけど、
make menuconfigなら便利だぞ。ヘルプも読めるし(英語だが)。
そう難しいツールではないと思うんで、がんばってみよう。

>最新のSoftwareDesignに載ってた特集も
>読みましたが、それらしい事は載ってませんでした。
「最近のLinuxは、再構築はしない」とか書いてましたな。
でも、自分の環境に最適化しようと思ったら、結局避けら
れない作業だと思うんだが。
0006SRVNGNG
>自分の環境に最適化しようと思ったら、結局避けら
>れない作業だと思うんだが

僕の場合、LANもサウンド機能もSCSIも使わないので、
メモリ節約のためにカーネルをスリムにしたいと思ってます。
RAM32メガの機械でNetscape使うと、それだけで
アップアップになってるみたいなので。

目標は、ppxpd@`kerneld@`cannaserver@`Kinput2@`X@`Fvwm2が
常駐している状態でメモリ15メガ程度使用なのですが、
これは無理?

たった今バックアップが完了したので
明日は懲りずに再挑戦する予定です。
今度はmake menuconfigでやってみます。
0007SRVNGNG
--結果報告--
make menuconfigで再構築してみました。
やはり前回同様に
depmod -a
でエラーが、、

[root@localhost linux]# depmod -a
/lib/modules/2.0.36/fs/isofs.o: unresolved symbol(s)
/lib/modules/2.0.36/fs/vfat.o: unresolved symbol(s)
/lib/modules/2.0.36/fs/msdos.o: unresolved symbol(s)
/lib/modules/2.0.36/fs/fat.o: unresolved symbol(s)
/lib/modules/2.0.36/fs/minix.o: unresolved symbol(s)
/lib/modules/2.0.36/net/dummy.o: unresolved symbol(s)

ここまできたらつっ走るしかないというわけで、
新カーネルをインストールして
pcmcia-cs作って、、、とやっていくと、
とりあえず成功したようです。一応そのカーネルでも
ppxpは使えているようだし。気のせいかもしれないけど
動作が軽くなったような、、。
でも、depmod -aで起きるエラーの意味と対策を
知らないと、どうにも気持ちが悪いです。
誰かご存知ではありませんか?
0008名無しさんNGNG
それらのファイルシステムを扱うためのモジュールが
見つからないって言ってるんだと思います。
モジュールを作ってないのか、モジュールの依存関係が
書いてあるファイルと実際の内容が違うのか・・・ってところですかね。
モジュールの依存関係のファイルを作成してくれるコマンドがあったと
思ったんですが、名前を失念しました。うー
0009SRVNGNG
おのれカーネル、、、やっぱり大失敗でした。
7で"とりあえず"と書いたのが本当になってしまったよう
で、再起動したが最期、2度と新カーネルはブートされません
でした。Loading linux(新カーネルのラベル)....の直後に
画面が真っ暗になり、POST(っていうんでしたっけ。ハード
ウエアの情報が表示されるやつ)に戻り、Loading linux...
と繰り返されます。

>モジュールを作ってないのか、

助言ありがとうございます。man depmodによると、
depmodが依存関係を記述したファイルを作ってくれて、
それを基にmodprobeが適切なモジュールをロードする
ような事が書いてありました。
一応、/usr/src/linuxで
make modules
make modules_install
とやって、 /lib/modules/2.0.36/以下にモジュールが
出来ているのを確認してから
depmod -a していますが、例のエラーがでます。
という事は、
>モジュールの依存関係が書いてある
>ファイルと実際の内容が違うのか
そういう事かもしれないので、後で読んでみます。

申しわけありませんが、もう少し教えてください。
再構築を解説した文書には、「ノートパソコンを使って
いる場合、kernel-pcmcia-〜〜も必要です」とか
書いてあって、実際に僕はノートパソコンなのですが、
昨日まで入れた事がありません。それで全く問題なく
動いていましたが、素直に入れるべきなのでしょうか?
御教示お願いいたします。
0010あてずっぽうくんNGNG
unresolved symbol(s) ですが、あたらしい
kernel で起動して
depmod -a
で出るなら問題だとは思いますが、たとえ
そういったメッセージが出たところで kernel が
起動しない、もしくは動作中に hung する、
といったことはないと思います。

で本題の kernel が起動しない、という問題ですが
panic するのですか?
ぼくの経験では kernel に問題がある場合、panic を
起こして止まってしまい、Ctrl + Alt + Delete
しないかぎり、とまったままだったような気がします。

kernel ではなくて lilo.conf に問題があるように
思えるのですが、どうでしょうか?

0011名無しさんNGNG
私はいつも make modules の前に
/lib/modules/[カーネルバージョン]を全削除してますよ。

そうすれば make modules後、 /lib/modules/[カーネルバージョン]内には
新しいカーネルが本当に必要としているモジュールしかない事になるので
ソレ系のエラーは出ません。

おれのこのやり方間違ってる?
なんかこのスレッド読んでたら不安になってきた
(ちゃんと動くからいいけど)
0012いまさらだけどNGNG
# rpm -ivh vineについてきたカーネルの.srpm
やって kernel.spec を読んでほげって
# rpm -ba kernel.spec
やってみれば?
0013SRVNGNG
おつき合い頂き、有難うございます。
もしかしたら僕はとんでもない間違いを犯しているかもしれません。
僕のやってる手順はこんな感じです。先程おこなったもので、
再インストールした後なので、クリーンな状態からの作業です。

・kernel-source-2.0.36-3vl3.i386.rpmをinstall
・/usr/src/linux/Makefileの"#INSTALL_PATH=/boot"の
コメントをはずす(Redhat系ではこれが推奨されてました)
・make menuconfig
・/lib/modules/2.0.36-3vl.3をまるごと削除
・make dep clean bzImage
(ここから先が憂鬱になってきた)
・cp arch/i386/boot/bzImage /boot/vmlinuz
・make modules modules_install
・/etc/lilo.confに追加
--------------------
image=/boot/vmlinuz
label=new
root=/dev/hda3
read-only
--------------------
(続く)
0014SRVNGNG
・/sbin/lilo (ここでもエラーはありません)
・/sbin/reboot

これで、前回と同じ結果になります。
カーネルパニックになってるかどうかは、わかりません。
というか、カーネルパニックが何なのかを知りません。
前回、かなり誤解を招く書き方をしてしまいましたので
もう一度ありのままを書きます。
普通、"Loading <label>"のあとにズラズラとメッセージが
表示されますよね?あれが出ません。
"Loading new..."の後、そのまま3秒程止まって画面が暗転し、
電源を入れた時の画面に戻ります。そしてまたLILOの
プロンプトが出て、また止まって、、、の繰り返しです。
とりあえず、上記の手順は問題ないでしょうか?
「おいおい、それじゃ何度やったって駄目だよ」って
いう点があれば教えてください。

#むしろ、この時点で決定的な間違いが発覚することを期待してますが、、、
#せっかくなので、このさいrpmではなくて、勉強がてら
#汎用性のある方法でやってみたいとおもいます。
0015名無しさんNGNG
>・make menuconfig

この世界にも依存関係とかあるぢゃないですか。
これを(Y)にしたらこいつも(Y)にするべし・・・とか
(M)でもいいけどmoduleが読み込まれる前にそれが必要になる場合も
あるから(Y)が吉とか。
そういうことではないのかなぁ。
0016あてずっぽうくんNGNG
> 11
/lib/modules/kernel-version を消すのはこわいんで、
ぼくは
mv /lib/modules/kernel-version /lib/modules/kernel-version.old
とかやってます。

13> make dep clean bzImage
これはやばいんじゃないですか?
少なくとも
make dep && make clean bzImage
とやらないと、make dep の結果が make に反映されない、
という話が linux-users ML で流れていませんでしたっけ?

0017SRVNGNG
毎度皆様、ありがとうございます。

--make menuconfigに関して--
>これを(Y)にしたらこいつも(Y)にするべし

これ、あからさまな設定間違いだと
make depの時点で怒られるんですね。一度ありました。

>(M)でもいいけどmoduleが読み込まれる前
>にそれが必要になる場合もあるから(Y)が吉とか。

ヘルプの和訳版を読んでみました。
http://www.linux.or.jp/JF/JFdocs/Configure.help/
念のため、再構築前の現在使ってるカーネルと
全く同じ設定で試してみても、やはり起動しませんでした。

>>make dep clean bzImage
>これはやばいんじゃないですか?

ごめんなさい!!無知なくせして省略してしま
いました。実際は、
・make dep
・make clean
・make bzImage
と順番に確認しながら作業してます。失礼しました。
あのやり方って、HOW-TOものの文書に書いてあった
んですが、あまり鵜呑みにしないほうが良いみたい
ですね。

ところが、、、、、
昨日、linux-2.2.14.tar.bz2をダウンロードして今まで
と同じような手順でインストールすると、あっけなく
2.2.14でブートできました。depmod -aの結果も、
userlink.oについてのみ文句を言ってくるのみで、
userlinkを
"rpm --rebuild <SRPM>"
してインストールすると解消されました。
ppxpが反応無しという問題はありますが、本題のkernelが
ブートしないという現象は起きませんでした。何故、
2.0.36では駄目だったのでしょうかねぇ。
■ このスレッドは過去ログ倉庫に格納されています