お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-03-30 12:12:50

yamada
新しいメンバ
登録日: 2009-03-30

kernelのpatch

インターネットで「LINUXでOS9のRBF(ランダムブロックファイル)形式のフロッピーディスクが読める」
という記事を見つけ、ubuntu8.04をインストールしました。

http://www.osadl.org/RBF-File-System.rbf-file-system.0.html

上の記事によれば、kernelにpatchを当てなければならないらしいのですが、権限がないと言うことで
patchファイルをkernelフォルダに入れることができず、先に進めません。kernelのpatch方法について
ご存じの方がありましたら、ご教示下さい。

(当方、全くの初心者です。)

オフライン

 

#2 2009-03-30 12:48:01

hir0
メンバ
登録日: 2008-09-28

Re: kernelのpatch

$ sudo su
でrootになればファイル操作の権限の問題は解決です。

インターネットで「LINUXでOS9のRBF(ランダムブロックファイル)形式のフロッピーディスクが読める」
という記事を見つけ、ubuntu8.04をインストールしました。

linuxで一括りされていますがUbuntu8.04がデフォルトで対応出きるかどうかが問題です。

とりあえず
# cd /usr/src/linux-2.6 の箇所を 
# cd /usr/src/linux-headers-2.6.**-*-generic
お使いのカーネル名に変更して、後は説明どうりに順にコマンドを打って行けば問題ないです。
バージョン番号は

uname -r 

で表示されます。

考えられる不具合はシェルスクリプトの実行でエラーが出る、(当方、全くの初心者です。)でコマンドミスで気付いた時には収集のつかない状態に、カーネルにパッチを当ててカーネルパニック=OSが起動しない等。

Ubuntuで出来ると言う記事が有れば良いのですが
Linux=OK   =    Ubuntu=OK   の図式は当てはまることは殆ど無いですよ。
すんなり行けばラッキーで微妙な調整?変更が必要になるかも。

最後の編集者: hir0 (2009-03-30 12:59:25)

オフライン

 

#3 2009-03-30 15:12:30

yamada
新しいメンバ
登録日: 2009-03-30

Re: kernelのpatch

hir0さん

ありがとうございました。権限の問題は解決しました。

おっしゃるとおりシェルスクリプトでエラーが出ました。
rbf-patch.sh: 14: function not foundというエラーでした。

どこを修正すればいいかおわかりになりますか?
あるいはどの行でエラーが生じているかを知る方法がありますか?

オフライン

 

#4 2009-03-30 20:16:10

STGSAGWAN
ゲスト

Re: kernelのpatch

yamada さん

問題の趣旨とはかなり外れますが、以下興味が無ければ聞き流してください。

RBF形式のフロッピーを読む目的の為だけに、実際のPCのUbuntuのkernelにパッチを当てるのは、実益よりもリスク・管理コストの方が大きいのではないかと想像します。

そこで、より安全で楽な方法の1つとして、仮想PC環境を作り、ゲストOSとしてUbuntuをインストールし、そのUbuntuのkernelにパッチを当てるのがよいと思います。

RBF形式のフロッピーを読みたい時だけ、仮想的なゲストOSを立ち上げ、それを使って読むのです。
こうすることで、普段使いのUbuntuのバージョンが上がったとしても、パッチを再度当てる必要はありません。
そのままゲストOSを使いつづければよいのですから。

初心者でいきなり仮想PCなんて無理と思われるかもしれませんが、ネットには資料が沢山あるので、そんなに難しくはないはずです。
頭の片隅に置いておくと良いかもしれません。

最後の編集者: STGSAGWAN (2009-03-30 20:31:58)

 

#5 2009-03-30 22:22:36

hir0
メンバ
登録日: 2008-09-28

Re: kernelのpatch

全体では
1行目に -x  を付けて
#!/bin/bash -x
で実効してみる。

部分的には構文を
set -x
set +x
で囲む。

#で不要な部分をコメントアウトする。

最低限必要な知識は何らかのプログラミング言語の基本的な構文と条件式が分かること、linuxに用意されているコマンドが分かる、もしくは調べれる事、linuxのファイルシステムや環境設定等が漠然とでも理解し、自分で問題点をある程度調べられる事。
以上が分からないと(その程度でも)とても先に進めないですよ。
きっと一つエラーを獲ると次のエラーが待ち受けています。それを一つずつ消しても最後に正常に作動するかは曖昧です。

ちなみに私は上記にある(その程度)です。

-----------------------------------------
#6の書き込みが有りましたので一部訂正します。

STGSAGWANさんの意見に全面的に賛成です。-.> [訂正] #4のSTGSAGWANさんの意見に全面的に賛成です。
作業を続行するのでしたら仮想PC環境で行う方が良い。と言うより、そうするべきだと思います。
たしか2つメジャーなソフトが有るはずです。バーチャルPCと**ボックス、間違っていたらごめんなさい。

もし作業を続けるのでしたら出来る範囲での手助けはします。

最後の編集者: hir0 (2009-03-31 02:04:36)

オフライン

 

#6 2009-03-30 22:52:29

STGSAGWAN
ゲスト

Re: kernelのpatch

さらに脱線してしまいますが、ご勘弁を。

私は一概に「これは仮想PCでやるべき」とは思っていないです。

考え直しもあるので、先ほどの書き込みから、少しだけ考え方が変わってますが、次のような事も考慮しなければと思っています。

1. ハード面の制約
仮想PC環境の動作には、物理メモリは最低ギリギリで512+256=768MB以上、できることなら1GB以上を積んでないとキツいものがあります。

2. 仮想PC導入の敷居
先ほどは「簡単ですよ〜」なんて書いてしまいましたが、個人によりその感じ方も異なるかもしれないですね。

3. 目的の重要度
先ほどは「RBF形式のフロッピーを読む目的の為だけ・・・」と言う表現を使い、目的の重要度を軽視してしまうような事を書いてしまいましたが、個人によってその重要度も変わりますし、実機のkernelで素早くフロッピーにアクセスできることが重要かもしれません。

すみません、話がかなり逸れてしまいました。

最後の編集者: STGSAGWAN (2009-03-30 22:55:20)

 

#7 2009-03-31 04:46:51

yamada
新しいメンバ
登録日: 2009-03-30

Re: kernelのpatch

hir0さん、STSAGWANさん、ありがとうございます。

STSAGWANさん
仮想PCの件ですが、RBFを読むだけのために古いパソコンにubuntuを入れました。
普段使いは別マシンのwindowsなので、kernelが壊れてもインストールからやり直すつもりでいます。
初心者の私にとっては、仮想PCは新たな難関になってしまいそうです。


hir0さん
BASICやfortranなら学生時代に習ったので、プログラムがどういうものか理解できますが、
Linuxのコマンドについては全く知りません。インターネット上でLinuxのコマンドについて
平易に解説しているところがあれば教えていただけないでしょうか。

オフライン

 

#8 2009-03-31 08:10:15

koisan1949
メンバ
From: Hyogo, Japan
登録日: 2007-11-11

Re: kernelのpatch

yamadaさん Linuxのコマンド初級コースは、この解説がお薦めです。
http://www.linux-beginner.com/linux_command.html
簡単になら、$ man ○○ でUbuntuがマュアルを提示してくれます。

また、ちょっとしたチップスは、こちらが参考になります。
http://www.k5.dion.ne.jp/~r-f/sicklylif … tting.html
後は、専門書でも入門書を図書館なり、購入されるとよいと思います。
蛇足。。OS-9ですか、懐かしい。FM-11では没頭しました。

オフライン

 

#9 2009-03-31 11:28:19

jackalope
メンバ
登録日: 2009-01-01

Re: kernelのpatch

当方、全くの初心者です

道は険しいですが頑張って下さい。

カーネルをコンパイルする準備はできていますか?
できていないのであれば、こちらをhttps://help.ubuntu.com/community/Kernel/Compile参考にして環境を整えてください。

rbf-patch.sh: 14: function not foundというエラーでした

これはファイル名がrbf-patch.shでその14行目のfunctionが見つからないよっていうエラー。
エラーの原因はsh rbf-patch.shの
                  ^^ このshです。
bash rbf-patch.shでうまくいくはず。

# cd /usr/src/linux-2.6 の箇所を
# cd /usr/src/linux-headers-2.6.**-*-generic
お使いのカーネル名に変更して、後は説明どうりに順にコマンドを打って行けば問題ないです。

必要なのはkernel sourceでheaderではありませんよ。

考えられる不具合はシェルスクリプトの実行でエラーが出る、(当方、全くの初心者です。)でコマンドミスで気付いた時には収集のつかない状態に、カーネルにパッチを当ててカーネルパニック=OSが起動しない等。

カーネルパニックを恐れていてはカスタムカーネルは作れません。
Grubのメニューに正常に起動できるカーネルを1つ置いておけば何も恐れることはありません。

オフライン

 

#10 2009-03-31 12:34:24

hir0
メンバ
登録日: 2008-09-28

Re: kernelのpatch

yamadaさん心強いサポートが現れましたね。
後は実行してトラブルを提示すれば、有識な方のアドバイスが得られると思います。

オフライン

 

#11 2009-04-01 08:51:33

yamada
新しいメンバ
登録日: 2009-03-30

Re: kernelのpatch

みなさんありがとうございます。
少し進みました。

koisan1949 さん
仕事で使っている装置がOS9で動いています。フロッピーをコピーする間、
装置を止めなければならないので、代わりにパソコンでやりたいのです。

jackalope さん
参考になりました。
現在、1.環境の準備、2.ソースの入手、3.パッチの展開、4.シェルスクリプトの実行、まで進みました。

4.のシェルスクリプトの実行で、はじめ「sh rbf-patch.sh」を試したところ、
以前と同じrbf-patch.sh: 14: function not foundが出たので、
つづけて「bash rbf-patch.sh」を試したところ、
「.config is not found」というエラーが1つと、成功を示すメッセージが2つ出ました。

はじめの「sh rbf-patch.sh」で.config が失われてしまったのでしょうか?
.config は自分で用意するものなのでしょうか?

オフライン

 

#12 2009-04-01 11:16:22

jackalope
メンバ
登録日: 2009-01-01

Re: kernelのpatch

.config は自分で用意するものなのでしょうか?

.configはカーネルソースを展開してもありませんので自分で用意します。
どの様なカーネルを作るか料理で言うところのレシピの様な物かな。
今回は現在使っているカーネルの設定を使えばいいので、/boot以下にあるconfig-2.6.24-xx-yyyを.configとして/usr/src/linux-2.6.24/にコピーすればいいです。

オフライン

 

Board footer

Powered by FluxBB