二.配置核心
1、刪除源**目錄中殘留的.o檔案和其它從屬檔案。
# cd /usr/src/ rtlinux/linux
# make mrproper
2、啟動核心配置程式
# make menuconfig
3、配置核心
linux的核心配置程式提供了一系列配置選項。對於每乙個配置選項,使用者可以回答"*"、"m"或" "。其中"*"表示將相應特性的支援或裝置驅動程式編譯進核心;"m"表示將相應特性的支援或裝置驅動程式編譯成可載入模組,在需要時,可由系統或使用者自行加入到核心中去;" "表示核心不提供相應特性或驅動程式的支援。不合理的配置可能造成核心編譯失敗。
三、編譯核心
1、建立編譯時所需的從屬檔案
# make dep
2、清除核心編譯的目標檔案
# make clean
3、編譯核心
# make bzimage (注意大小寫)
核心編譯成功後,會在/usr/src// rtlinux/linux /arch/i386/boot目錄中生成乙個新核心的映像檔案bzimage。
四、編譯可載入模組
如果使用者在配置核心時設定了可載入模組,則需要對這些模組進行編譯,以便將來使用insmod命令進行載入。
# make modules
# make modules_install
編譯成功後,系統會在/lib/modules目錄下生成乙個2.4.28-rtl3.2-rc1子目錄,裡面存放著新核心的所有可載入模組。
五、啟動新核心
1、將/usr/src/ rtlinux/linux /arch/i386/boot/bzimage檔案拷貝到/boot目錄下
#cd /boot
# cp /usr/src/ rtlinux/linux /arch/i386/boot/bzimage ./
2、生成映象檔案rtlinux
#mkinitrd rtlinux.img 2.4.28-rtl3.2-rc1
執行成功後會在/boot資料夾下生成rtlinux.img
3、配置/boot/grub/brug.conf檔案,在該檔案中加入下面幾行:
title rtlinux(2.4.28)
root(hd0,0)
kernel /boot/bzimage ro root=/dev/hda1
initrd /boot/ rtlinux.img
儲存退出
4、重新啟動系統
# reboot
5、重啟後進入rtlinux
#cd /usr/src/rtlinux
#make xconfig
按預設選項配置
6、編譯rtlinux<
#make
#make devicds
#make install
7、重啟後進入rtlinux
在rtlinux中,應確保mbuff,rtl_fifo,rtl, rtl_posixio, rtl_sched, rtl_time等動態載入到rtlinux
核心中。
#rtinux status //檢視載入了哪些模組
#rtinux start //載入所有rtinux模組
#rtinux status //確認是否被載入
看到所有模組被載入了,就成功了,否則,重新配置核心。
七、出現問題
1、啟動配置後的系統後,無法解壓bzimage。
bzimage出現無法解壓的問題,是因為在不會配置核心的前提下,我直接使用了預設的核心,雖然也是make modules,make modules_install,但是核心中的kernel為空,導致無法解壓bzimage.
2、啟動後,出現」kernel panic : no init found try init= option to kernel 」,系統停止載入。
出現該問題的原因是在寫配置/boot/grub/brug.conf檔案,在該檔案中kernel /boot/bzimage ro root=/dev/hda1,hda1為/boot掛載點,hda2為/掛載點,應該寫的是根目錄的掛載點,故因將「kernel /boot/bzimage ro root=/dev/hda1 」改為「kernel /boot/bzimage ro root=/dev/hda2」。問題解決。
3、啟動後,系統載入後,出現「staring system logger」,然後停止響應。
出現該問題的原因是核心配置問題。出現提示是「/var/log/ksys* 」檔案為唯讀檔案,不能移動。修改核心,去掉file system中的」/dev file system support 」選項,重新編譯後核心啟動,系統載入成功。
RT Linux開發之 實現原理
它的實現方式是子核心方法,即把linux核心作為乙個新實現的子核心的閒暇任務,子核心位於linux核心和硬體抽象層之間,實時任務執行於子核心之上,只有當沒有實時任務需要執行時,linux核心才有機會執行。特別是對中斷的管理,它採用了一種軟體的方式來處理linux內的中斷關閉。當linux核心關閉中斷...
配置配額系統
配置配額系統 1.新建分割槽,格式化,普通掛載 2.重新掛載,mount o remount,usrquota mount point 3.初始化資料庫,quotacheck cuv mount point 自動生成aquota.user檔案 4.啟動配額 5.編輯配額 1 切換到student,使...
ctrip Apollo配置系統
同事做了乙個ctrip apollo的分享,其主要作用就是做了乙個視覺化的介面配置系統資訊,並且能夠提供api給應用系統,理論上我們所有的properties,系統引數xml都是可以摒棄的,其中對動態更改資料庫配置不用重啟伺服器的功能還是比較感興趣的,不過問了下,還是要自己處理依賴,還是比較費勁的,...