タグ

kernelに関するiguchi7のブックマーク (3)

  • Loadable Kernel Moduleの作り方 - とみぞーノート

    LinuxのLoadable Kernel Moduleの作り方のHowTo。対象のカーネルバージョンは2.6。 1. SourceとMakefile カーネルにLoad/Unloadできるだけの小モジュールを作ってみる。何処か適当なディレクトリに以下のようにソースとMakefileを作る。ソースとMakefileの中身は以下を参照。.tar.gzにまとめたファイルはこちらから。 xxxxxx/ Makefile - Makefile small.c - モジュールのソース 1.1 Source モジュールのソースコードのサンプルを以下に示す。 最低限必要なのは、モジュールがLoadされた時に呼び出される初期化ルーチン(smallmod_init_module())とモジュールがUnloadされる時に呼び出される後処理用ルーチン(smallmod_init_module())。これらのルー

  • カーネルモジュールことはじめ#2 - (ひ)メモ

    なんか流行ってるみたいなんでのっかってみるぉ! crash.c #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> static int __init crash_init(void) { printk("crashing kernel...\n"); /* *((char *) 0) = 0; */ panic("Hello, panic!"); return 0; } static void __exit crash_exit(void) { printk("crash_exit called. this module is now unloaded.\n"); return; } module_init(crash_init); module_exit(crash_exit); MOD

    カーネルモジュールことはじめ#2 - (ひ)メモ
  • Linux Kernel Module programming (Kernel 2.4, デバイスドライバ)

    ○ はじめに 文書では、筆者が Linux® でデバイスドライバを作成しようとした際に、カーネルに動的に追加機能を組み込むことが出来るカーネルモジュールの書き方について勉強したことを説明していきたいと思います。 筆者は、コンピュータでハードウェアを制御するプログラムを作りたいと思いながら社会人になったのですが、会社でそういう仕事がどんどん減ってしまって全然機会がありませんでした。しかし、雑誌等でデバイスドライバを作成して自作のハードウェアを制御する記事を読む度に、自分もやりたいという気持ちが大きくなっていきました。 そしてある日、「電子工作を勉強して自分のハードウェアを作り、それを動かすためのソフトウェアを書こう!」と決意しました。Linux でデバイスドライバを作成するには、カーネルに最初から組み込んでしまう方法と、動的に追加機能を組み込むことが出来るカーネルモジュールという形式で作成

  • 1