亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        如何制作Live CD

        2010-03-22 11:48:39李晨光
        鐵路計算機應用 2010年5期
        關(guān)鍵詞:源碼拷貝光盤

        李晨光

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

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

        1 制作LiveCD

        計算機加電以后, 由位于主板上的BIOS負責引導操作系統(tǒng)。Linux平臺上主要的引導程序(bootloader)是LILO(Linux Loader)和GRUB。這兩個引導程序分為2部分, 第1部分(Firststage)尺寸很小, 以便裝入MBR,它負責引導第2部分(Second stage)來完成主要的引導工作。當?shù)?部分加載后,它根據(jù)預先的配置顯示選單界面,供用戶選擇引導的操作系統(tǒng)及啟動參數(shù)。接下來,引導程序?qū)?nèi)核映像文件和初始Ramdisk(initrd)映像加載入內(nèi)存,initrd映像用于存放一些用于系統(tǒng)引導的關(guān)鍵驅(qū)動模塊,而這些文件又無法從磁盤上的文件系統(tǒng)加載。映像加載完畢后,控制權(quán)就由引導程序交給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目錄中的啟動腳本,由這些腳本完成各種初始化,啟動各種服務程序。至此,Linux系統(tǒng)已經(jīng)引導完成了。

        2 準備創(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)絡、視頻和鍵盤(包含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)建一些目錄。首先查看當前目錄的內(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

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

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

        在/etc目錄中創(chuàng)建所需的文件。使用“Exit out of root” 模式,就不會出現(xiàn)覆蓋/etc的情況。如果目錄“/”出現(xiàn)問題,則/etc也不會幸免,所以不要拷貝東西至“/”,因為它是當前正在運行的系統(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)哪一個庫和某一個應用程序具有動態(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

        確認所獲取的源碼沒問題,解開該源碼包:$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.

        猜你喜歡
        源碼拷貝光盤
        基于網(wǎng)頁源碼結(jié)構(gòu)理解的自適應爬蟲代碼生成方法
        計算機應用(2023年6期)2023-07-03 14:11:56
        基于圖神經(jīng)網(wǎng)絡的軟件源碼漏洞檢測方法
        計算機時代(2023年6期)2023-06-15 17:49:09
        光盤行動
        幼兒園(2021年13期)2021-12-02 05:13:48
        企業(yè)如何保護源碼
        唐氏綜合征是因為“拷貝”走樣了
        光盤小熊
        基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實驗課程改革
        計算機教育(2016年4期)2016-05-20 02:36:05
        光盤光榮
        文件拷貝誰最“給力”
        漫話拷貝
        国产在线白丝DVD精品| 宅男亚洲伊人久久大香线蕉| 强开小婷嫩苞又嫩又紧视频韩国| 看女人毛茸茸下面视频| 国产成人综合亚洲看片| 狠狠久久亚洲欧美专区| 91精品欧美综合在线观看| 91精品亚洲熟妇少妇| 欧美亚洲一区二区三区| 国内a∨免费播放| 午夜福利视频男同女同| 毛茸茸的女性外淫小视频| 在线观看老湿视频福利| 亚洲精品成人网站在线观看| 久久久99精品视频| 69精品国产乱码久久久| 国产激情综合在线观看| 久久香蕉国产精品一区二区三| 91久久福利国产成人精品| 国产精品黄色在线观看| 国产精品婷婷久久爽一下| 永久免费av无码网站yy| 99久久亚洲国产高清观看| 精品熟女视频一区二区三区国产| 在线观看午夜视频一区二区| 免费无码一区二区三区蜜桃大| 人妻丰满熟妇AV无码区HD| 搡老女人老妇女老熟妇69| 色熟妇人妻久久中文字幕| 精品无码人妻一区二区三区不卡| 国产精品厕所| 国产亚洲精品成人av在线| 日韩熟女系列中文字幕| 成人免费毛片aaaaaa片| 国产精品久久久久孕妇| 精品福利一区二区三区| av综合网男人的天堂| 伊人色综合久久天天人手人停| 免费人成黄页网站在线观看国内| 日韩av一区二区三区精品久久| 秋霞在线视频|