ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
ディバイスドライバをハックしよう!
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
02/01/31 01:14ID:t3s191ys2login:Penguin
02/01/31 01:15ID:t3s191ys とりあえず、オライリーのお馬さん本2杯目へのリンク。
http://www.xml.com/ldd/chapter/book/bookindexpdf.html
http://www.xml.com/ldd/chapter/book/bookindexpdf.html
3login:Penguin
02/01/31 01:30ID:o+EauUH6 イーサネットドライバの仕組みが知りたいですわ。
02/01/31 01:32ID:WoiBhbQB
51
02/01/31 01:44ID:R8TIzJku あー、スマソ。ぼけてたです。
ついでに最新カーネル表示スレ
http://pc.2ch.net/test/read.cgi/linux/999618082/l50
USB総合スレ
http://pc.2ch.net/test/read.cgi/linux/1002630729/l50
最適NICスレ
http://pc.2ch.net/test/read.cgi/linux/986761860/l50
ついでに最新カーネル表示スレ
http://pc.2ch.net/test/read.cgi/linux/999618082/l50
USB総合スレ
http://pc.2ch.net/test/read.cgi/linux/1002630729/l50
最適NICスレ
http://pc.2ch.net/test/read.cgi/linux/986761860/l50
02/01/31 01:47ID:WoiBhbQB
是非とも、このスレを優スレにしたいなぁ・・・
公開されているいい関係資料を漁ってみよう。
公開されているいい関係資料を漁ってみよう。
71
02/01/31 01:47ID:R8TIzJku JFドライバ関係
http://www.linux.or.jp/JF/JFdocs/INDEX-hardware.html
おなじくカーネル関係
http://www.linux.or.jp/JF/JFdocs/INDEX-kernel.html
ちょっとネタスレだけどLinuxプログラミングスレ
http://www.linux.or.jp/JF/JFdocs/INDEX-kernel.html
http://www.linux.or.jp/JF/JFdocs/INDEX-hardware.html
おなじくカーネル関係
http://www.linux.or.jp/JF/JFdocs/INDEX-kernel.html
ちょっとネタスレだけどLinuxプログラミングスレ
http://www.linux.or.jp/JF/JFdocs/INDEX-kernel.html
8login:Penguin
02/01/31 02:02ID:igUBIfwm YAMAHA AC-XGをハクってください。
9login:Penguin
02/01/31 02:32ID:+4ZZMVcM02/01/31 10:02ID:+yS2cLhP
_IO マクロってみんな使ってる?
11login:Penguin
02/01/31 15:08ID:o+EauUH6 イーサネットドライバって、使われているチップに対してバスのメモリを解して
read/writeすればいいのかな?
read/writeすればいいのかな?
12login:Penguin
02/01/31 18:55ID:igUBIfwm13login:Penguin
02/01/31 23:21ID:o+EauUH6 やっぱ人気ねぇかなぁ。このスレ。
それともレヴェルが低いかなぁ。(アオリ
それともレヴェルが低いかなぁ。(アオリ
02/01/31 23:21ID:ZFCCqGEW
正直、こういう技術的なネタはここでは盛り上がらない。
02/02/01 00:30ID:Hb4Obm1B
じふぃーず ってどこまで短くしたことある?
みんなの体験談キボーン
とりあえずCPUクロックと併記よろしこ
みんなの体験談キボーン
とりあえずCPUクロックと併記よろしこ
02/02/01 00:45ID:0DxQaaOu
んじゃ、適当なソースでも引っ張って解説つけていくとか・・・
おもしろくないねぇ・・2chデストリ用に何かつくるとか・・・
おもしろくないねぇ・・2chデストリ用に何かつくるとか・・・
17login:Penguin
02/02/01 04:33ID:Dg5fN5Aj どうやってドライバを書くのかという英文をひらったぞ(゚Д゚)ゴルァ
一番単純なモジュール抜粋じゃー
#define MODULE
#include <linux/module.h>
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \n");
return 0;
}
void cleanup_module(void) /* Removes module from kernel */
{
printk("GoodBye Kernel\n");
}
モジュールコンパイルしろや
# gcc -c hello.c
モジュールロードだ
# insmod hello.o
出力は
Hello kernel
モジュールアンロード
# rmmod hello.o
一番単純なモジュール抜粋じゃー
#define MODULE
#include <linux/module.h>
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \n");
return 0;
}
void cleanup_module(void) /* Removes module from kernel */
{
printk("GoodBye Kernel\n");
}
モジュールコンパイルしろや
# gcc -c hello.c
モジュールロードだ
# insmod hello.o
出力は
Hello kernel
モジュールアンロード
# rmmod hello.o
02/02/01 04:56ID:Dg5fN5Aj
モジュールに引数わたしたけりゃ
static int baka;
MODULE_PARM(baka,'i');
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \nMODULE_PARM=%d\n",baka);
return 0;
}
insmod hello.o 1
とかしろ、
この{マ,チ}ンカスどもめ
static int baka;
MODULE_PARM(baka,'i');
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \nMODULE_PARM=%d\n",baka);
return 0;
}
insmod hello.o 1
とかしろ、
この{マ,チ}ンカスどもめ
02/02/01 05:17ID:Dg5fN5Aj
デバイスドライバには2種類ある
ブロックドライバとキャラクタドライバ
ブロックデバイスは塊単位としてしかアクセスできんデバイス
普通は1kごととかで
お前らの使ってるディスク装置とかがこれだ
キャラクタデバイスはファイルみたいにアクセスできてそういう世話
をするのが実装されとる。オープン・クローズ・リード・ライトシステム
コールが実装されていてコンソールとかパラレルポートとかが
これらしい。
ほんとかよ。お前ら間違ってたら教えろよ。
ブロックドライバとキャラクタドライバ
ブロックデバイスは塊単位としてしかアクセスできんデバイス
普通は1kごととかで
お前らの使ってるディスク装置とかがこれだ
キャラクタデバイスはファイルみたいにアクセスできてそういう世話
をするのが実装されとる。オープン・クローズ・リード・ライトシステム
コールが実装されていてコンソールとかパラレルポートとかが
これらしい。
ほんとかよ。お前ら間違ってたら教えろよ。
02/02/01 05:38ID:Dg5fN5Aj
順番むちゃくちゃに訳してたら、何で最初にシンプルなモジュール
の書き方が書いてあるのか説明してなかった。
linuxではデバイスドライバはinsmodをつかって
動的にカーネルに読みこんだりできるモジュールなんだそうな
>>17のinit_moduleは何をするんかつーとリロケートされたモジュールイメージ
がカーネルスペースにロードしてモジュールの初期化ファンクション
を走らすらしい
ところで、なあ、リロケート再配置ってなんじゃこりゃ
init_module loads the relocated module image into kernel space and runs
the module's init function.
英語だけでなく日本語も不自由なんじゃ(゚Д゚)ゴルァ
の書き方が書いてあるのか説明してなかった。
linuxではデバイスドライバはinsmodをつかって
動的にカーネルに読みこんだりできるモジュールなんだそうな
>>17のinit_moduleは何をするんかつーとリロケートされたモジュールイメージ
がカーネルスペースにロードしてモジュールの初期化ファンクション
を走らすらしい
ところで、なあ、リロケート再配置ってなんじゃこりゃ
init_module loads the relocated module image into kernel space and runs
the module's init function.
英語だけでなく日本語も不自由なんじゃ(゚Д゚)ゴルァ
02/02/01 06:29ID:Dg5fN5Aj
20 のモジュールイメージっつうのは具体的に何かっつーと
モジュール構造体で始まって、適切にコードとデータが連なった
もんらしい。
モジュール構造体は
struct module
{
unsigned long size_of_struct;
struct module *next;
const char *name;
unsigned long size;
long usecount;
unsigned long flags;
unsigned int nsyms;
unsigned int ndeps;
struct module_symbol *syms;
struct module_ref *deps;
struct module_ref *refs;
int (*init)(void);
void (*cleanup)(void);
const struct exception_table_entry *ex_table_start;
const struct exception_table_entry *ex_table_end;
#ifdef __alpha__
unsigned long gp;
#endif
};
nextとrefsを除く全部のポインタはモジュールのボディを指すように
期待されていてカーネルスペースのために適切に初期化される
例えば残りのモジュールなんかを再配置したりとかなあ。
日本語だけでなくコンピュータも不自由なんじゃ(゚Д゚)ゴルァ
意味わかんねえし
init_moduleと
cleanup_moduleの戻値は0が成功-1は失敗
-1のときはerrnoがセットされる。
...ズラズラとエラーコードの説明
一般的なドライバのコンパイルオプションは
-D__KERNEL__ _DMODULE -O -Wall -I$(INCLUDEDIR)
らしい
読み終わりました。
この文書だけでドライバが書ける奴は
居ないと思いました。終始モジュールの説明でした。
真面目にKHGを読もうかと思います。
http://www.linuxdoc.org/LDP/khg/HyperNews/get/khg.html
モジュール構造体で始まって、適切にコードとデータが連なった
もんらしい。
モジュール構造体は
struct module
{
unsigned long size_of_struct;
struct module *next;
const char *name;
unsigned long size;
long usecount;
unsigned long flags;
unsigned int nsyms;
unsigned int ndeps;
struct module_symbol *syms;
struct module_ref *deps;
struct module_ref *refs;
int (*init)(void);
void (*cleanup)(void);
const struct exception_table_entry *ex_table_start;
const struct exception_table_entry *ex_table_end;
#ifdef __alpha__
unsigned long gp;
#endif
};
nextとrefsを除く全部のポインタはモジュールのボディを指すように
期待されていてカーネルスペースのために適切に初期化される
例えば残りのモジュールなんかを再配置したりとかなあ。
日本語だけでなくコンピュータも不自由なんじゃ(゚Д゚)ゴルァ
意味わかんねえし
init_moduleと
cleanup_moduleの戻値は0が成功-1は失敗
-1のときはerrnoがセットされる。
...ズラズラとエラーコードの説明
一般的なドライバのコンパイルオプションは
-D__KERNEL__ _DMODULE -O -Wall -I$(INCLUDEDIR)
らしい
読み終わりました。
この文書だけでドライバが書ける奴は
居ないと思いました。終始モジュールの説明でした。
真面目にKHGを読もうかと思います。
http://www.linuxdoc.org/LDP/khg/HyperNews/get/khg.html
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】森保J 難敵 ベネズエラに2ー1逆転勝利 エース上田綺世が2ゴールの大活躍 [阿弥陀ヶ峰★]
- 成果強調2日後に「中国は同盟国」…トランプ氏の掌返しで露呈した高市首相の“深刻な読み違え”と「日中関係は1945年に戻った」 [ぐれ★]
- 【サッカー】日本に敗れたベネズエラ監督 PK獲得が一転PK献上の判定に不満爆発「私たちへのリスペクトを欠いていた」 [ゴアマガラ★]
- 50歳代の貯蓄中央値は単身120万円、二人以上世帯は700万円。40〜70歳代の貯蓄額を「世帯タイプ」で比べる [首都圏の虎★]
- 【🇯🇵】日の丸を傷つけたら処罰「国旗損壊罪」に日弁連が即時廃止求める「表現の自由そのものが失われかねない」 [少考さん★]
- 「大便がしたかった」…女子トイレに侵入したか 61歳男を現行犯逮捕…静岡・藤枝市 [少考さん★]
- 抱いて抱いて抱いて🩷んなりーた(・o・🍬)🏰
- 【悲報】亜月ねね先生宅に設置されていた謎の巨大カメラ、新調されておわる [398059782]
- 中国、高市政権に揺さぶり 王毅外相「日本が歴史問題で正しい態度を取れないなら日中関係の未来はない」 [668024367]
- 山尾志桜里「高市さんを批判する左の方々は、アメリカに媚びるなと言いながら中国は怒らせるなと言う」 [834922174]
- いちごポッキーのコーティング、限界突破wwwwwwww 👉 [153490809]
- 進化する国税調査「不正は必ずばれる」国税庁導入の新システムKSK2、DX化、AIも導入 [943688309]