讀入bios
讀取mbr中的引導程式(lilo或者grub)
讀取核心進主存,核心解壓,試圖驅動所有硬體
啟動init程式,啟動級別
讀取login或者xwindow等使用者登入
核心模組放置在/lib/modules/`uname -r`/中
編譯核心是為了使得系統更穩定,對對優化提公升整體效能而言影響很小
cd /usr/src
tar zxvf linux-2.6.34.1.tar.bz2
cd linux-2.6.34.1
make mrproper 刪除一些以前留下來的.o檔案
make menuconfig 使用類似選單方式來選擇核心引數,純文字模式,不需要x window支援。
<*>表示編譯進核心 表示編譯成模組,不知道該專案是什麼且有模組可選時,就可以直接選擇為模組
make clean 將以前曾經生成的*.o檔案,這樣就不會產生新舊版本的誤差
make bzimage:製作出核心檔案,這個過程很長。
編譯好的核心放在:/usr/src/linux-2.6.34/arch/i386/boot/bzimage裡面
make modules:製作出模組相關的檔案
我們在重新編譯模組之前,我們應該對前一次的編譯的模組進行備份。
cd /lib/modules
mv 2.6.34 2.6.34.old
模組安裝:
make modules_install
1.移動新核心到/boot中
cp /usr/src/linux-2.6.34/arch/i386/boot/bzimage /boot/vmlinuz-2.6.34
cp /usr/src/linux-2.6.34/system.map /boot/system.map-2.6.34
修改grub設定檔案
[root@www ~]# vim /boot/grub/menu.lst
default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#hiddenmenu
title centos (2.6.18-128.2.1.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-128.2.1.el5
module /boot/vmlinuz-2.6.18-128.2.1.el5xen ro root=label=/ rhgb quiet
module /boot/initrd-2.6.18-128.2.1.el5xen.img
title centos testing kernel from vbird
root (hd0,0)
kernel /boot/vmlinuz-2.6.30.3vbird ro root=label=/ rhgb
initrd /boot/initrd-2.6.30.3vbird.img
額外(單一)模組編譯
這些核心模組根據不同的版本,分別放到/lib/modules/`uname -r`中,各個硬體的驅動程式則放到/lib/modules/`uname -r`/kernel/drivers中,這些模組與裝置代號的對應,就必須寫入/etc/modprobe.conf中,一般linux核心會自動載入,也可以用modprobe或者insmod命令去載入
在kernel2.6版的核心中,所有的核心模組都改名為*.ko了。
2.讀他裡面的readme或者install,並依次執行
3.把生成的核心模組拷貝到相應位置
4.更新模組依賴屬性:在/lib/modules/`uname -r` (這裡是你槓編譯完的核心目錄)depmod -a
自行編譯的模組,在核心更新之後,需要重新編譯針對新核心的模組
核心模組管理:lsmod modinfo modprobe insmod rmmod......
Linux核心之程序管理(學習筆記)
1 支援執行緒的計算機系統裡面,程序作為資源分配的基本單位而存在,執行緒作為排程的基本單位而存在。執行緒僅擁有必不可少的一些資源,如 一組暫存器 堆疊資訊等等和其他執行緒共享同乙個程序的所有資源。所以,在同乙個程序的執行緒切換時不需要大量的儲存和恢復工作,同時由於共享同乙個儲存空間,不需要更新快表t...
linux核心記憶體管理學習筆記
記憶體管理 實體地址出現在cpu外部位址匯流排上的定址物理記憶體的位址訊號 執行緒位址虛擬位址在32位cpu架構下4g位址空間中的位址 邏輯位址彙編中使用的位址 20位的虛擬位址如何存入16位的暫存器中呢 分段方式來實現 邏輯段的起始位址段位址必須是16的倍數,邏輯段的最大容量是64k 實體地址 段...
記憶體管理學習筆記
1.棧 堆和靜態區 靜態區 儲存自動全域性變數和static變數 包括全域性靜態變數和區域性靜態變數 靜態區的內容在整個程式的生命週期內都存在。棧 儲存區域性變數。棧上的內容只在函式的範圍內存在,當函式執行結束,這些內容也會自動被銷毀。其特點是效率高,但是空間大小有限。堆 由malloc系列函式或n...