全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2085
推到 Plurk!
推到 Facebook!

製作RAMDISK in KERNEL的OpenBSD微系統

 
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-30 14:10:51 IP:220.132.xxx.xxx 未訂閱
製作RAMDISK in KERNEL的OpenBSD微系統 http://www.freebsdchina.org/forum/viewtopic.php?t=11107&sid=e845ae15d7b44251d49fc09bb8a3154d 製作RAMDISK in KERNEL的OpenBSD微系統     Matthew(黑夜編碼人)  前言 在以前我們已經講過如何製作軟碟上運行的FreeBSD系統,現在我們來看看如何製作一個運行在軟碟上的OpenBSD系統。與軟碟上的FreeBSD不同的是,這次我們將系統中的所有配製檔及程式全部存放到OpenBSD的內核中,這樣整個系統看起來就是一個檔。下面讓我們具體來看看如何完成這樣一個微系統的製作。 0、OpenBSD的啟動過程 當硬碟MBR中的引導程式接過啟動之後,MBR中的程式將讀入硬碟OpenBSD分區中的引導程式,引導程式默認情況下會載入/boot,然後由boot載入內核,此時內核開始檢測一些硬體和做一些初始化。初始化完成後kernel將mount root device,然後啟動系統初始化進程/sbin/init,init將根據/etc/rc中的設置來進行初始化等。 1、定制RAMDISK內核 要使用RAMDISK in KERNEL就必須在內核配製檔中加入以下選項: option RAMDISK_HOOKS option MINIROOTSIZE=3560 pseudo-device rd 1 以上的內核參數意義如下: option RAMDISK_HOOKS:開啟ramdisk in kernel的功能。 option MINIROOTSIZE=xxx:設置內核中ramdisk的大小,以512b為單位(據說最大只能為23000 ) pseudo-device rd 1:在內核中產生1個ramdisk設備。 2、製作ramdisk鏡像 # dd if=/dev/zero of=/ramdisk bs=512 count=3560 # vnconfig -c svnd0 /ramdisk # disklabel -r -w svnd0 rdroot # newfs -m 0 -S 512 -i 4096 /dev/svnd0a # mount /dev/svnd0a /mnt # mkdir /mnt/{dev,bin,sbin,etc} # cp /dev/MAKEDEV /mnt/dev # cp /bin/{sh,ls} /mnt/bin # cp /sbin/init /mnt/sbin # cd /mnt/dev/ && ./MAKEDEV ramdisk # echo 'echo "This is my minibsd all in kernel" && /bin/sh' > /mnt/etc/rc # sync && umount /mnt # sync && vnconfig -u svnd0 && sync 3、將ramdisk寫入kernel # cc -o rdsetroot /usr/src/distrib/common/elfrdsetroot.c # ./rdsetroot /minibsd < ramdisk 4、壓縮kernel大小 # gzip -9 -c /minibsd > /minibsd.gz 5、製作目標軟碟 因為系統需要使用/boot(/usr/mdec/boot)來載入kernel,所以我們需要在軟碟上放置boot檔。 # disklabel -B -w -r /dev/fd0a fd1440 # newfs -m 0 -S 512 /dev/fd0a # mount /dev/fd0a /mnt # cp /usr/mdec/boot /mnt # cp /minibsd.gz /mnt/bsd 現在你的ramdisk in kernel的miniopenbsd系統就已經做好了。 注:任何轉載或摘抄請保留作者資訊和注明文章出處(中文FreeBSD用戶組 http://www.cnfug.org) 更多精采盡在CNFUG: http://www.cnfug.org/ _________________ CNFUG(China FreeBSD User Group): http://www.cnfug.org/
系統時間:2024-04-29 13:45:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!