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

建立在CD上運行的FreeBSD系統

 
conundrum
尊榮會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-01 10:29:11 IP:61.221.xxx.xxx 未訂閱
http://mail.tses.tcc.edu.tw/nuke/sections.php?op=viewarticle&artid=165     
 建立在CD上運行的FreeBSD系統
(已閱讀: 691 次)     發信人: kidz@kkcity.com.tw (料理的層次不同啊!老頭), 看板: bsd
標 題: [文件] 建立在CD上運行的FreeBSD系統
發信站: KKCITY (Tue Sep 3 03:05:47 2002)
轉信站: Pivot!nchunews.nchu!ccnews.nchu!ctu-gate!news.nctu!news.ntust!wd-news!f
Origin: bbs.kkcity.com.tw    建立一套可以在CD上運行的FreeBSD系統
主要拿來架設NAT、Firewall系統,也可以
建立一套簡單的X-Window使用者環境    Step 1 安裝基本系統
/stand/sysinstall
Configure -> Options
修改下列兩項
Release Name => 4.6.2-RELEASE (或是想安裝的版本)
Install Root => /home/4.6.2-RELEASE (找個地方來擺系統)    Distributions
=>按照一般的你的習慣來安裝FreeBSD系統
=>把基本的系統和X系統安裝起來即可 (光碟或是FTP裝起來吧!)    Step 2 設定基本系統    # cp -R /stand /home/4.6.2-RELEASE
# chroot /home/4.6.2-RELEASE    接下來根目錄會切換至/home/4.6.2-RELEASE
# mkdir -p CD-bsd
# mkdir -p CD-bsd
這個目錄是我們要放一些設定檔案和開機檔用的    設定一下/etc下面的一些檔案為光碟開機作準備
/etc/rc.conf (至少設定個網路)
hostname="xxx.xxx.xxx"
ifconfig_xl0="................"
defaultrouter="..............."
moused_enable="YES"
sendmail_enable="NONE"
sshd_enable="YES"
## ##
## Firewall選項就看個人了 ##
## ##
#firewall_enable="YES"
#firewall_script="/etc/rc.firewall"
#firewall_type="OPEN"
#gateway_enable="YES"
#natd_enable="YES"
#natd_interface="xl0"
## ##
## PPPoE上網 ##
## 記得編輯/etc/ppp/ppp.conf ##
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="ISP-Name"
#ppp_nat="YES"
## NFS Client 最好還是開啟吧! ##
nfs_client_enable="YES"    /etc/resolv.conf (把Domain和DNS設定好)
domain xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx    /etc/rc 大概55行的位置,HOME和PATH環境變數設定之後的位置加入如下:
/sbin/mount_mfs -s 30000 swap /tmp
/sbin/mount_mfs -s 50000 swap /var
/sbin/mount_mfs -s 20000 swap /root
/sbin/mount_mfs -s 12000 -o union,noatime,rw swap /dev
cd /dev && sh MAKEDEV vty12 pty0
tar zxf /CD-bsd/var.tgz -C /
tar zxf /CD-bsd/root.tgz -C /
這個步驟是把swap掛入系統檔案讓系統/tmp /var /root /dev有讀寫的功能
大小可以自己定義
var.tgz和root.tgz在系統會完成的時候才製作    接下來放一個機器可以跑的XF86Config設定檔案到/etc/X11下面
(跑X的時候使用) 假使拿到其他顯示卡不同的硬體去跑的時候
因為root可以讀寫所以重新用xf86cfg -textmode設定好存在
/root/XF86Config就可以跑X了! (只是這樣每次光碟開機都要重新設定就是了)    # touch /etc/fstab
如果/etc/fstab裡面有內容就刪除內容讓他置空
如果/etc/fstab沒這個檔案就用touch來產生一個空的
(注意! 一定要有這個檔案,要不然光碟開機後會進不去系統)    # rm -rf /dev/ttyv* /dev/ptyp* /dev/ttyp* /dev/vga
刪除這給個dev,之前/etc/rc設定的每次開機都會重新建立新的出來    Step 3 安裝設定基本軟體    接下來開始安裝想要塞進一張光碟下所取捨的系統軟體
也是按照一般的安裝軟體的習慣來安裝就可以了
1. ports 安裝法
2. /stand/sysinstall 直接安裝packages
3. # setenv PACKAGEROOT ftp.tw.freebsd.org
# pkg_add -r package-name    基本系統加上基本X-Win大概是310MB左右 (不裝X大概是180MB)
所以大概有接近400MB的空間是可以自己取捨來控制安裝自己常用的
把中文字型都灌好,(細明體也塞進去),建立基本的中文環境
安裝基本的上網工具Mozilla   IglooFTP   sylpheed   gaim   rxvt
再塞整個CJK-LaTeX進去(ghostscript   xpdf   dvipdfm-cjk)配vim-lite
WM方面灌WindowMaker和Icewm (灌一堆WM的Dock...不過這些都很小)
這樣下來大概550MB左右...............不知道還要塞什麼!    最後檢察一下/root下自己私人的設定檔案
至少.cshrc的shell要設定好自己慣用的參數    # exit
跳出進行下個步驟    Step 4 製作開機影像檔    做一個給光碟開機的kernel,至少加入以下設定
options ROOTDEVNAME="cd9660:acd0"
(防火牆請記得加入相關設定)    acd0的地方請自己改成機器上的光碟開機那台的Device
config CD-bsd ; cd ../../compile/CD-bsd ; make depend ; make
請注意.....不要打太順make install到自己系統上去...這是給光碟開機用的
(因為我是打太順了....)    再來請去偷FreeBSD的開機影像檔 boot.flp (floppies/boot.flp)
把boot.flp放到/home/4.6.2-RELEASE/CD-bsd/下去    # vnconfig -c vn0 /home/4.6.2-RELEASE/CD-bsd/boot.flp
# mount /dev/vn0 /mnt
# rm /mnt/mfsroot.gz
# cat /usr/src/sys/compile/CD-bsd/kernel | gzip -9 > /mnt/kernel.gz
# cp /home/4.6.2-RELEASE/boot/boot0 /mnt/boot
# cp /home/4.6.2-RELEASE/boot/loader.4th /mnt/boot
# ee /mnt/loader.rc
刪除第一行和第二行
# umount /mnt
# vnconfig -u /dev/vn0    Step 5 建立光碟系統    接下來要開始剪裁系統了
# cd/home
# mkdir -p /home/CD-bsd
# ee tar-exclude (這個檔案內容是那些目錄或是檔案不需要拷貝)
usr/ports
usr/src
stand
kernel.GENERIC
# tar -X tar-exclude -cf - -C 4.6.2-RELEASE . | tar xpf - -C CD-bsd
這樣會把4.6.2-RELEASE的內容除掉tar-exclude內所包含的名單
包含檔案權限原封不動的搬到/home/CD-bsd
這個目錄是我們才是最後要製作成embedded CD的地方    # cd /home/CD-bsd
# tar zcf CD-bsd/var.tgz var
# tar zcf CD-bsd/root.tgz root
# rm -rf var/* ; rm -rf root/*    Step 6 建立光碟影像檔    # cd /home
# mkisofs -l -r -L -b CD-bsd/boot.flp -o CD-bsd.iso CD-bsd    把CD-bsd.iso燒好大功告成............    感想:
其實拿來架個NAT firewall DHCP變得很easy,只要事先設定好罷了
甚至喜歡要在上面運行apache php mySQL跑Samba也不是什麼難事
建立一個可以上網又可以弄LaTeX的CD環境看起來好像不錯........
但是....拿來架Server畢竟不是很好的解決方案,log檔關機就消失了
拿來打CJK,雖然說有很完整的環境但是系統打好文件存檔也是個問題
到時候打好還要傳到別的機器上去.......灌在光碟上好像很....無用
作Desktop環境只有簡單的上網工具看的網頁...打BB和看看FTP
Knoppix Linux的玩家看到會笑死吧! 人家可是可是不只把KDE3塞進光碟
還建立了一套很完整的使用者系統.............    總之......製作這樣的embedded感覺上很空虛........
不過自己看爽就好了......而且可以改進的地方還很多
系統內還有很多用不到的可以刪減的! /etc也可以改成可以修改來運作
最好是能夠像Knoppix Linux一樣X-Win和網路可以自己搞定.......
那就真的很方便了...........    相關網站: http://livecd.sourceforge.net/ 
系統時間:2024-05-17 2:04:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!