[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gentoojp-users 416] Re: cloop.o



山倉です。

From: Hajime Tanaka <BYH01337@xxxxxxxxxxx>
Subject: [gentoojp-users 415] cloop.o(Re:ppc版_OldWorld機用の起動CD)
Date: Mon, 21 Jul 2003 03:48:07 +0900

>  ダウンロードしたイメージをマウントしますとふたつのボリュームが
> デスクトップ上に現れました。GentooPPC_1.4_rc7とCDROMという
> 名前でした。フォーマット形式が異なっていますがこれらの中身は同一と
> 考えてよろしいのでしょうか。HFS形式である前者を編集し、CDに焼いて
> 使用しております(LiveCDとはこれを指すと思ってよいでしょうか)。
>  この中にありましたカーネルvmlinuxは起動時に画面に現れたメッセージから
> 2.4.21-ppc-r1だと分かりました。

確認の意図は、「そのカーネルにはdevfsなど必要な機能が組込まれています
か」です。LiveCD(Gentoo.orgが配布しているisoイメージのことを言っている
つもりです)のカーネルをそのまま使っているなら、YESと言えます。


>  19行目に
> mount -t iso9660 -r $CDROM /mnt/live/mnt/cdrom >/dev/null 2>&1
> とありますが、自分が作成するCDはhfs形式ですので
> mount -t ihfs -r $CDROM /mnt/live/mnt/cdrom >/dev/null 2>&1
> とあらためました。また、どの段階でエラーが発生するのかを調べるため

私はMacについてほとんど知識がないので逆に教えてほしいのですが、そのCD 
は本当にHFS形式なのでしょうか? そのCDを -t hfs でマウントできますか?

ちなみに、Gentoo.orgから持ってきた gentoo-ppc-1.4_rc7-kde.iso は、名前
のとおりISO9660形式です。


> ふたつめにはなぜcloop.oが
> 当方の環境で動かなかったのかという点について(環境によって引数がinvalidに

先のメールで「環境によっては」と書きましたが、「環境=カーネル」のつも
りでした。紛らわしくてすみません。つまり、自分でカスタマイズしたカーネ
ルを使っているなら、たとえば2.5系列のカーネルだとか、gcc2でコンパイル
されたカーネルだとか、という場合にモジュールのロードに失敗するかもしれ
ない、ということです。

ですが、LiveCDのカーネルであれば、当然そのような問題が発生する可能性は
排除されますので、cloop.oを作りなおす必要は無いでしょう。

本当にcloop.oを作りなおす必要があるとしたら、live.gcloop内にあるカーネ
ルモジュールも全部作りなおさないといけなくなる可能性が高いです。


>  結果として、最初に出されるエラーメッセージは
> insmod: init_module: cloop: Invalid argument
> であることが分かりました。ls -lによって/lib/modules/misc/cloop.oが

で、これなんですが、手元で確認してみたところ、file=で指定されているファ
イルが存在しないとこのメッセージが出ました。カーネルもモジュールも問題
ないし、これは実際に動いているスクリプトだし、なんでかなーと思っている
わけなんですけど、

>     if [ -d /mnt/live/mnt/cdrom/live.gcloop ]; then

この -d が気になるので、-e に変えて試してみるとどうでしょうか。x86の
LiveCDでは(_rc2のころのものですけど) -e になっていました。この判定が間
違っていて、マウントできてないのにcloop.oをロードしようとしている気が
します。


>  というわけで、山倉様にご指摘いただいたようにcloop.oを検討する必要が
> ありそうですが、残念ながらこの段階でつまづいております。とくに、ひとつに
> は具体的にモジュール、コマンドを作る手順、あるいはそれらに関するキーワード
> やコマンド名を教えていただきたいという点、

Gentooでやるなら、先のメールに書いたURLから必要なファイルを持ってきて
展開し、makeすればよいです。圧縮関係のライブラリ(zlib,ucl,lzo)が必要な
ら、どれもPortageツリーにありますのでemergeでインストールできます。ち
なみに、UCLで圧縮されています。

もうひとつ、若干古いですが、LiveCDを作るためのスクリプトを確認すること
もできます。
# emerge /usr/portage/app-admin/livecd-ng/livecd-ng-1.0.ebuild

-- 
山倉 真 / makoto@xxxxxxxxxxxxxx