探検


ディバイスドライバをハックしよう!

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
02/01/31 01:14ID:t3s191ys
ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
02/02/14 02:48ID:z04c7JYX
ディバイスドライバをファックしよう!
75BERO
垢版 |
02/04/02 18:12ID:zlzOuE7v
デバイスドライバの解説って
「デバイスにはchar型とblock型があって・・charデバイスの実装サンプル」
で終わってるのが多いんだけど、
実際はソレを生で使ってることは少なくて、サウンドデバイス、CD-ROMデバイス、FlashROMデバイス、ビデオデバイスとか
デバイスごとのフレームワークがあって、実際のハードウェアドライバはその下にくるようになってる。

実験機器や自作ハードで生のI/Oポートをたたけるだけでいい、ていうのならともかく、
(フレームワークが存在するような)一般的なハードウェアでは、このテのデバドラ解説ってのは参考にならない。
ファイルシステムドライバとかもこの範疇に入らないし。

みたところ各フレームワークの解説ってのはみあたんなくて、結局ソースにあたるしかない。
ところが既存のソースも、古いコードが残ってたり、そこからのコピペと思しき不要なコードが紛れ込んでたりして、
どれをリファレンス実装として参考にしたらいいのやら、って感じでアタマいたくなる。
76login:Penguin
垢版 |
02/04/05 22:06ID:swoFdSIN
>>75
本物?
02/04/05 22:15ID:CU/0IjiI
まぁ、アゲられついでに75さんにLinux界に伝わる格言を一つ。


「動けば正義」
02/05/08 17:01ID:kXDZWtdP
>77
VBプログラマに通ずるものがある(w
02/05/12 06:02ID:i/O/fiuU
>>77
イイ言葉だ....
02/06/25 11:32ID:h8q+RUm7
お馬さん本買ってきて、サンプルコードをftp.ora.comからダウンロード
しようと思ったのに、ftp.ora.comがつながんねーYO!
どなたかftp.ora.com/pub/examples/linux/drivers/の中身を
ミラーしていただけないでしょうか?
02/06/26 10:26ID:MG8jc7TY
すみません。ftp.ora.comにつながりましたので、>>80はなしにしてください。

これだけではなんなので、同じ壁に突き当たるかもしれない人へ:
お馬さん本のサンプルソースは、筆者のサイト
ftp://ar.linux.it/pub/ldd2/ からもダウンロードできます。
82login:Penguin
垢版 |
02/08/14 00:47ID:2q+/MEDi
age
02/08/14 00:52ID:udiJKVSV
あがりついでに...

>>78
>>77
>VBプログラマに通ずるものがある(w
「クソコードを見付けたら、書き直すチャンス!」ってのが
VBとの違いだな。
02/08/16 07:53ID:c0C09J9f
糞コードをハケーン!!

じっとガマンして保守に付き合うのはプロ
とっとと書き直すのはアマ
85login:Penguin
垢版 |
02/08/16 14:43ID:S24KMUAB
>>84
じゃあオレはアマチュアの方がいいや。
プロっていってもピンキリだし。
02/08/17 02:23ID:D5BAubdc
たとえ糞コードでも動いているものであれば余計なことをしないのが当然だろ。
元と全く同じ動作をしれば何事も無く済むが僅かでも挙動が変わったりバグが入ったりしたら
周囲に迷惑をかけることになるのだから、
勝手に書き直すようなまねをしでかすのはアマチュアか怖いもの知らずの無分別な若造。
02/08/17 03:47ID:L76cjPXx
サン電子U-cableP5のドライバはいずこ?
IOのケーブルはLinux対応してまっか?DDIに聞いたら
Linuxは独自のOSですので当社では判りかねます。
つーかWinはMS独自のOSだしMacもMac独自のOSでは?
製作者及び団体の数ではWinの方が独自性が強いと思うのですが
先生方!教えてくだはい
02/08/17 16:48ID:OXP9X1ng
おお、こんなスレがあったのか。
ちょっと感動……と思ったら

>>87
だから、自分でドライバを書けよ。
02/08/17 16:55ID:OXP9X1ng
仕事としてソース非公開なLinux用ドライバ開発なんぞをやってます。

>>75の言ってる事は同感。
drivers/char/serial.cなんかを見てると情けなくて泣きたくなってくる。
「動けば正義」は否定しないけど、「動いたら放置」ってのはちょっと
なぁ。

Linuxだと、なら「ならお前が書き直せ」ってことになるんだけど、正直
どこから手をつければいいのか、途方にくれるようなドライバが多すぎ
る。
02/08/17 17:21ID:MTVVTQyw
88>書ければWinでネットしません!
02/08/17 20:48ID:Zdf5lEt8
サン電子は「ドライバ書くので情報くれ」といってもくれない会社だから
どうしようもない。
02/08/17 23:46ID:IR8qSaOk
じゃIO・DATAさんでも良いよ。
H"用のUSBケーブルで32kパケット通信(つなぎ放題)対応って2つしか無いのね!
9月にサンデンシから新しい奴が出るけどWinとMacのみ対応だし・・・・
02/08/18 19:29ID:XonFUm75
>>90
書けるけどWindowsで繋いでますがなにか。

>>91
いや、情報のない状態からつついて解析していくのも、なかなか
面白いものだよ。
必要性と興味が持続しないとやっとれんけどな。
02/08/20 04:33ID:EFxDYaWg
U-cableP5ならどっかにドライバ落ちてなかったか?
02/08/21 02:27ID:++pf5YT/
94>落ちてたけどウチのPCはFDも無いしCD−Rも無いから意味無し
それ以前にturboLinux7でドライバの入れ方知らんから無意味
Turboじゃなくても知らないが・・・
完全マスターTurboLinux読んで頑張ってみます。
お騒がせしました。
96login:Penguin
垢版 |
02/08/22 00:52ID:hok07Wzb
昔DOS3.1の時代に、プリンターのデバイスドライバーをひとつ一機種に
ついて書くたびに50万円もらっていた友達をしっている。
非常においしい商売だったようだ。
97login:Penguin
垢版 |
02/09/17 02:52ID:uJTVD8V1
今さらあげてしまいますが、オライリーのドライバの本に書いてある。
file構造体がなにをやっているのかよくわかりません。というかその存在自体が疑問です。file_operation構造体はinit_moduleによって登録されるってのはわかるんですが、file構造体はどんなときに使われるとかよくわかりません。
デバイスドライバで2番目に重要な構造体と書いてあったのでかなり意味があると思うのですが、
くだ質できく内容でないと判断したので、ここで聞かせて下さい。
02/09/17 22:14ID:2Yzp0rLg
>>97
Linux のドライバは(一部除いて)ファイルで表されてるわけです。
/dev/配下にいっぱいありますよね?
そのファイルをopen すればfile_operations 構造体のopen メソッドが呼ばれる。
そのファイルをread すればfile_operations 構造体のread メソッドが以下略。

多分システムコールかデバイスファイルについて知識不足なんだと思われ。
なぜ存在自体が疑問なのか書いてる途中でわけわかんなくなってきたよヽ(`Д´)ノウワァァン

ちなみにここでつまずいてたらその本絶対読めないから教えてくれる人探した方がいい。。。
99login:Penguin
垢版 |
02/09/18 03:24ID:AWtWYegc
ありがとうございました。
どうやらfile_operations構造体の次にでてきたので、
デバイスドライバ特有の構造体かと勘違いしてしまったようですが、
低水準システムコールのときのfile構造体と同じだったんですね。
わかったみたいです。

一応半分位まで読みました。なんとなくですがわかったきがするので、
音なるやつでも書いてみることにします。
02/09/19 00:16ID:YeCer3VV
>>99
あう。。。file 構造体の方でしたか。file_operations 構造体と間違えた。。。
ごめんなさい。でもわかったんならいいよね。。。
02/09/19 01:00ID:Zca/tfIP
デバイスドライバで、file構造体って見ることあります?
漏れ、見たことないんですが。
02/09/24 08:38ID:jDkNy+Lt
age
02/09/24 10:47ID:oRAD0jRL
久々に上がってたりして...で亀レス

>>101
一つのドライバで複数のデバイスを制御(特に割り込み)する時に
使わない? (private_data)
static な領域にデータ置いといてベタで検索でもいいけど...
02/09/24 12:11ID:jDkNy+Lt
デバイスドライバを書くときに使う各種マクロや関数などが
詳しく&解りやすく載っている資料とか無いでしょうか?

謎の関数が多くて、、、、

02/09/24 16:20ID:oRAD0jRL
>>104

>37 にある Linux DeviceDriver 2nd Edition
これを wget で落して(いいのか?) grep で検索しる。

あとはお決まりのソース drivers/char 以下を検索かな?

106101
垢版 |
02/09/24 18:33ID:YwjfORCG
>>103
おお、なるほど。
そういうドライバは書いた事無いからなー。
02/09/26 16:00ID:3O4ltuCq
>105
やっぱり、それしかないですか、、、
馬の本見てがんばります

さらに質問
ハードを直接叩く(?)デバイスドライバを作っているのですが
良いサンプルとか無いでしょうか?
とりあえずは、
linux/drivers/char/qpmouse.c
あたりを参考にしてるのですが、、、
02/09/26 17:52ID:l3dRzYLM
>>107
お馬さんで充分かと...

> ハードを直接叩く(?)デバイスドライバを作っているのですが
これだけでサンプルないかって言われてもなぁ。
誰もレス出来ないんじゃぁ?
マウスドライバでも作ってんの?
レス出来ないかも知んないけど。
02/09/26 18:12ID:7zzSbQve
>>107
ターゲットと同じ種類のドライバ
or
似たような構造のハードを制御するドライバ
が一番いいサンプルなんだが。

目的のハードがどんな物かわからんので誰も答えられんと思う。
物によって微妙に作りが違うし。
110ねここねこ
垢版 |
02/09/27 09:39ID:2CKrLbeR
>108&109
確かに、物が不明だとわからないですね

物はFPGAというチップ経由で
データがやってくるハードのようです
外部のチップからFPGAにある程度データが貯まると
IRQをキックして(?)まとめてデータをCPUに対して送ってくるとか
言ってたな、、、

実はハードがまだ出来ていなかったり〜

02/09/27 12:01ID:Bk3J3OAM
>>110
> 実はハードがまだ出来ていなかったり〜
よくある話。

まだ漠然としているが、画像処理か計測系だね?
割り込み関係と poll、 DMA or mmap? 、PCI?。
まず、このあたりをお馬さんで理解すればよろしいかと。
112ねここねこ
垢版 |
02/09/30 09:38ID:ILjZfqgw
>111
>まだ漠然としているが、画像処理か計測系だね?

だいたいそんな感じです
お馬さん本見てがんばります

02/10/03 20:49ID:XOS3kDwu
FPGAというチップってあーた
114ねここねこ
垢版 |
02/10/04 10:18ID:reYTaTWA
>113
なんか呼び方が変なのでしょうか?
FPGAというICが有ると効いたのですが、、、


115ねここねこ
垢版 |
02/10/04 10:18ID:reYTaTWA
あと、デバイスドライバ製作の資料になるようなページ

Linux PCI デバイスドライバ
http://www.hemamu.com/dev/linux/pci/index.html

Programmed I/O (PIO)を用いた簡単なPCIデバイスドライバ
http://www-online.kek.jp/~yasu/Kenshu/pci-device-driver.html

Linux Module-HOWTO
http://www.linux.or.jp/JF/JFdocs/Module-HOWTO.html

Linuxデバイスドライバ開発ノート
http://www2s.biglobe.ne.jp/~nunokawa/Linux/DD/

Linuxによるロボット制御・デバイスドライバ開発
http://www.mechatronics.mech.tohoku.ac.jp/~kumagai/linux/

Linux用デバイスドライバの作成
http://ap.fukushima-iri.go.jp/LinuxDeviceDriver/LinuxDeviceDriveMAIN.htm

LinuxデバイスドライバFAQ
http://www-online.kek.jp/~yasu/Kenshu/faq.html

エンジニアリングLinux応用技法
カーネル/デバイスドライバ/ポーティング/リアルタイム
http://www.cqpub.co.jp/hanbai/books/522070.htm

色々調べると
ロボット系の人が多いような気がします
SFに出てくるガレージでオリジナル2足歩行ロボットを作る
時代が来たのかな?
116login:Penguin
垢版 |
02/10/06 18:35ID:URuHDkGy
hack! age
117login:Penguin
垢版 |
02/10/17 21:17ID:RGYfSOtJ
age
118login:Penguin
垢版 |
02/12/13 10:20ID:NJ02XiJx
うおータコがドライバ書くのってやっぱ無理があるなー
でも仕事だしがんばるぞーちくしょー
03/01/08 22:12ID:KwFqEkll
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
03/01/09 01:09ID:kgNvzzS1
なんとか頑張って下さい>ひろゆき

お金は持ってないけど応援します。
03/01/09 01:23ID:kgNvzzS1
ひろゆきは早起きのし過ぎでちょっと壊れてるな。
03/01/09 01:33ID:kgNvzzS1
>>532
プ
03/01/09 01:55ID:AmicprCv
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
03/01/09 02:06ID:0uJfVOg+
名スレの予感
03/01/09 02:50ID:yayiRGlu
福島もキタ━━━━━━(゚∀゚)━━━━━━ !!!!
03/01/09 03:34ID:TPkK0Va9
>>81
まぁそういうところでよしゆきはすごいわな。
127山崎渉
垢版 |
03/01/15 11:31ID:m6zO97qQ
(^^)
128ドライバー
垢版 |
03/01/15 13:09ID:I5ofFU+k
いまLynxEMのドライバいじってるんだけど、
マルチディスプレイに成功した人います?

もう何年も放置されてる問題だから無理なのかな…?
03/01/15 18:11ID:nk4F1IDO
>>128
Windows2000でも放置されてた問題だし
あきらめよう
130login:Penguin
垢版 |
03/02/05 19:41ID:YQeAwX++
保守age
131login:Penguin
垢版 |
03/02/07 19:54ID:jVRQXDIx
1ms以下のタイミングでポーリングを監視する方法って何かないですか?
やっぱ割り込み使わんと無理?
03/02/07 20:36ID:0UoE11AV
>>131
HZいじってタイマの周期を1ms以下にすればなんとかなると思うけど。
割り込み使うのが正攻法じゃないかなー。
133  
垢版 |
03/02/07 21:50ID:VKdRg4g7
ftpfs きぼんぬ
modprobe ftpfs login=ftp [email protected] host=ftp.ring.gr.jp
とかすんの
03/02/07 22:07ID:nu9G29ZI
>>133
http://www.google.co.jp/

# gnutellafsなんてのもあるのか...
135133
垢版 |
03/02/11 02:29ID:/akGZqt4
http://ftpfs.sourceforge.net/
がーん・・・
寝る!
136login:Penguin
垢版 |
03/02/11 03:04ID:bsSBCYyf
>>17
> モジュールアンロード
> # rmmod hello.o

正しくは、rmmod hello
気になったんで...
137login:Penguin
垢版 |
03/02/14 03:21ID:vgGnuLAo
お馬さんの本にspinlockにぎったままsleepしちゃいかん、
って書いてあるんですがどんな困ったことが起こるのか教えて欲しい
今日この頃…
03/02/16 03:44ID:tbT/WrCe
>>137
スピンしっぱなしになる

ちなみに超電磁スピンはこれの応用
03/02/16 23:53ID:7J4Y8mCH
>>138
ああ、そっか。てことは攻撃中にspin_unlock()されるとマズー?
140login:Penguin
垢版 |
03/02/20 22:11ID:+wCEK+nh
>>137
デッドロックが起きる。
spinlock を獲得したままスリープすると、そのプロセスが目覚めるまで
同じ spinlock を獲得しようとするプロセスがビジーウェイトし続ける。
141137
垢版 |
03/02/21 03:18ID:qmT4Thn5
>> 140
どうもです。
自作基板に載っているPCIバスブリッジのDMAを叩くのに、複数プロセスからDMA転送を
同時に行うことはできないのでspinlockにぎらせてwait_event_interruptibleか何かを
コールしようとたくらんでました。
DMA転送が終われば必ず割り込みで叩き起こされるのでそこでspin_unlockすれば
問題ないかなと思ったのですが、間違いですか?
その間ビジーウェイトし続けるのがもったいないということであればsemaphoreで
ブロックするべきでしょうか。
03/02/21 05:38ID:wCxVa5I1
>>141
だめ。
プロセスAのカーネル内: 獲得 -> sleep
プロセスBのカーネル内: 獲得に失敗してビジーウェイト
なのだけど、カーネル内では、ページフォルトとか明示的にschedule()呼ぶと
かしないとスイッチはおこらないので、単一プロセッサシステムだと絶対死亡。
SMPだとか、2.5のプリエンプションカーネルだと、大丈夫かもね。
終了割込みで起こされる処理なら、sleep と wakeupを使うのが普通じゃない?
143bluehat
垢版 |
03/02/27 02:47ID:2xZ0HU3V
デバドラをアクセス(介する?)することで、ファイルを暗号化して保存&
ファイルを複号化して取得、ってな事ってできんのか?
おめーだったらどうやって実現するよ?教えろ!ゴルァ!

03/02/27 03:04ID:1e6KPqQp
普通loopだろう。
145bluehat
垢版 |
03/02/28 03:17ID:5YDI7es3
>>144
却下。普通じゃだめぽ。デバドラで実現しる!
03/02/28 07:13ID:0bshxi8O
>>145
んー、何をもってデバドラというのかよーわからんが、狭義な,
ハードウェアを制御するドライバのことなら

「オマエラ、おつむ悪すぎなので出直して下さい。」
03/02/28 12:21ID:oFO1qwF8
>>145
んと、loopは広義のデバドラですよ。メジャー番号7のブロックデバイスです。
03/03/06 14:51ID:NOJmB8ay
kernel-2.5 でデバドラのインターフェースが大幅に変わるという話を
きいたがおまえら知っているか?
03/03/06 22:23ID:33Ph63nv
>>148
プリエンプティブカーネルになるってのはどっかで見たが・・・
I/F というと、エントリーポイントの仕様でも変わるのか?
それとも、カーネルがエクスポートするルーチンの仕様変更?
03/03/06 23:24ID:gj2ir03d
>>148
モジュールまわりの仕様が変わるというのはあるが、
モジュール自体に影響ないはずだし…
構造体とかカーネル側の関数が変更されるのはよくあることだし…

その話の出所はどこよ?
151148
垢版 |
03/03/07 00:48ID:2S2Wvrkx
struct file_operations つくって register_chrdrv()するだろ。
そのやりかたが変わるとか聞いたんだが。
03/03/07 04:37ID:2ohbwA9F
>>151
(゚∀゚)んなこたーない
153148
垢版 |
03/03/07 13:38ID:2S2Wvrkx
>>152
安心したよ
>>149
カーネルプリエンプションに関しては大問題だ。
ドライバかなり書き直さなくてはいかんのぉ。
03/03/08 00:05ID:l6jbsomd
2.5のソース読んでからまた来い
03/03/08 00:53ID:dd9ui0La
>>153
その様子では 2.5のカーネルプリエンプションを理解するのが先です。
名前から想像するものとはちょっと違うものです。
156login:Penguin
垢版 |
03/03/17 00:55ID:POpqK4+0
デバイスドライバを書いてる人って 日本に何人いるんだろう
hello.o くらいだったら1万人くらいいるのかな?
157login:Penguin
垢版 |
03/03/21 01:19ID:4f4NMJji
3000人くらい
158LINUX初心者
垢版 |
03/03/22 00:33ID:c2EgVY2O
 ご質問があります。

 IDEのDVD-ROMから、暗号無しのDVDデータを取り出すソフトが必要になり
 まして、MT.FUJIの仕様書とcdrom.cを読んでいます。どうやら、DVDの
 情報はIOCTLを通して取り出せるみたいなのですが、データ(2Kバイト)の
 データの取り出しは、IOCTL経由では出来ないように見えます。その割には
 CD-ROMのモード1と2、CDオーディオのデータはIOCTLで読み出せます。

 フリーのソフトを見るとpf_readで実行しているようですが、どうやれば
 良いのでしょうか? 出来たらIOCTLを使いたいのですが・・・・

 よろしくお願いします。
03/03/22 11:15ID:j2wJcuTQ
>158

http://www.linuxvideo.org/docs/Linux-DVD-HOWTO/ja/DVD-Playing-HOWTO-Nihongo.html
ここを読んだだけだけど、、、
DVDでioctlを使うには、カーネルで、それようの設定をして
コンパイルが必要みたい?
160login:Penguin
垢版 |
03/04/13 20:50ID:Z3+MYXr2
USBドライバの開発の参考って何かないですか?
161あぼーん
垢版 |
03/04/13 20:51ID:fhD9Fsc5
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
ttp://saitama.gasuki.com/wara/
162login:Penguin
垢版 |
03/04/13 22:03ID:Z3+MYXr2
kill -9 161
03/04/13 22:08ID:ecu8jjet
>>160
定番は、似たようなのを見る だろ。なお、クラス(ってかベンダ)ドライバな
ら、一番簡単なのは、scanner.c 。バグありだけどね。

164login:Penguin
垢版 |
03/04/13 22:16ID:Z3+MYXr2
>>163
ありがとうございます。

ところで、カーネルに組み込まれているデバイスドライバのソースをモジュール化するのに定番の手法とかって
ないでしょうか?

カーネルがROM化されているので、モジュールにする必要があるもので。
03/04/13 22:25ID:ecu8jjet
>>164
手法って、なにも特別なことはないとおもうんだけど...

make modules 以外でコンパイルするっていみ? それなら -DMODULE がみそ。
カーネル関連のソース内部でも、ドライバでも、これを ifdef とかで見る。

それともmodule対応じゃないドライバを対応に書き直す方法? こっちなら、
適当な初期化/後かたづけ処理を module_init()とmodule_exit()で登録すればいい。


166login:Penguin
垢版 |
03/04/13 22:33ID:Z3+MYXr2
>>165
>module対応じゃないドライバを対応に書き直す方法
こちらの方です。ありがとうございます。意外と簡単なんですね。
早速、明日試してみます。

デスクトップで動いているドライバを組み込みLinuxに移植しようとしてるんですが、
ドライバを作るのははじめてなので、馬本で勉強してます。まだ2章目ですが
167開発メモ
垢版 |
03/04/14 14:29ID:Y6l/xCVk
Warning: loading module.o will taint the kernel: no license

がでたときは、
#include <linux/module.h>

MODULE_LICENSE("GPL");


printk の出力はdmesgで見ることができる。
03/04/14 22:12ID:ktmIntrh
>>160
こんなんが参考になるかも・・・
http://www-online.kek.jp/~yasu/Kenshu/usb-driver.html


>>167
> printk の出力はdmesgで見ることができる。

cat /proc/kmsg
としても見れます。

カーネルバッファにメッセージが追加される度にコンソールに表示されます。
でも表示内容の文頭に <4> というようなログレベルが付いてまうけど・・・
03/04/16 10:03ID:Rj9RiWI4
#define MODULE
#include <linux/module.h>
int init_module(void){ printk("<1>こんにちは\n"); return 0;}
void cleanup_module(void){ printk("さやうなら\n");}

を gcc -c hello.c でコンパイル
insmod ./hello.o で組みこもうとすると

./hello.o: Note: modules without a GPL compatible license cannot use GPLONLY_ symbols

というメッセージがでます。
カーネルのバージョン管理だと小間生のですが、カーネルの再構築をせずにすり抜ける
ことは不可能でしょうか?
170山崎渉
垢版 |
03/04/17 11:54ID:KRn99/cy
(^^)
03/04/18 01:19ID:HcWYqirI
>>169
>>167 ?
172山崎渉
垢版 |
03/04/20 06:14ID:xFRXxEWb
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
173login:Penguin
垢版 |
03/04/21 11:26ID:dxqbEfvS
insmod test.o をするとこんなエラーがでます。
どんなライブラリをリンクすればいいのでしょうか?

./test.o: unresolved symbol remap_page_range
./test.o: unresolved symbol __wake_up
./test.o: unresolved symbol schedule
./test.o: unresolved symbol kmalloc
./test.o: unresolved symbol vfree
./test.o: unresolved symbol usb_deregister
./test.o: unresolved symbol video_register_device
./test.o: unresolved symbol remove_wait_queue
./test.o: unresolved symbol video_unregister_device
./test.o: unresolved symbol usb_free_urb
./test.o: unresolved symbol usb_alloc_urb
./test.o: unresolved symbol usb_register
./test.o: unresolved symbol __pollwait
./test.o: unresolved symbol kfree
./test.o: unresolved symbol usb_string
./test.o: unresolved symbol add_wait_queue
./test.o: unresolved symbol usb_submit_urb
./test.o: unresolved symbol usb_control_msg
./test.o: unresolved symbol __vmalloc
./test.o: unresolved symbol printk
./test.o: unresolved symbol usb_set_interface
./test.o: unresolved symbol vmalloc_to_page
./test.o: unresolved symbol __generic_copy_to_user
./test.o: unresolved symbol usb_unlink_urb
03/04/21 11:35ID:TzNUZhnB
>>173
カーネルのバージョンとtest.cがわからないとちゃんと答えられない
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況