歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統啟動流程及內核編譯(2)

Linux系統啟動流程及內核編譯(2)

日期:2017/3/3 14:13:07   编辑:Linux技術

Linux系統啟動流程及內核編譯(2)1.內核設計:有單內核和微內核之分 linux屬於單內核的模塊化設計 系統內核核心路徑:/boot/vmlinuz-版本號

內核模塊路徑: /lib/modules/版本號/

linux分為內核空間和用戶空間

而用戶空間通過訪問和監控內核:路徑在/proc/和/sys/兩個偽文件系統

2.偽文件系統/proc/sys和/sys/有些目錄中文件是可讀或可寫的

設定內核參數值的方法:

2.1.能立即生效,但重啟系統設定無效

2.1.1.echo 值 > /proc/sys/TO/SOMEFILE

2.1.2.sysctl -w kernel.hostname=willow.com.tw

3.通過修改/etc/sysctl.conf配置文件可永久有效

但執行如下命令可立即生效:

sysctl -p 讓內核重新加載/etc/sysctl.conf配置文件

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

4.內核模塊管理:

lsmod: 查看

modprobe 模塊名稱:裝載某模塊

modprobe -r 模塊名稱: 卸載某模塊

modinfo 模塊名稱: 查看模塊的具體信息

insmod 模塊路徑名稱.ko: 裝載模塊

rmmod 模塊名稱:卸載某模塊

depmod 模塊目錄:分析可載入模塊的相依性

5.手動編譯內核:

提前安裝"Development Tools"和"Development Libraries"和"Server Platform Development"

5.1:選擇或取消指定的模塊

make gconfig: Gnome桌面環境使用,需要安裝圖形開發庫組:GNOME Software Development

主要包確認安裝:gtk+ gtk-devel libglade2-devel

make kconfig: KDE桌面環境使用, 需要安裝圖形開發庫組; KDE Software Development

make xconfig:Gnome桌面環境使用

主要包確認安裝:qt qt-devel

make menuconfig:文本環境下使用

主要包確認安裝:ncusres ncurse-devel

5.2:編譯

make

make modules(可選)

5.3:將編譯的模塊復制到指定的目錄和文件中或修改文件

make modules_install 復制模塊至/lib/modules/目錄下

make install 復制啟動系統內核和鏡像文件等(含編輯grub.conf 文件)

5.4.如果編譯出現報錯或想二次編譯

需清理時但清理前,如有需要,請備份配置文件.config:

make clean 刪除大多數編譯的文件,但不刪除.config文件

make mrproper 刪除所有編譯的文件,包括.config文件

5.5:制作initrd-XXX-XXX.img系統鏡像文件

5.5.1.mkinitrd initrd文件路徑 內核版本號

mkinitrd /boot/initrd-`uname -r`.img `uname -r`

dracut /boot/initrd-`uname -r`.img `uname -r` (redhat6新工具)

5.5.2.在現有系統中解壓initrd文件,小部分修改成自己的initrd文件

mkdir initrd

cd initrd

zcat /boot/initrd-XXX-XXX.img | cpio -id 解壓歸檔

vim init

mkrootdev -t ext3 -o defaults,ro /dev/sda2 指向自己的訂制硬盤

find . | cpio -H newc --quiet -o | gzip > /sysboot/initrd.gz 重新歸檔

6.screen命令:

screen: 直接打開一個新的屏幕 Ctrl+a, d: 拆除屏幕 screen -ls: 顯示已經建立的屏幕及ID號 screen -r ID號: 還原指定的屏幕 exit: 退出本文出自 “夏維柳” 博客,請務必保留此出處http://willow.blog.51cto.com/6574604/1768872

Copyright © Linux教程網 All Rights Reserved