999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

如何制作Live CD

2010-03-22 11:48:39李晨光
鐵路計算機應(yīng)用 2010年5期
關(guān)鍵詞:程序設(shè)備

李晨光

(中鐵工程設(shè)計咨詢集團有限公司信息中心,北京100055)

LiveCD是一種無需安裝、完全從CDROM啟動的瘦Linux版 。當(dāng)它運行時所有的工具都存放在CDROM上或者內(nèi)存里,而不是硬盤上,這是和傳統(tǒng)的操作系統(tǒng)最大區(qū)別。各Live CD在功能上的區(qū)分并不是絕對的,因為大部分Live CD本身就是一個非常完整的Linux系統(tǒng),可以用它來實現(xiàn)各種功能 。

1 制作LiveCD

計算機加電以后, 由位于主板上的BIOS負(fù)責(zé)引導(dǎo)操作系統(tǒng)。Linux平臺上主要的引導(dǎo)程序(bootloader)是LILO(Linux Loader)和GRUB。這兩個引導(dǎo)程序分為2部分, 第1部分(Firststage)尺寸很小, 以便裝入MBR,它負(fù)責(zé)引導(dǎo)第2部分(Second stage)來完成主要的引導(dǎo)工作。當(dāng)?shù)?部分加載后,它根據(jù)預(yù)先的配置顯示選單界面,供用戶選擇引導(dǎo)的操作系統(tǒng)及啟動參數(shù)。接下來,引導(dǎo)程序?qū)?nèi)核映像文件和初始Ramdisk(initrd)映像加載入內(nèi)存,initrd映像用于存放一些用于系統(tǒng)引導(dǎo)的關(guān)鍵驅(qū)動模塊,而這些文件又無法從磁盤上的文件系統(tǒng)加載。映像加載完畢后,控制權(quán)就由引導(dǎo)程序交給Linux內(nèi)核。Linux內(nèi)核啟動后,首先會初始化,并配置系統(tǒng)的可用內(nèi)存以及各種相關(guān)設(shè)備,解壓并掛載內(nèi)存中的initrd映像、加載其中的驅(qū)動程序,初始化和文件系統(tǒng)相關(guān)的各種虛擬設(shè)備。最后, 內(nèi)核加載根(/)文件系統(tǒng)、釋放不再使用的內(nèi)存,執(zhí)行第1個程序/sbin/init。/sbin/init程序是系統(tǒng)啟動后運行的第1個進程,它根據(jù)配置文件/etc/inittab依次執(zhí)行/etc/rcx.d目錄中的啟動腳本,由這些腳本完成各種初始化,啟動各種服務(wù)程序。至此,Linux系統(tǒng)已經(jīng)引導(dǎo)完成了。

2 準(zhǔn)備創(chuàng)建LiveCD

2.1 下載鏡像

從http://easynews.dl.sourceforge.net/sourceforge/souptonuts/cdrom_linux_boot_proj1.iso下載文件cdrom_linux_boot_proj1.iso,并將其刻錄至光盤之上。使用該光盤重新啟動系統(tǒng)。目的是為了檢測內(nèi)核中是否編譯了所需的網(wǎng)絡(luò)、視頻和鍵盤(包含USB)驅(qū)動器。如果有重要的設(shè)備沒有被識別,那么可以將其加到內(nèi)核之中。

2.2 下載項目環(huán)境

從http://prdownloads.sourceforge.net/souptonuts/proj1.tar.gz下載完整的項目環(huán)境 proj1.tar.gz。該軟件包中包含了所有用于創(chuàng)建和 定制cdrom_linux_boot_ proj1.iso所需的東西,這其中包括BusyBox源碼、各種庫和SSH。目錄 “_install”包含了用于SSH、init和tcpdump所需的庫。2.6.11內(nèi) 核 的 “.config”可以在文檔目錄中找到。此外,staginig_iso_image目錄包含了一份內(nèi)核bzImage以及isolinux啟動加載器。proj1.tar.gz文件的大小是l1 MB,由于其包含了除源代碼以外用戶所需的所有東西,所以只需再下載內(nèi)核代碼即可。下 載地址為http://www.kernel.org/pub/linux/kernel/v2.6/。

在后面的步驟中,介紹配置和安裝最新內(nèi)核的方法。在解壓proj1.tar.gz文件時,解壓該文件會創(chuàng)建所有必需的字符和塊設(shè)備,所以需要以root的身份使用“tar -xzf”命令進行解壓縮。

用如下命令檢查下載完整性:$md5sum proj1.tar.gz

用如下命令解壓解包文件:#tar -xzf proj1.tar.gz

轉(zhuǎn)換成root身份,以確保可以創(chuàng)建所有/dev設(shè)備。完成上述步驟后,這時可以使用如下命令查看全部的設(shè)備:[root@third-fl-71_install] #lS -l dev。

如果使用普通賬號進行上述步驟 ,會發(fā)現(xiàn)很多文件都沒有被創(chuàng)建 。執(zhí)行createiso腳本:#./createiso該腳本會執(zhí)行很多操作,它會以 ./cdrom為掛載點創(chuàng)建一個loop back設(shè)備,會拷貝_install的內(nèi)容。之后,它會卸載./cdrom。接下來,它會拷貝staging目錄中的內(nèi)容 。并且會創(chuàng)建一個可啟動的CD映像 ,還會創(chuàng)建一個虛擬的文件系統(tǒng)。

3 編譯LiveCD源碼

3.1 下載 BusyBox

從http://www.busybox.net/downloads/busybox-1.00.tar.gz下載BusyBox

$wget http://www.busybox.net/downloads/busybox-1.00.tar.gz

$wget https://www.busybox.net/downloads/busybox-1.00.tar.gz.sign

$md5sum busybox-1.00.tar.gz

fa62459e098fc00b22772aaf2e75bc98 busybox-1.00.tar.gz

接下來解壓文件 :

$tar --xzf busybox-1.00.tar.gz

3.2 配置BusyBox

如果用戶不想自己寫配置文件 ,可以從以下網(wǎng)址:http://prdownloads.sourceforge.net/souptonuts/chiricobusybox.config下載一個樣例文件。注意下載完成后,將其文件名更改為 “.config”。具體命令如下 :

$cd busybox-1.00

$wget http://osdn.dl.soureceforge.net/sourceforget/souptonuts/chiricobusybox.onfig

$cp chiricobusybox.config .config

可以運行“make”和 “make install”來編譯安裝。在上述命令執(zhí)行完成的最后階段,會顯示如下信息“work properly.”,將BusyBox的權(quán)限改為root:$chmod 4755 ./_install/bin/busybox

3.3 創(chuàng)建所需目錄

需要在_install下創(chuàng)建一些目錄。首先查看當(dāng)前目錄的內(nèi)容,創(chuàng)建 dev、etc、lib、proc、tmp、var和 sys:

$mkdirp dev sys etc/init.d lib proc tmp var/lib/misc var/lock var/log var/run var/tmp

3.4 創(chuàng)建設(shè)備目錄

/dev目錄中是必須的設(shè)備文件,這些文件可從現(xiàn)有的系統(tǒng)中拷貝,也可以使用mknod -m命令來創(chuàng)建 。要注意下述操作需要以root的身份進行 。由于有太多的文件,并且可能需要編譯 _install,所以建議將這些文件做成一個文件 。使用如下命令在_install中轉(zhuǎn)換成 root用戶。

# chmod 700 createdev

當(dāng)然,這些文件也可以使用mknod命令創(chuàng)建。

3.5 創(chuàng)建所須文件和目錄

在/etc目錄中創(chuàng)建所需的文件。使用“Exit out of root” 模式,就不會出現(xiàn)覆蓋/etc的情況。如果目錄“/”出現(xiàn)問題,則/etc也不會幸免,所以不要拷貝東西至“/”,因為它是當(dāng)前正在運行的系統(tǒng)。由于要運行SSH后臺程序,所以要為其在/etc/passwd中創(chuàng)建賬號。在/etc/group文件中 ,root和sshd被加入到了組中。

注意,這里的root賬號已經(jīng)有一個密碼 是root。如 果 想 要創(chuàng)建自己的密碼 ,可以從/etc/shadow和/etc/shadow文件中拷貝一個現(xiàn)有賬號的密碼,相關(guān)文件請參考Live CD_ Output。

3.6 與庫相關(guān)的操作

這個配置使用的是G N U Libc(glibc)。與之相反,“uClibc”更小,易于使用,也更加易于配置SSH。如果沒有拷貝合適的NSS(Name Service Switch),那么SSH 或任何其它需要C語言調(diào)用getpwname的程序都將無法在glibc下正常執(zhí)行 。

在大部分情況下,可以通過“l(fā)dd”命令來發(fā)現(xiàn)哪一個庫和某一個應(yīng)用程序具有動態(tài)鏈接關(guān)系。

3.7 編譯和配置SSH

使用如下命令下載 openssh:$wget http://mirror.mcs.anl.gov/openssh/portable/openssh-3.9p1.tar.gz

接下來檢查簽名密鑰:

$ wget http://mirror.mcs.anl.gov/openssh/portable/openssh-3.9p.tar.gz.sin

$ gpg -import DJM-GPG-KEY.asc

$gpg -verify openssh-3.9p1.tar.gzsig openssh-3.9p1.tar.gz

如果是在proj1目錄下,那么需要清除所有現(xiàn)有的SSH文件:

$cd proj1

$find _install/usr/ -iname `ssh*` -exec rm –f {} ;

在proj1/_install目錄中以root身份執(zhí)行以下命令 :

$tar --xzf openssh-3.9131.tar.gz

$cd openssh-3.9p1

$./configure –prefix= #

如果一切正常 ,那么退出chroot

3.8 編譯內(nèi)核

下載內(nèi) 核 ,命令如下:

$wget http://www.kernet.org/pub/linuxkernet/v2.6/linux-2.6.11.tar.gz

$wget http://ww.kernet.org/pub/linux/kernet/v2.6/liinux-2.6.11.tar.gz.sign

獲取正確的鑰匙 ,然后驗證簽名 :

$pgp -keyserverwwwkeys.pgp.net -recv-keys 0x517D0F0E

$pgp -verify linux-2.6.11.tar.gz.sign linux-2.6.11.tar.gz

確認(rèn)所獲取的源碼沒問題,解開該源碼包:$tar -xzf linux-2.6.11.tar.gz

3.9 ISOLINUX啟動加載器

啟動加載器是第1個從光盤上運行的程序。下面的目錄位于:

“proj1/staging_iso_image/” 目錄中:

$ cd proj1/staging_iso_image

對各個文件的描述如下 :

Boot.cat啟動目錄 。

Isolinux.bin ISOLINUX啟動加載器程序 。

Isolinux.cfg —個配置文件,用于配置加載內(nèi)核所需的指令。

Linux2.6是內(nèi)核文件,在內(nèi)核加載后,壓縮的映像文件“initrd.bin”被掛載至/Dev/ram0。而后,/sbin/init程序開始運行 。 Linux 2.6是內(nèi)核映像,或是通過命令“make bzImage”生成的文件。

3.10 完成打包、創(chuàng)建光盤映像

配置好軟件后,將重新將系統(tǒng)目錄樹打包壓縮,并制作成最終的ISo映像。在打包以前,需要對定制過程中生成的臨時文件進行清理,避免浪費空間、使最終生成文件大于刻錄盤容量大小而無法刻錄。下面命令是從proj1目錄中執(zhí)行的。如果需要,用戶可查看createiso文件了解整個過程:

$mkisofs -R -b isolinux/isolinux.bin -c iso linux/boot.cat -no-emul-boot -boot-load-size 4 -bootinfo-table -o iso /cdrom_linux_boot_proj1.iso staging_iso_image/bot

LiveCD創(chuàng)建完成 。現(xiàn)在用戶就可以將上述文件刻錄至光盤了。另外,還可以將它裁減至一個U盤所在的容量內(nèi), 就方便隨身攜帶了。

4 結(jié)束語

一個實用、方便的個人化LiveCD就制作好了,本文只介紹了制作一個基本的LiveCD,其實還可以根據(jù)自己的需要自行添加各種程序和功能,希望本文能起到拋磚引玉的作用。

[1] (美)拉芙(Love,R.). Linux內(nèi)核設(shè)計與實現(xiàn)[M] . 北京:機械工業(yè)出版社,2006.

[2] 邱世華. Linux操作系統(tǒng)之奧秘[M] . 北京:電子工業(yè)出版社,2008.

[3] (美)博韋,西斯特. 深入理解LINUX內(nèi)核[M] . 北京:中國電力出版社,2007.

猜你喜歡
程序設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
試論我國未決羈押程序的立法完善
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
500kV輸變電設(shè)備運行維護探討
創(chuàng)衛(wèi)暗訪程序有待改進
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 亚洲无码精彩视频在线观看| 伊人狠狠丁香婷婷综合色| 91美女在线| 伊人久久影视| 国产小视频在线高清播放| 国产成人乱码一区二区三区在线| 在线观看国产小视频| 一边摸一边做爽的视频17国产| 国产亚洲成AⅤ人片在线观看| 国产人人射| 99无码熟妇丰满人妻啪啪| 国产美女免费| 欧美亚洲国产视频| 久久五月天综合| 欧美亚洲另类在线观看| 99精品国产高清一区二区| 一级毛片免费观看久| 美女免费黄网站| www.youjizz.com久久| jijzzizz老师出水喷水喷出| 国产成人精品视频一区二区电影 | 午夜限制老子影院888| 99视频在线免费| 亚洲日本中文综合在线| 国产成人精品2021欧美日韩 | 露脸国产精品自产在线播| 99中文字幕亚洲一区二区| 精品国产成人高清在线| 国产乱子伦一区二区=| 国产白浆一区二区三区视频在线| 国产精鲁鲁网在线视频| 日本中文字幕久久网站| 免费国产一级 片内射老| 亚洲中文在线视频| AV老司机AV天堂| 国产乱子伦视频三区| 91免费在线看| 欧美精品v欧洲精品| 美女潮喷出白浆在线观看视频| 波多野结衣一区二区三区88| 黄色网在线| 欧美精品一区二区三区中文字幕| 91精品国产综合久久香蕉922| 久久久精品久久久久三级| P尤物久久99国产综合精品| 国产一区二区三区在线精品专区| 欧美日本在线观看| 亚洲精品视频免费| 日韩人妻少妇一区二区| 亚洲第一极品精品无码| 91精品国产91久久久久久三级| 国产鲁鲁视频在线观看| 久久国产av麻豆| 青青青国产视频| 一级不卡毛片| 国产精品污视频| 亚洲一区二区无码视频| 欧美三级自拍| 国产精品99久久久| 色综合狠狠操| 欧美19综合中文字幕| 久久精品91麻豆| 久久久亚洲色| 国产精品久久久久久影院| 亚洲精品欧美重口| 国产一区二区视频在线| 9999在线视频| 日韩午夜伦| 亚洲天堂视频在线免费观看| 久久久久亚洲精品成人网 | 免费一级全黄少妇性色生活片| 色AV色 综合网站| 国产一区二区三区在线观看免费| 国产无码网站在线观看| 免费在线不卡视频| 国内精品免费| 第九色区aⅴ天堂久久香| 色噜噜狠狠狠综合曰曰曰| 激情午夜婷婷| 亚洲AV无码久久天堂| 91福利片| 久久精品国产精品一区二区|