最終更新:2022-10-06 (木) 02:23:38 (530d)
Linuxカーネル/ソースコード
GitHub
閲覧
Debian,Ubuntu
apt-get install linux-source linux-headers
- linux-headers (Linux/usr/src/linux-headers-`uname -r`) - Linuxカーネルのヘッダファイル
- linux-source (Linux/usr/src/linux-source-`uname -r`?) - Linuxカーネルのソースコード
CentOS,Fedora
Linuxカーネル/ヘッダファイル
yum install kernel-devel kernel-headers
- kernel-headers (Linux/usr/include) - glibcで使用するLinuxカーネルのヘッダファイル
- kernel-devel (Linux/usr/src/kernels) - カーネルにマッチするカーネルモジュールのビルドのための開発パッケージ。
ソースコード
- 標準だとソースコードを含むパッケージが用意されていないのでrpmから抽出する
yum install rpmdevtools yum-utils rpmdev-setuptree yumdownloader --source kernel yum-builddep kernel-<version>.src.rpm rpm -Uvh kernel-<version>.src.rpm cd ~/rpmbuild/SPECS rpmbuild -bp --target=$(uname -m) kernel.spec cp configs/kernel-<version>.config .config make oldconfig
コマンド
Linux/usr/src/linux (シンボリックリンク)
Ubuntu
cd /usr/src ln -s linux-source-2.6.xx linux
CentOS
cd /usr/src ln -s kernel/{バージョン} linux
- のようにシンボリックリンクを貼って作業することが多い。
構成とか
Linuxカーネル/ソースコード/ディレクトリ構成
中身 関連 Linuxカーネル/ソースコード/Documentation kernel.org/doc/Documentation Linuxカーネル/ソースコード/Kbuild Kbuild? Linuxカーネル/ソースコード/Kconfig Linuxカーネル/ソースコード/Makefile Linuxカーネル/ソースコード/arch arch architecture specific kernel code. Linuxカーネル/ソースコード/block? block Linuxカーネル/ソースコード/crypto? crypto Linuxカーネル/ソースコード/drivers drivers Linux/デバイスドライバ Linuxカーネル/ソースコード/firmware? firmware? Linuxカーネル/ソースコード/fs fs ファイルシステムのコード Linuxカーネル/ソースコード/include Linuxカーネル/ヘッダファイル include files needed to build the kernel code. Linuxカーネル/ソースコード/init Linux/init initialization code for the kernel and it is a very good place to start looking at how the kernel works. Linuxカーネル/ソースコード/ipc? ipc? kernels inter-process communications code Linuxカーネル/ソースコード/kernel kernel main kernel code. Again, the architecture specific kernel code is in arch/*/kernel. Linuxカーネル/ソースコード/lib lib kernel's library code Linuxカーネル/ソースコード/mm? mm memory management code Linuxカーネル/ソースコード/net net kernel's networking code Linuxカーネル/ソースコード/samples Linux/samples Linuxカーネル/ソースコード/scripts? Linux/scripts scripts (for example awk and tk scripts) that are used when the kernel is configured Linuxカーネル/ソースコード/security? security? Linuxカーネル/ソースコード/sound? sound Linuxカーネル/ソースコード/tools? tools? Linuxカーネル/ソースコード/usr? usr? Linuxカーネル/ソースコード/virt? virt? Linuxカーネル/ソースコード/README
Linuxカーネル/ソースコード/include
- Kbuild?
- acpi
- asm-generic
- crypto
- drm?
- keys?
- linux
- math-emu?
- media
- misc?
- mtd?
- net
- pcmcia?
- rdma?
- rxrpc?
- scsi?
- sound
- target?
- trace?
- video
- xen?