Andries Brouwer, aeb@cwi.nl2003-02-01 Some remarks on the Linux Kernel 1. Linux 1.1 History 1.2 Size 1.3 Hardware platforms 1.4 Authors 1.5 Users and marketshare 1.6 Name 1.7 Distributions 1.8 Copyright, Open Source, GPL 1.9 Literature and documentation 2. The kernel source 2.1 Kernel versions 2.2 Obtaining the kernel source 2.3 Compiling the kernel 2.4 Booting a new kernel 2.5 Modules 2.6 Subsyst
「Linux/GDBを使ってコードを追っかける」のカーネルモジュール編 gdb vmlinux /proc/kcore では、カーネルモジュールのシンボルが読み込まれないので、gdbが起動した後にadd-symbol-fileコマンドを使ってシンボルを読み込む必要がある。ただし、単純に (gdb) add-symbol-file net/ipv4/tcp_cubic.o としても、相対アドレスなので、使えない。そこで、.text、.dataセクションなどの先頭番地をgdbに教える必要がある。これらのアドレスは、/sys/module/モジュール名/sections/以下のファイルを見ればわかる。 # ls /sys/module/tcp_cubic/sections/ . .data .gnu.linkonce.this_module .strtab __param .. .data.re
Macで動くVMWare Fusion2を使ってLinux Kernel2.6の動きを追う方法のメモ.*1 まずvmxファイルに debugStub.listen.guest32 = "TRUE" の1行を書き加えます. VMWare Fusionを起動します.このとき上のvmxファイルと同じディレクトリの中に.logで終わるファイルがあるので,その中に書いてあるlistening portを探します. ソースファイルとの対応付けをするためにvmlinuxとカーネルのソースコードをもってきます. ここでgdbでデバッグするのですがMacにもともと入っているgdbはtargetがmac用になっているのでそれをLinux用に変えてコンパイルしたものを使います. これで準備完了.CarbonEmacsを立ちあげてM-x cdでLinuxのソースツリーがある場所に移動し,M-x gdbで上のgdb
kgdbはLinux 2.6.26 から統合されたカーネルのデバッグ機能です。使った感じとしては、gdbサーバをカーネルが提供しているような雰囲気です。カーネルモジュールを書いていて厄介なバグに出会ったので、導入してみるに至りました。以下ではその導入方法について述べます。 おおまかな手順 おおかまな手順は以下の通りです。 kgdbをサポートしているカーネルを用意する。 boot時オプションでkgdbを使うように指示する。 ターゲットのvmlinuxをgdbクライアントにコピーする リモートからターゲットにつないでみる kgdbをサポートしているカーネルを用意する kernel.orgなどから2.6.26以降のカーネルを落としてきて、make oldconfigした上でmake menuconfigし、Kernel hackingの項目を開き、kgdbをオンにしてカーネルをビルドします。多く
■はじめに 前回の"ifconfigもどき"はいかがでしたか?今回は、PCIバスに接続されているデバイスのプローブ方法について簡単なプログラムをまじえて説明します。 それと PCIユーティリティーの一つであるlspciをハックして、PCIの情報だけでなく関連のLinuxモジュールを表示するクールなパッチも収録しましたので、 それについても説明します。おそらく今回のお話しは前回の"ifconfigもどき"よりは実用性が高いでしょう(前回が実用性無さ過ぎ!?)。 ■PCIバスとは PCI(Peripheral Component Interconnect)バスは、長い間標準だった(古くなりすぎた?腐りすぎた?)ISAバスの置き換えとして設計されたバスです。 ISAバスと比較して優れている点といえば、まず転送スピードがあげられるでしょう。最初の規格では、バス幅は32ビットで動作周波数は33
組み込みソフトウェア/ハードウェア開発における技術力の向上、改善・最適化などを幅広く支援する“組み込み開発エキスパート”のための情報フォーラム
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
目的 † 膨大に膨れ上がったlinuxカーネルのコンフィグ。 翻訳して読んでも分からないものは分からない。 それでもカーネルをがっつり屠りたい。 そんな人のためのPUKIWIKIです。 どんどん書き込んでください。 メニューもまだ完成していません。 こういうの作るの得意な方、アドバイスお待ちしております。 できればきちんと翻訳する。 翻訳だけに固執せず分かりやすい説明を加える。 それでもわかりにくいものは例えをだす。 486か686かわからない?→最近買った人なら686選べば問題なし みたいな。 極力、最小構成のカーネルにできるような説明、例にする。 でも、冗長性は持たせたい場合はモジュール化推奨とする。 出来る限り最新を追う 以上です。カーネルにどんな機能を自分がつけたか知ることはすごく勉強になると思います。 これからどんどん見栄えやフォントサイズなど調整していくので よろしくお願い致
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く