kernel

Linuxデバイスドライバを書いるとき、insmod module.ko, rmmod moduleを繰り返しているうちに、デバッグメッセージがいつ実行したドライバのメッセージがわからなくなる。いつ実行したか確実にわかるように、insmod, rmmodなどを実行したとき、printk()で現…

Linux Kernelの最新のコードを入手するにはgitやftpで直接Linux Kernel Archiveからダウンロードすることも可能だが、gitはコマンドを覚えるのも大変だし、Linux Kernel Archiveから落とすのは毎回アクセスするのがめんどくさい。そこでketchupを使うことで…

必要なものは最新のカーネルとビルドツールが必要になる。ゲストのUMLからホストOSのファイルシステムをアクセスできるhostfsを使用すると便利である。UMLのコンパイルは以下のようにするののがお薦めである。 $ make defconfig ARCH=um $ make gconfig ARCH…

カーネル開発

カーネル開発に主に参考したカーネル Minix3 http://www.minix3.orgOperating Systems Design and Implementation, 3/E を参考にして読んでいる。 かなりわけのわからない所がある、教育用のオペレーティングシステムと言われているがすこし難しい。 カーネ…

カーネル開発 GRUB マルチブートについて

参考文献 公式のマニュアルは下のサイトにあります。 GRUBマルチブートについて、詳しい情報はマルチブートの仕様書に書いてあります。 http://www.gnu.org/software/grub/manual/multiboot/ GRUBのマルチブートの利点 カーネル開発をするとき、多くのカーネ…

GRUBを使い、ブートのコードを書かずにカーネルを起動させる。

カーネルの開発に必要なもの Unix系の環境、たぶんWindowsでもできるかもしれない。 VMware Player (別に他のエミュレータを使ってもいいけど大変かもしれない) qemu (vmplayerのイメージの作成に使う) GRUBを使っているオペレーティングシステムのディス…