探検


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

■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
垢版 |
02/01/31 01:14ID:t3s191ys
ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
2006/04/04(火) 13:11:55ID:p7vmOtaT
>>504
sched_setaffinity(2)
2006/04/06(木) 22:28:49ID:Mnqgo3eJ
>>513

まだ色々と追っかけてる途中です。
とりあえずPCIドライバ周りから追っかけ中です。
PCIドライバを見た限りでは、pci_map_sgすると中でdma_map_sg
呼び出しててその中見てもあんまり大したことしてなさそうですね。
やはりbio周りも見ないと駄目なのかも。
もうちとかかりそうですが、わかり次第、結果をお知らせします。
516505
垢版 |
2006/04/08(土) 14:24:03ID:+mDmSXuo
原因わかりました。
結論から言うと、pci_map_sg()で作られるSGリストのアドレスは正常でした。
問題なのはpci_map_single()で出てくるアドレスが、低位メモリだとカーネル
論理アドレスを返し、高位メモリだとカーネル仮想アドレスを返してるのが、
原因でした。

高位メモリだとページをダイナミックに確保されるため、物理アドレスとペー
ジが1:1でマッピングされないので、pci_map_single()だとvirt_to_physしてる
だけなので使えませんね。

なのでpci_map_pageで確保してやれば問題は消えました。

SGリストに変なアドレスが入ると言ってましたが、カードのファーム側で受
け取ったリストを見てたのですが、カード内でドライバから受けた転送アドレ
スをカード内部のバッファに結びつける為にファームが独自にSGリストを
再構成しており、そのリストがpci_map_sg()で作られた物と勘違いしてまし
た。OTL

色々アドバイスありがとうございました。
2006/04/08(土) 16:09:33ID:MBAxFSYD
>>516
解決おめでとうございます。
一般的に使えそうなものならまたどこかで公開してくださいな。
2006/04/10(月) 22:36:55ID:C69QC/MM
>>516
よかったよかった。
私もソース読んで少し勉強になったよ。
ネットワーク系しかいじったこと無かったから。
519505
垢版 |
2006/04/10(月) 23:00:56ID:9eFrvNz6
>>517 >>518

ありがとうございます。
馬鹿高な価格の独自のカード用のドライバで有用性はかな
り低いです。。。一応GPLなんですが、カード買わないと非
公開という阿保な方針らしいので、一般公開は難しそうです。

Linuxでの初開発で手探り状態でしたが、お蔭様で何とか目
処が立ってきた感じです。まだ細かな問題がありますが…。

Linuxでの開発はカーネルや他のドライバソース読まなけば
資料が少ない所がキツイですね。
まぁコード上のテクニックとか色々勉強になる部分は多いけ
ど、納期のある仕事でやるのは大変ですね。

流石UNIX板だけあって、建設的なスレで助かりました。
2006/04/10(月) 23:42:28ID:Cs5Rh9+Y
>>519
> Linuxでの開発はカーネルや他のドライバソース読まなけば
> 資料が少ない所がキツイですね。

ちょっと教えてください。
Linuxより資料が多いOSってなんのことを指してますか?
自分は主にLinuxの開発に携わってますが、いつもオープンソースのありがたみを
感じながらやっているので、Linuxが資料が少ない、というのは意外です。
2006/04/11(火) 00:42:17ID:KjDgNH9L
OSによっては中身がさっぱりわからないままドライバ開発しなきゃいけない事もあるしな。
つーか、そっちのほうが多そう。
2006/04/11(火) 00:47:03ID:rZUiZ4e7
>>520
NetBSDはそういう部分のmanpageが充実してるとか聞きますな。
linuxはmanpage書き上げたら実装が別物になってたなんて笑えん状況がありそうだなあ…
2006/04/11(火) 00:57:41ID:9nKANwAS
そこでmain treeにマージですよ。
main tree内の変更はたいていは面倒をみてくれる。
524login:Penguin
垢版 |
2006/05/11(木) 18:07:51ID:PmwpTb/Y
ある内蔵デバイスのドライバでPCの機種毎に処理を変えなければいけない部分が
あり、ユーザ負担を減らすためにドライバ側で自動判別したいと思っています。
機種は違うのにSubvendorIDやSubdeviceIDまで何故か一致しているので、SMBIOS
のDMI情報を参照して機種を判別したいのですが、これって可能なんでしょうか?
そんなやり方は行儀が悪いとか、他にもっとまともなやり方があるとか何でも
構いませんので、どうかご教示をよろしくお願いします。m(__)m
2006/05/11(木) 23:43:06ID:Uu/mTCgT
確かに行儀はよくないかも
新しいハードが出るたびにパッチ提供とか考えたら面倒だし
たとえそれが自社ハードだとしてもバージョンアップあるだろうし
判別はユーザランドで行う方が気分も楽だし処理も楽だしバグも少ない
2006/05/26(金) 20:11:11ID:YiUMorw/
ttp://lkml.org/lkml/2006/5/24/238
527login:Penguin
垢版 |
2006/08/20(日) 01:06:14ID:BobpEKad
カーネル層のモジュールのテストプログラム
を作ってるんですが、カーネル層でinit_moduleや
ioctlからスレッドを起こして daemonのように
動作させることってできるんでしょうか?

Linuxデバイスドライバを読んでもスレッドを
起こすような処理は載っていないようなので
参考書籍だけでも教えていただけるとありがたいです。
2006/08/20(日) 11:29:13ID:EWXtKjUy
>>527
kernel_thread
daemonize
2006/08/20(日) 20:55:18ID:bg2sTV9e
というか、普通に載ってるよね
530login:Penguin
垢版 |
2006/08/24(木) 12:55:11ID:6WITQjoc
そいや、最近のノートPCには指紋センサーがあるけど

あれはハックできるものなの?
2006/08/24(木) 13:34:05ID:wKY4BjAS
>>530
OSM 8月号に記事載ってたよ。
http://shop.sbcr.jp/bm_detail.asp?sku=1016200604
2006/08/25(金) 00:34:04ID:CPHGcnDi
>>531 せんきゅー!
2006/08/26(土) 07:37:08ID:F4NpQAPn
>>529
すみません。ページご存知でしたら教えてください。
第3版持ってます。
2006/10/04(水) 21:49:48ID:EGTQjLn1
すみません、どなたかわかる方教えてください。

現在、XFree86でグラフィックドライバを作ってます。チップは独自のものです。
バス等に接続されておらず、メモリマップドI/Oでアクセスします。

一応画面は出たのですが、1024*768だと縦が半分しか表示されず、
(縦に圧縮される感じ。マウスカーソルが縦につぶれている)
1280*1024だと画面が横に5個くらい表示されてしまいます。

使用しているチップは1ライン4096byte固定なので、解像度に応じて次のラインを
描画するアドレスを更新しなくてはなりません。
カーネルのFBドライバだとline_lengthとかの変数に設定してあげればうまいこと
描画してくれるのですが、XFree86の構造体にはそういった変数が見当たりません。

カーネルFBドライバのline_lengthとかに相当するものはどれでしょうか?

縦に圧縮されるのと画面が5個くらい表示されるのは、別問題な気がしてます。
今、手元にソースがないんですが、InitをするときにvirtualYを*2してやると縦が一見
正常っぽく表示されました。カーソルとかが縦につぶれたままなので、根本対策には
なっていません。
535Mr.名無しさん
垢版 |
2006/10/09(月) 16:36:24ID:OGKR436u
■■■■■■■■■■■■■■■■
■                     ■  違う板にコピペすると、四角の枠の中に
■                     ■  メッセージとURLが現れる不思議な絵。
■                     ■
■                     ■  (その仕組みがリンク先に書いてある)
■                     ■
■                     ■  この原理を応用すると、まったく新しい
■                     ■  コピペが作れる予感。
■■■■■■■■■■■■■■■■


2006/11/05(日) 18:18:15ID:j6ZWju7f
>>534
グラフィックチップのモード設定を間違えている予感
2006/12/14(木) 22:35:16ID:JyAlagq8
すみません どなたか助けて下さる方はいらっしゃらないでしょうか?
当方PCIデバイスのドライバをLinuxデバイスドライバ読みながら
作成しております。

今DMAを用いてread,writeさせようと思っているのですが、
うまく転送ができておりません。
DMA転送の関数としては

dma_buff = kmalloc( count, GFP_KERNEL | __GFP_DMA)
  bus_addr = pci_map_single( pci_dev, dma_buff, count,
direction );

flags = claim_dma_lock();
disable_dma(channel);
clear_dma_ff(channel);
set_dma_mode(channel, mode);
set_dma_addr(channel, bus_addr);
set_dma_count(channel, count);
enable_dma(channel);
release_dma_lock(flags);
てな感じです。
get_dma_residueで転送できてるかどうかみてるのですが
まったく転送されてないみたいです。
DMAコントローラのレジスタの設定とかは
ほかに何かいるのでしょうか。
ちなみにターゲットのPCはPen3 800MHZ
チップセットは815です。
どなたかお知りの方いらっしゃったら お願いします。
2006/12/15(金) 11:02:30ID:Qc0JIFW5
>>537
見ているものがまったく違っているような気がしますが。
PCIでbus master転送したいんじゃないの?
539537
垢版 |
2006/12/15(金) 15:20:46ID:NJleqqJR
おお、早速のレスありがとうございます。

DMA転送するにはチップセットの中の8237DMAコントローラをいじればいいって思ってました。バスマスタについて少し調べましたが、IDEのDMAもバスマスタになるんですね、知りませんでした。

となるとこのバスマスタはどうやればいいのでしょうか?参考になるものでもいいので、教えてください、お願いします。
2006/12/15(金) 23:40:00ID:72pQobUh
ターゲットとなるPCIデバイスの仕様がわからなきゃデバイスドライバは書けないよ
せめて型番だけでも出してくれ
2006/12/16(土) 18:42:01ID:wkeveW0d
ドライバというか、モジュールの話なんですけど
スレッドを使ったせい?なのか、psすると
3635 pts/0 R 0:00 modprobe hoge
と残るんですが、これは出ないようには出来ないものなんでしょうか?
勿論 rmmod hoge すると消えるんですけど。
542537
垢版 |
2006/12/17(日) 19:34:20ID:BtOAund7
ターゲットのデバイスは内製のボードなのですよ orz
となると やっぱボード自体を作った人に聞いたほうがいいのかな?
2006/12/17(日) 19:50:10ID:pl1Ns6BC
チップのレジスタ仕様と、制御のシーケンスがわからないとドライバは書けないよ。
2006/12/17(日) 20:36:37ID:6E+xGodr
>>542
当然聞くべきなのですよ
2006/12/17(日) 22:08:40ID:SVqrrgVr
チップも内製なのか?
だったらデバイスドライバもチップ開発チームが書くものだよな
少なくともサンプルコードの類は書くはずだ

そうでなくて市販のチップを使ってPWBAだけ内製したのなら
使用したチップのデータシートなりプログラマーズガイドなりを読めばいいだけの話
546537
垢版 |
2006/12/18(月) 01:17:23ID:5wopQO2S
ほぼ内製だったと思います。
ちょっと月曜日会社いったら、聞いてみようと思います。
大変参考になりました、ありがとうございました。

ところで、これは単なる質問ですが、
マザボのチップセットにある8237とかの
DMAコントローラは古いし遅いみたいだから
PCIとかIDEとかに使われてないみたいだけど、
Pen3 800MHzとかでも PIOのが早いの?
2006/12/18(月) 07:35:08ID:a8xYea1H
最近のデバイスで言うDMAはバスマスタDMAのことだよ。
バスマスタってのはデバイス側が主導権とってバスを制御して
CPUの頭越しにメインメモリにデータ出し入れすることだ。
そのためにはデバイスにバスをのっとってデータ転送しろって命令を
CPUからデバイスに発行する必要がある。

その手続きを知るためにレジスタなりデータシートなりを調べろって
みなさん言ってるんだよ。
548537
垢版 |
2006/12/19(火) 00:01:59ID:2Sv0wv+g
なるほろ、大変勉強になりました。
ハード屋さんからマニュアルゲットして
がんばってみます。
549login:Penguin
垢版 |
2006/12/19(火) 23:53:27ID:g20RCuxU
>>537
つ ttp://www.oreilly.co.jp/books/4873112532/
2006/12/27(水) 05:38:58ID:krfJbXj5
すみません ドライバでDMA転送するための連続したメモリ領域(64MB)を確保したいのです。
kmallocで確保可能な連続したDMA領域は最大128kB ということはネットで検索すると出て来たのですが、
どうすればドライバのDMA転送で利用可能な128kBを超えるの連続領域を確保出来るでしょうか?
OSはlinuxカーネル2.6です。
ご存じの方おられましたら御教示戴きたくよろしくお願い致します。
2006/12/27(水) 10:51:31ID:mQ5aQPBa
>>550
とりあえずそのふざけた石を投げ捨てれ。

やるならalloc_pagesだろうなあ。そのサイズで連続領域を簡単に確保できるとは思えんが。
ついでに書いておくと128KByte制限は8237の呪いなのでPCIならそんなものはない。

2006/12/27(水) 12:43:43ID:krfJbXj5
投げ捨てぇー…れないorz

>>551
早速ありがとうございます。
検索してても思ったのですが、
なんか連続領域"64MB"っていうのは常識外れっぽいのですね…
とはいえ組込み系で使った独自ロケットI/OのPC向け転用の必要があり、
石を投げ捨てる訳にもいかず今回の質問とあいなりました。
alloc_pages、試してみます!!

回答感謝いたします。
センキュー!!!!
2006/12/28(木) 02:29:39ID:4Oi09t3r
かなり強引だけど、カーネルオプションで使用メモリ量に制限かけといて、
未使用領域を作った上でそこ使っちゃえば?
2006/12/28(木) 12:33:40ID:vc2Jrznf
>>553
MMUの面倒は誰が見るですか?

面倒な世の中になったのう…
物理アドレスで完結してりゃなにも考えなくていいのに。
2006/12/29(金) 09:28:41ID:JbqPlaTm
>>553
アドバイスありがとうございます。
ちょっと恐いですが、検討してみます。

>>554
MMU…よく判ってません…勉強してきます。
ご指摘ありがとうございます。

いろいろレスありがとうございました。
スレの皆様が良い年越しを迎えられますように!!
それでは、また来年!!
2006/12/29(金) 10:44:35ID:PkRb73AX
RocketIOってことはXilinxのFPGAだよな
だったら128KBのブロックのアドレスポインタリストを渡すと
自動的にリスト通りブロックをたどって転送するように
FPGA回路を再設計するのがまっとうな手段だろうな

デバイスドライバやOS設定の変更ではどうにもならんと思う
2006/12/30(土) 00:07:40ID:SZb58Bld
カーネル組込みで、ドライバ初期化のときなら確保できそうな気もするな。
開放したら二度と確保できなくなりそうだが。
2007/01/01(月) 22:05:23ID:uXbHjsPd
明けましておめでとうございます。

さらにレス&アドバイスありがとうございます。
うー勉強不足。知らないこと多過ぎますね!ハードル高いです orz
安定化まで考えると更にハードル上がりそうですが、ハード側とも相談してみます。

それでは本年もよろしくお願いいたします!!
2007/01/19(金) 00:41:46ID:xhnZtOc/
皆様に聞きたいのですが
当方Linux 2.6カーネルの元でドライバの開発を行っています。
起動してからinsmodでインサートするタイプのモジュールを作っています。
カーネルをフリーズさせたりして固まらせてしまって、やむなくリセットボタンを
押す事が多々あるのですが、その際にファイルシステムのチェックが
強制的に行われてしまい、これでかなりの時間をロスしてしまいます。
何とかこのファイルチェックを飛ばして時間の短縮を行う方法はないでしょうか?

VMwareとかの仮想マシンを使えばいいのかもしれませんが、
特殊命令を使っておりますので、仮想マシンがその命令をサポートしていないために
導入できません。
2007/01/19(金) 02:15:30ID:VcfRHkiI
>>559
mount -o remount,ro /
とかやって、書き込み不可にしてから遊べばよくね?
2007/01/19(金) 08:04:16ID:/YcMJPuk
/etc/fstabの6番目のフィールドの値を0にする。man fstabしてみそ。
tune2fsで-c 0とかもしておいたほうがいいかも。
2007/01/19(金) 20:24:37ID:xhnZtOc/
>>560
でもそれをやると、kmallocをGFP_KERNELで使ったときに
メモリがスワップアウトしたらまずいことになりませんか?

>>561
やってみました

なんかファイルチェックをしなくなったことで壊れそうでもありますが
やっぱり我慢してチェックしたほうがいいでしょうか...
2007/01/20(土) 19:48:34ID:3aq4dRUa
>>562
/だけ守ればいいので、なりません。
2007/01/21(日) 01:23:20ID:QaYT7DDq
>>563
ああそうか、swapファイルはswapパーティションですもんね
ありがとうございます
2007/01/27(土) 11:05:03ID:4J9B+fMX
評価機はネットブートさせてNFSroot稼動させればいつ飛んでも
大丈夫な環境にできるんじゃない?
566login:Penguin
垢版 |
2007/02/05(月) 06:03:38ID:9i1Bwf6u
通常、Linuxのドライバをインストールする時はカーネルにパッチを当ててカーネルごと
コンパイルしなければいけないけど、Windowsのようにカーネルソース無しでドライバを
コンパイルしてインストールできるようにする方法ってあるの?
567login:Penguin
垢版 |
2007/02/05(月) 06:26:04ID:9i1Bwf6u
http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%8E%E3%83%AA%E3%82%B7%E3%83%83%E3%82%AF%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%ABには
現在のカーネルではモジュールをカーネルの構築状態に依存する事なく追加できると
書いてあるけど、カーネル側でインターフェースが変更になった場合は旧ドライバは
使用できなくなるんじゃないの?それとも、カーネル側で旧インターフェースが温存されるの?
あと、「カーネル側に受け皿となるインターフェースがモジュール毎に用意されている必要がある」
Linuxはどのバージョンまでなの?
2007/02/05(月) 06:56:37ID:Zi/ATtvA
>>566
いまはそんなことしなくていいよ
insmod rmmodで動的にドライバを挿入したり削除したりできる
2007/02/06(火) 01:26:43ID:j3mwrUGC
いやぁソースはいるだろ。
2007/02/06(火) 08:59:25ID:jQKQh5/W
ソースはいるけどカーネルのリビルドはいらない
2007/02/06(火) 10:27:34ID:Rm04tDsq
いやぁリビルドは途中までいるだろ。
572login:Penguin
垢版 |
2007/02/10(土) 16:03:43ID:XWBlzb1u
初歩的な質問ですがよろしいでしょうか

私はlinuxカーネル2.6.13のモジュールでhello worldのプログラムを組込みたいのですが上手くいきません

gcc -c module.c -Wall -Wstrict-prototypes -O -pipe -m486

この様にコンパイルしたのですがカーネルのソースコードに構文エラーがあるようでコンパイルが通りません
カーネルのソースコードを見てみても構文エラーらしき物はみられませんでした
どうすればコンパイルが通るでしょうか

エラーメッセージとソースコードを書いておきます

ソースコード
http://sakuratan.ddo.jp/uploader/source/date32474.c

エラーメッセージ
http://sakuratan.ddo.jp/uploader/source/date32475.txt
2007/02/10(土) 17:14:52ID:d+hexa9D
>>572
普通はMakefile書くわな
2007/02/10(土) 17:47:20ID:a+8l3AD+
Makefileに
obj-m += module.o
って書いて
make -C /usr/src/linux M=$PWD modules
575login:Penguin
垢版 |
2007/02/10(土) 19:18:09ID:XWBlzb1u
>>543

そうみたいですね
私のみた資料では、そうコンパイルする様に書いてあったのですが結構古い奴だった
のでしょうか

>>574

本当にありがとうございました。
その方法で無事にモジュールを作れました

感謝感謝
576542
垢版 |
2007/02/10(土) 19:55:09ID:XWBlzb1u
.koってファイルが出てきたらからinsmodにかけてみたら
insmod: error inserting 'module.ko': -1 Invalid module format

って言われワラタ
turbo linuxなんて微妙なの使ってるせいなんですかねこれは.....
577542
垢版 |
2007/02/10(土) 20:03:22ID:XWBlzb1u
今までsage忘れてたごめん
2007/02/10(土) 20:06:01ID:791EznrY
話題提供時はage、その後はsage
ってのが一番角が立たない。

正直、どうでもいいけど。
2007/02/10(土) 20:14:38ID:a+8l3AD+
/usr/src/linux が今動いてるカーネルソースじゃないとか
580542
垢版 |
2007/02/10(土) 21:33:23ID:XWBlzb1u
>>579

そうですね
元からあったソースでコンパイルしようとすると必要なMakefileがないとかで無理
でしたから、kernel.orgから同じバージョンのコード落してきてまた設定しなし
いた訳ですがそれが原因ですかね。

ディストリとかは独自の変更を加えているらしいし、また変更が加えられていない
純粋なカーネルインストールしてから出直してきます

581login:Penguin
垢版 |
2007/02/18(日) 23:17:11ID:PxJoV1oA
すみません。kmallocで確保したメモリ領域をDMA転送するために、__paで変換して
渡してやるのと、dma_map_singleで変換して渡すのと、違いはあるのでしょうか?
たとえば性能(処理効率)が違うとか? どう使い分けているのでしょうか?
2007/02/19(月) 10:56:01ID:QHwPPpDN
UNIXTIMEを日付文字列に変換するのに なんかAPI用意されてないの?
"2007/02/19 12:34:56" とかその程度のでいいんだけど。
2007/02/19(月) 11:19:53ID:I/jMKPR3
strftime
2007/02/19(月) 13:52:20ID:QHwPPpDN
>>583
いや、デバイスドライバ内でなんだけど、あったっけ? いや、ない。
585login:Penguin
垢版 |
2007/02/21(水) 07:53:48ID:Wuryqsb6
Linux 2.6.16用のパッチとe2comprを同時に使いたいのだが、e2comprは2.6.10用まで
しかない。カーネルとドライバが完全に分離され、カーネルバージョンが上がっても
カーネル側の旧インターフェースが温存されるようになれば、ドライバの開発が停滞しても
最新のカーネルでそのドライバを使い続ける事ができる。
2007/02/22(木) 01:34:45ID:I6i5DnCh
そのカーネル側のABI決めようぜ話はLinusに一蹴されてるんじゃなかったけ?
587login:Penguin
垢版 |
2007/02/22(木) 09:14:42ID:y9d4aAAQ
>>586
カーネル側のドライバとして旧バージョンのカーネルのモジュールをロードできる
ラッパーを作成して、カーネル側インターフェースが変更されるたびにラッパーを
更新していく手もあるべ。
588login:Penguin
垢版 |
2007/02/22(木) 09:16:48ID:y9d4aAAQ
ラッパーにx86エミュレーションを追加するとザウルスでWindowsのドライバを読み込めたりもする。
2007/02/22(木) 22:34:24ID:I6i5DnCh
つ NDISwrapper
2007/02/23(金) 00:44:11ID:cxn/yRhr
つcapative ntfs
591login:Penguin
垢版 |
2007/04/03(火) 00:09:41ID:3ycIJVku
<linux/module.h>が無いんだけど、
デバドラ開発するには、なにかパッケージ追加しなきゃいけないの?

使ってるのはfedora6
592login:Penguin
垢版 |
2007/04/03(火) 00:24:35ID:3ycIJVku
yum install kernel-devel
してもダメだな。何が足りない?
2007/04/03(火) 00:41:11ID:xSB1c0Df
>>591
カーネルソースそのものじゃね?
594login:Penguin
垢版 |
2007/04/03(火) 01:00:14ID:3ycIJVku
>>593
あ、カーネルソースに有った。ありがとう。

普通、/usr/includeには入らないの?
595login:Penguin
垢版 |
2007/04/03(火) 01:08:21ID:3ycIJVku
あと、
man printk
って出ないの?
2007/04/03(火) 02:25:43ID:xSB1c0Df
>>595
出ないんじゃよ
2007/04/03(火) 02:43:03ID:GYgStP3Z
>>594
カーネル用ヘッダと、ユーザプログラム用ヘッダは
まざるとまずいから分離されてる。だから/usr/includeにカーネル用ヘッダはふつうは無い。
2007/04/04(水) 00:07:01ID:NkZt7NAi
/usr/include/linux に入ってないか?鳥にもよるけど。
599login:Penguin
垢版 |
2007/04/04(水) 00:15:23ID:wyW6RdvI
カーネル用ヘッダと、ユーザプログラム用ヘッダがまざると、何でとまずいだろ。
600login:Penguin
垢版 |
2007/04/04(水) 00:23:08ID:ICf0Aql0
爆発しても知りません。
2007/04/04(水) 00:42:58ID:IK0cizpI
>>598,>>599
/usr/include/linuxにあるのは確かにカーネルのヘッダだが、glibcをビルドするときに使った
アーキテクチャ依存部分とかのカーネルヘッダ、
/usr/src/linux/includeにあるのは「現在使用中のカーネル」のヘッダファイル
だよね。(間違ってたらスマソ)

これらが同じだとちょっとカーネルに変更があったときとかまずくない?
最悪glibc動かなくなるときもあるかと。
602login:Penguin
垢版 |
2007/04/08(日) 00:07:55ID:gmHS+Fdj
>>17 をコンパイルするとエラーがたくさん出るんだけど何が悪いの??

エラーの一部
↓
/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/bitops.h:244: error: expected ‘=’, ‘,’’, ‘asm’ or ‘__attribute__’ before ‘int’
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/thread_info.h:
20,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/preempt.h:9,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/spinlock.h:49,
from /usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/module.h:9,
2007/04/08(日) 00:09:38ID:2aPQfsMY
脳?
604login:Penguin
垢版 |
2007/04/08(日) 00:10:46ID:gmHS+Fdj
>>603
いや、たぶん違うと思う。

こんなのも出てる。
↓
/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/system.h:346: error: expected declarat
ion specifiers or ‘...’ before ‘u8’
/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/asm/system.h:346: error: expected declarat
ion specifiers or ‘...’ before ‘u8’
2007/04/08(日) 00:11:42ID:2aPQfsMY
じゃ、頭?
606login:Penguin
垢版 |
2007/04/08(日) 00:12:08ID:gmHS+Fdj
NGID ID:2aPQfsMY
2007/04/08(日) 00:15:19ID:2aPQfsMY
マジレスすると、読み込むヘッダーファイルが足りないんだよ。
608602
垢版 |
2007/04/08(日) 00:19:06ID:gmHS+Fdj
環境はVMWare上でfedora 6を動かしてる。

こんなのも。
↓
/usr/src/kernels/2.6.20-1.2933.fc6-i586/include/linux/bitmap.h:149: error: ‘BITS_PER_LONG’
undeclared (first use in this function)
2007/04/08(日) 00:20:46ID:2aPQfsMY
BITS_PER_LONGを定義しているファイルをさがすことだね。
2007/04/08(日) 00:29:38ID:nSKp4d9I
なんだこのキチガイ
2007/04/08(日) 00:31:56ID:2aPQfsMY
また、きちがいあつかいですか?
2007/04/08(日) 00:36:41ID:nSKp4d9I
ほう「また」なんだ
2007/04/08(日) 00:37:31ID:2aPQfsMY
で?
■ このスレッドは過去ログ倉庫に格納されています

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