過去編譯過linux的核心,發現挺容易的。現在愛上了freebsd,發現編譯freebsd的核心更加簡單,時間更快
第一步是需要看看在現有的系統上是否存在有原始碼
# ls /usr/src/sys若出現的結果是
第二步執行下面的命令
# cd /usr/src/sys/i386/conf然後
# cp generic sunrise下面再編輯sunrise檔案
vi sunrise裡面包括一些選項,根據自己的需要來定製核心的功能、驅動、模組等,在整個過程中可以參考文件
第三步是開始編譯了
# cd /usr/src/sys/i386/conf到現在為止,如果沒有出錯那麼就是編譯安裝核心成功了,只需要重新啟動機器,就載入剛剛編譯的核心了.新的核心存放在目錄/boot/kernel下,舊的核心存在/boot/kernel.old/下# /usr/sbin/config sunrise
# cd ../compile/sunrise
# make depend
# make
# make install
第四步,如果在載入新的核心出問題的話,可以在啟動等待10秒的時候輸入如下命令
選擇escape to a loader prompt,第6項,然後輸入unload kernel,再載入舊的核心
boot /boot/kernel.old
/kernel
最後需要提醒的是,每一次編譯都是將新編譯的核心覆蓋/boot/kernel目錄,過去/boot/kernel覆蓋/boot/kernel.old,但是不能夠保證每一次編譯都沒有問題,所以有必要在/boot下儲存乙份好的核心,如
# cp /boot/kernel /boot/kernel_good
FreeBSD核心簡介
freebsd核心可以被看做是一種伺服器,它向使用者程序提供服務。程序通過系統呼叫訪問這些服務。其中有些服務,比如程序排程和記憶體管理,採用核心態執行的程序,或者核心裡定期執行的例程這樣的形式來實現。核心程序只在核心中發揮作用,執行核心映象的 以核心特權模式執行。核心還為每台裝置啟動乙個核心程序,負...
freeBSD核心模組編寫初級
預備知識 freebsd模組事件型別 typedef enum modeventtype modeventtype t 在系統中註冊乙個載入模組和模組事件處理程式 declare module name,data,sub,order name 模組的名字 data 是乙個moduledata t型別...
核心 核心編譯 proc sys
單核心體系設計 但充分借鑑了微核心設計體系的優點,為核心引入模組化機制。核心組成部分 kernel 核心核心,一般為bzimage,通常在 boot目錄下,名稱為vmlinuz version release kernel object 核心物件,一般放置於 lib modules version ...