1. 程式人生 > >linux內核編譯及系統裁減

linux內核編譯及系統裁減

smo boot efi val 編譯 .org 執行 sys some

核心:/boot/vmlinuz-version 內核模塊(ko):/lib/modules/version/

內核設計: 單內核 模塊化設計 微內核 裝載模塊: insmod modprobe

www.kernel.org

用戶空間訪問、監控內核的方式 /proc,/sys

偽文件系統 /proc/sys:此目錄中的文件很多事可讀寫的 /sys/:某些文件可寫

設定內核參數值的方法: echo Value > /proc/sys/TO/SOMEFILE sysctl -w kernel.hostname=

能立即生效,但無法永久有效

永久有效:/etc/sysctl.conf

修改文件完成之後,執行如下命令可立即生效

sysctl -p sysctl -a:顯示所有內核參數及其值

內核模塊管理: lsmod:查看

modprobe MOD_NAME:裝載某模塊 modprobe -r MOD_NAME:卸載某模塊 modinfo MOD_NAME:查看模塊的具體信息

insmod /path/to/module_file:裝載模塊 rmmod MOD_NAME

demod /path/to/modiles_dir

內核中的功能除了核心功能之外,在編譯時,大多數功能都有3中選擇: 1,不適用此功能 2,編譯成內核模塊 3,編譯進內核

如何手動編譯內核: make gconfig:Gnome桌面環境使用,需要安裝圖形開發庫組:GNOME Software Development make kconfig:KDE桌面環境使用,需要安裝圖形開發庫

make menuconfig:

make make modules_install make install

screen命令(需要安裝screen命令才能使用) screen -ls:顯示已經建立的屏幕 screen:直接打開一個新的屏幕 Crtl+a , d:拆除屏幕 screen -r ID:還原回某屏幕

二次編譯時清理,清理前,如果有需要,請備份配置文件.config; make clean make mrproper

grub-->kernel--initrd-->ROOTS(/sbin/init,/bin/bash)

linux內核編譯及系統裁減