☆Linux カーネルの仕組みを勉強するスレ☆
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/10/02 17:44ID:38KkZsUQカーネル全般について語り合うスレッドです。
0500login:Penguin
02/10/20 21:53ID:g68BLgUdなにをいっておるのか.カーネルをヨム.こんな悦楽は他にはない.
ヨムだけで飽き足らなくなったらカイてみるのだ.
カイたコードがパニックしてみろ.射精する.
コードをカクのは極楽だあ.セックスだあ.
..では今夜も逝ってくる.
0501login:Penguin
02/10/22 20:14ID:AiS+bb4wLinuxのカーネルなんかよりも、綺麗なネエチャンとHする方が絶対いいと思う。
つーか、Hするよりも、Linuxのカーネルに触れたいと思う香具師っているの??
0502login:Penguin
02/10/22 20:21ID:nhAAklvzそりゃ居るだろうよ。
世の中Hするのが面倒って香具師もいるし。
0503login:Penguin
02/10/22 21:16ID:JDhHENtH0504login:Penguin
02/10/23 16:12ID:Y8yrR3XD0505名無しさん@Emacs
02/10/24 00:42ID:bb9TFS/Q0506login:Penguin
02/10/24 01:00ID:ET3a/VkV0507login:Penguin
02/10/24 19:57ID:b/KVmODiだけど、四六時中できるもんじゃないし、それだけじゃ、時間が余ってしまう。
だから他の楽しみを見つけるわけだ。音楽でも映画でも、ゲームでも何でもいい。
Linuxだって、いっぱいある楽しいことの中のひとつ。
0508login:Penguin
02/10/26 01:12ID:rW1xbOyc0509login:Penguin
02/10/26 06:57ID:D0xVkV9N0510login:Penguin
02/10/26 15:04ID:UK314aqBそういう質問しないでくれ
0511login:Penguin
02/10/26 16:27ID:hpgBvCrL0512login:Penguin
02/10/27 04:11ID:9Wnyh1Y2Pスレッドで作ってもなんかプロセスが見えるんだけど
そういうもんだっけ?
0513login:Penguin
02/10/27 10:33ID:67Tkky68cloneで作ってるなら見える。
linux-threadはclone使うし。
0514login:Penguin
02/10/27 20:02ID:9Wnyh1Y2(゚∀゚)サンクスコ
Pスッドレは中でclone呼んでるっぽいし
しょうがないのか
0515login:Penguin
02/10/29 06:45ID:JuHHTy9a・開発初期のg++コンパイラが良くなかった。
・今から書き換えると、(コードの行数を作業時間で割って)とてつもなく無駄だ。
と言う理由らしいのは周知かと思いますが、
実際仮にC++でこれから書いたとしたら、どうなりますか。
実行速度や、開発のしやすさとか、いろいろありますが。
(質問が抽象的でゴメソ)
0516login:Penguin
02/10/29 07:58ID:U+AOr944http://sourceforge.jp/projects/higepos
0517login:Penguin
02/10/29 14:33ID:rOSc35bhのパッチって、何に当てるんですか?
2.4.20にあてるのかとおもったけど、まだでてないよ
2.4.19にあてるの?
0518login:Penguin
02/10/29 14:40ID:kF5lRjj20519login:Penguin
02/10/29 14:54ID:3y33Wm74ノーミソにでも当ててなさい。
0520login:Penguin
02/10/29 14:59ID:rOSc35bhヒントお願いします
0521login:Penguin
02/10/29 15:08ID:3y33Wm74-preのイミをかんがえろ。
ここは勉強スレであって質問スレではない。
0522login:Penguin
02/10/29 15:27ID:rOSc35bhpre=前
だから、pre20だったら20個前、pre1ならひとつ前=最新
ということ?
0523login:Penguin
02/10/29 15:52ID:kF5lRjj22.4.20は出てないけど、
2.4.20-preは出てる。
0524login:Penguin
02/10/29 16:17ID:U+AOr9440525login:Penguin
02/10/29 16:29ID:bTPS0Lxn何とも言えん。
Tcl/Tkのバージョンが上がったとかじゃないのか?
…あと、開発版カーネルで文句があるならさっさとバグレポートしてcontribute。
0526login:Penguin
02/10/29 16:36ID:rOSc35bh2.4.19のソースに2.4.20-pre*を当てるってことか
0527名無しさん@Emacs
02/10/29 16:49ID:7wlFWLa1では 2.4.20-rc* はいかがなさる?
ttp://linux.bkbits.net:8080/linux-2.4/[email protected]?nav=index.html|ChangeSet@-1d
0528login:Penguin
02/10/29 17:28ID:rOSc35bhそんなのないじゃん
rc*って出てるやつにあたるんじゃないの?
0529login:Penguin
02/10/29 18:25ID:F8Jhdnomrc の意味を考えてみレ.それとさぁ >>527 のリンク先見たの?
0530login:Penguin
02/10/29 18:32ID:rOSc35bh見たよ。
rcってのもpreと同じく一つ前のにあたるってこと?
0531login:Penguin
02/10/29 18:37ID:rOSc35bh0532login:Penguin
02/11/02 09:32ID:HLU1eDtI0533login:Penguin
02/11/02 16:08ID:bV/vZkvY世の中は三連休。リナックスで仕事してる漏れは幸せだね。畜生!
0534login:Penguin
02/11/02 16:58ID:Dd2p8WWe0535login:Penguin
02/11/03 23:04ID:I26+7MmpProduct 3CCFE574BT
をサポートするカーネルのヴァージョンが知りたいのですが
いろいろ調べたのにわかりませんでした。
ちなみにSlackware 3.5.0 Ker.2.0.2 です。
0536login:Penguin
02/11/03 23:18ID:YjxntTz6スレ違いな気もするが…
まずは対応しているpcmcia-csを調べろ。
カーネルはたぶん2.2以降。
0537login:Penguin
02/11/03 23:32ID:I26+7Mmp0538login:Penguin
02/11/03 23:51ID:eky+Yott手元の pcmcia-cs 3.2.1 の SUPPORTED.CARDS によると
3c574_cs.o で使えるよ。
0539login:Penguin
02/11/03 23:54ID:YjxntTz6そいつのドライバが入ってるのは、pcmcia-csだから、
そっちからあたった方がいいよ。
2.4ならkernel pcmcia-csで対応してると思うが。
0540login:Penguin
02/11/05 18:27ID:Mw3FkA2fRedHat7.2上でデバイスドライバを作っていて、それを最近リリースされた
RedHat8に移植しようと思っているのですが、何故かコンパイルが
通ってくれません。
自分のソースに不具合があるのかと思い、
ttp://ime.nu/www.hemamu.com/dev/linux/pci/index.html
で公開されているソースをコンパイルしようとしましたが、
それでもできませんでした。
どなたかこのような不具合の解決方法をご存知でしたら、
ご教授下さい。
0541login:Penguin
02/11/05 18:36ID:5JSfVnImたまにあるけど、構造体の定義が変わってるとか。
kernel-headerをインストールしてなかったと言うオチは禁止。
0542login:Penguin
02/11/05 18:41ID:aQPE60cCかなり落としてしまいますが、kernel-headerの意味が
わかりません(´д`)
たぶんOSのインストールの際の事だと思うのですが…。
現在のシステムは7.2からのアップグレードで、
少し不安があったのでフルインストール(Up Grage)
しました。
0543login:Penguin
02/11/05 20:14ID:D2HLArIF(´・ω・`)
0544login:Penguin
02/11/05 20:18ID:Kq5dWAfBRed Hat 7.2 までは kernel-headers パッケージが存在したのだが、
Red Hat 7.3 以降では無くなってしまった。
代わりに kernel-source パッケージをインストールして、
/lib/modules/バージョン/build/include/ にあるカーネルヘッダを使え。
/usr/include/linux/modversions.h も見れ。説明が書いてある。
0545login:Penguin
02/11/05 23:12ID:Unrjw0pxであれば、原因しぼれるでしょ。動きませんなら少し難しいけど。そんなファ
イル無いとか、そんなstructのメンバ無いとか、そんなのとちがう?
0546login:Penguin
02/11/05 23:20ID:f6UdnBSq0547login:Penguin
02/11/05 23:30ID:iivfSIhpええ、struct inode やstruct file
などのファイルがないと、いわれました。
それだけではなく、file_operationの構成も
違うって怒られました。
その他あげたらきりがないです(爆
エラーの予想は付いていたのですが、OSのインストールの際にも
Kernel開発用のパッケージをインストールしたのですが、
それでもダメでした。
0548login:Penguin
02/11/05 23:40ID:zerF/jtCkernel-source パッケージはインストールした?
/usr/src/linux-2.4 を/usr/src/linux にシンボリックリンク張ってる?
0549login:Penguin
02/11/05 23:43ID:iivfSIhpあります。
ちなみに7.2でコンパイルしたデバドラを
-f オプション付きでinsmod したら組み込むときに
文句をいわれましたが、正常に動作してくれました。
0550login:Penguin
02/11/05 23:47ID:5JSfVnIm/usr/src/linux/include/asm
ある?
なかったら、そこでカーネルを一回作る。
0551login:Penguin
02/11/05 23:48ID:iivfSIhpしかしMakefileなどを使って自動的に
インストールできるようにしたいので、
コンパイルの必要性が出て来たのです。
0552login:Penguin
02/11/05 23:51ID:iivfSIhpすいませんが、今すぐには確認できません。
そこでKernelを一回作るというのは、現在の
Kernelを再構築する、ということでよろしいのですよね?
そうするとasmディレクトリが構築される、
と言う解釈でよろしいでしょうか?
0554login:Penguin
02/11/06 00:02ID:yIb370Cfmake configですね。
では試してみます。
ありがとうございました。
0555login:Penguin
02/12/18 21:52ID:2+/TSmSdカーネルを全然知らない香具師がデバイスドライバを作ったと主張
する珍妙なスレであった。
0556login:Penguin
02/12/18 23:47ID:cj+DVOLQ0557Tovacox
02/12/19 00:00ID:D9IEsFe0とりあえずカーネルの中身を見るときなどは、
なぜか。
%emacs kernel/sched.c
って打ってしまいます。。。
0558login:Penguin
02/12/19 00:22ID:bALO5RwSinit/main.cだったと思います。基本ですね。
最初に読んだのは1年以上前なので、よく覚えてないなー。
最近はarch/某archとかinclude/asm-某archしか見てません。
0559login:Penguin
02/12/22 14:09ID:ouHor4+lgrep -r cache kernel
だったかと。
いやね、freeで表示されるbufferとcachedの違いがわからなくてさ。
0560login:Penguin
03/01/05 01:38ID:CxZrKX7YKernel構築してるんですが、ほとんどmoduleにしたらbzImageが2MB位。
そのmoduleってどこにあるんですか?
0561login:Penguin
03/01/05 02:25ID:bcfTdkeOくだ質で聞け。
0562login:Penguin
03/01/05 18:21ID:qGyrapmdどうして2Mもいくのかが不思議だ、、、
0563login:Penguin
03/01/05 18:39ID:CxZrKX7Y0564login:Penguin
03/01/06 02:25ID:polLPkwqカーネルを間違って、削除してしまいました・・・(TT;
(ファイルを整理していたら、誤ってrm /* を実行してしまったようです。)
カーネルを修復する方法はありますでしょうか??
当然の如く、再起動したらカーネルが見つからないと言われ、起動できなくなってしまい。
WEBで調べましたが、再構築の情報ばかりで、削除してしまった場合の対処方法はあまり載ってませんでした・・・
重要なデータが残って、仕事に影響が出るので、再インストールは避けたいのですが、
すいません、助けて下さい。。。
0565login:Penguin
03/01/06 02:40ID:+ybouD2Iスレ違いじゃなくて板違い
http://pc.2ch.net/unix/
rootでファイル整理か。おめでてーな。
0566login:Penguin
03/01/07 16:55ID:YuiOuLjnhttp://pc.2ch.net/test/read.cgi/linux/1033652217/l50
0567login:Penguin
03/01/09 02:42ID:2Y8NA8K90568login:Penguin
03/01/09 04:13ID:qciTMwbB0569login:Penguin
03/01/13 21:12ID:+j4oRwV/どうしてもチェックが入りません。なんで?
0570login:Penguin
03/01/13 22:30ID:oIjkg+Y+CONFIG_EXPERIMENTALを有効にしないとダメらしいが。
0571login:Penguin
03/01/13 23:53ID:+j4oRwV/くだらないこと聞いてスマソ。。。
0572山崎渉
03/01/15 11:22ID:dWXij4Sa0573login:Penguin
03/01/17 22:57ID:quy9Xyzw〜 エンタープライズ向けに刷新されたカーネル・コア 〜
http://www.atmarkit.co.jp/flinux/special/kernel26/kernel26_01a.html
0574login:Penguin
03/01/17 23:37ID:eB0uQzq3未来の日付が。。。
0575login:Penguin
03/01/18 01:25ID:xFnceJeMあそこはいつも翌日の日付を付けてるみたいだ。
こまかいことは気にせず、まぁ読んでみ。
あ、図が動いてる。
0576login:Penguin
03/01/20 12:36ID:+ihWiA7A0577login:Penguin
03/01/26 14:47ID:/P1ziCIbhttp://slashdot.jp/linuxkernel/03/01/23/0722212.shtml?topic=2
Understanding the Linux Kernel, 2nd Edition(第二版です)
http://www.oreilly.com/catalog/linuxkernel2/
0578henoheno ◆g2j80BX5do
03/02/05 04:36ID:az2yyDu5MINIX, Linux 0.x / 1.x, ITRONの様な、主に参照しにくい
ソースをCVSリポジトリに入れてWWW上で公開しています。
CVSリポジトリの実体も別の場所で公開しています。
学習・実験用にご自由にお使い下さい。
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/
※上記にある全てのリポジトリは下記ツールのための
テストビルドであり、正確さを保証するものではありま
せん
ttp://cvsknit.sourceforge.net/
0579554
03/02/10 09:52ID:XA+hpjDH今日久々にコンパイルの問題を考えてみました。
するとnetでgccの代わりにkgccを使えばいいとあったので
つかってみたら、何の問題もなくコンパイルできました。
カーネルを全然知らない香具師のぼくには、何でかの原因は
わかりませんが、とにかく解決してよかったです。
以上報告終りです。
0580login:Penguin
03/02/10 11:16ID:Ytep6YkN赤帽ですか。
gccのバグに引っかかって失敗すると言うやつですな。
0581login:Penguin
03/02/22 01:02ID:Aw4V0i4X〜 サポート・アーキテクチャ/デバイスの拡充 〜
http://www.atmarkit.co.jp/flinux/special/kernel26/kernel26_02a.html
0582login:Penguin
03/02/22 05:16ID:IqNw328W最近カーネルの勉強をし始めました.バージョンは2.4.18です.
手始めにprocファイルシステムのインターフェースを使って,
タイムエポックからの経過時間を読みとるモジュールを書こうと思っています.
で,時間に関するグローバル変数xtimeの定義を調べると,
/usr/src/linux/include/linux/sched.hにexternで外部参照しています.
http://lxr.linux.no/source/include/linux/sched.h?v=2.4.18#L576
これはどこのやつを参照しているのですか?
/usr/src/linux/kernel/timer.cのやつでしょうか?
http://lxr.linux.no/source/kernel/timer.c?v=2.4.18#L35
timer.c:35 struct timeval xtime __attribute__ ((aligned (16)));
というか,カーネルヘッダファイルの変数はexternで参照しているやつが多いですが,
それは何か理由があるのですか?
0583login:Penguin
03/02/22 06:21ID:OJUfFhm2そこで正解。
基本的にカーネル内は一つの名前空間で作るので、どこのxtimeもそこを参照します。
> それは何か理由があるのですか?
.h といえば extern か static inline だろー。それ以外に何を期待したの?
0584login:Penguin
03/02/22 15:40ID:RdpbwtMM>583
>.h といえば extern か static inline だろー。それ以外に何を期待したの?
externは「参照」であって「定義」ではないわけですよね.
なぜヘッダファイルでexternをつけないで「定義」していないのかなあと思いまして.
__attribute__で16バイト境界にxtimeを割り当てるのは.hファイルではできないとか?
static inlineって普通のstaticとどう違うのですか?
0585login:Penguin
03/02/22 19:31ID:U6el7RufまたアニメーションGIFが使われとるね。
後編が楽しみage
0586login:Penguin
03/02/22 20:48ID:mMuNz1JWそもそもexternなんて付けなくてもいいんだから。
けど一応付けとくのが作法とされてるだけでは?
0587>586
03/02/22 22:05ID:kUvFWPe5何も付けずに外部変数を宣言→実際にその変数のために記憶領域を割り当てる=定義
externをつけて外部変数を宣言→その変数のために記憶領域を割り当てない=参照
というのがルールですよね?
その意味で付けると付けないのとは全く意味が違うと思うのですが・・
(実際にminixではEXTERNというマクロを宣言して区別しています)
それともLinuxは特別なルールがあるのでしょうか?
0588login:Penguin
03/02/22 22:57ID:VOGO6EsT.hの中で実体を定義すると、二ヶ所でインクルードした時悲劇がおきます。
と言うことでいいのかな?
気にした事ないけど、.hでは実体を作らないルールなんでしょうね。
0589>588
03/02/23 01:52ID:6VcEAka+そうなのですか.ありがとうございました.
実体の定義が一カ所にまとめられていないのを初心者なので何となく気持ち悪く思って.
ここの掲示板は親切に答えてくれる人が多いのでいいですね.
他に日本語でカーネルに関するページ
(JFなどの一般的な情報ではなく疑問を掲示板などで活発に議論しているところ)
を教えていただけると嬉しいです.
0590login:Penguin
03/02/23 20:25ID:7b0qPt9Mそのexternの行はきっと参照ではなく宣言です。プロトタイプ宣言。
宣言は .h に
定義は .c で .hをインクルード(このときexternは嘘だが無視)
参照は .c で .hをインクルード
だろー。
なおstatic inline は、externに定義/参照されない真のinlineですよ。
だから 実体を定義をしてはいけない .h 内に書いても大丈夫。
>>587
嘘を無視なのでEXTERNはつかわないみたい。
ただし、extern inlineの場合は一箇所で定義して、他で参照しないといけな
いので、EXTERN_INLINE をdefineする例があるみたい。asm-alphaあたり参照。
0591login:Penguin
03/02/23 20:27ID:7b0qPt9Mあ、「linuxのカーネルでは」という話ね。嘘を無視するかどうかは特に。
0592>590,591
03/02/23 23:24ID:OBPg6wzG実体定義を同じモジュールでやるということですよね?
0593login:Penguin
03/02/24 00:53ID:7yiUwah3うん。そういう意味(外と宣言しておきながら中で定義をする)で使ったの。
Cの仕様もgccの仕様も読んだことないので、正しくないのかどうかは知らないの。
0594login:Penguin
03/02/24 16:17ID:sjK/nEKgありがとうございました.
0595login:Penguin
03/02/25 23:59ID:o0sc4vrn0596login:Penguin
03/02/26 05:17ID:xM3Oh9Db自分で書いたコードより以前のヘッダファイルで大量のエラーが出ます.
kernel-sourceもkernel-headersもあるし,includeファイルもリンクされているのですが・・
(以下statの出力の抜粋)
File: "/usr/src/linux" -> "linux-2.4.18"
File: "/usr/include/asm" -> "../src/linux/include/asm"
File: "/usr/include/linux" -> "../src/linux/include/linux"
何かファイルがないのかと思い,試しにカーネルをコンパイルしてみましたが,
何の問題もなくカーネルイメージを作成できました.
ネットで調べてみましたが,コンパイルでつまずくことはあまり無いらしく,
原因を突き止められませんでした.
また,ネット上のカーネルモジュールのサンプルコードを使ってコンパイルしたときも
ヘッダファイルに大量のエラーが出て,コンパイルできませんでした.
考えられる原因は何でしょうか?
どうか宜しくお願いします.
0597login:Penguin
03/02/26 06:20ID:aNK4cICnすいませんでした.あまり本は信用できませんね.
ってか,シンボリックリンク張ってるのになぜ??
0598login:Penguin
03/02/26 06:26ID:awPWSoM5$ man gcc
$ info gcc
0599login:Penguin
03/02/26 22:59ID:5ThntVhsマニュアルは質問する前に読みました.
問題は"/usr/include/linux" -> "../src/linux/include/linux"
というシンボリックリンクが張られているにも関わらず,
gccで-Iオプションを付ける必要があったということなんですが・・
0600login:Penguin
03/02/27 00:58ID:1e6KPqQp■ このスレッドは過去ログ倉庫に格納されています