亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux迷你型系統的構建全過程實例解析

2024-09-05 23:01:31
字體:
來源:轉載
供稿:網友

本文要構建的這個迷你型的 Linux 系統只能在一臺特定的單機上運行,如果讀者朋友們有興趣的話,在這個系統的基礎上加以改進,是可以構建出通用的、可以在大多數常規 PC 機上即插即用的系統來的。

但是這已經不在本文的話題之內了,讀者朋友們如果有興趣,可以通過我的電子郵件和我討論其中的細節問題。

  我們的目標 Linux 系統運行在一臺普通的 Intel 386 PC 機上,可以有硬盤,也可以不要硬盤,而用 Flash Disk 來代替。如果是用 Flash 盤的話,需要能夠支持從 Flash 盤啟動,而且 Flash 盤的大小要在 16M 字節或者以上。我們希望用戶一開機啟動,就直接進入 X Window 圖形界面,運行事先指定好的程序。不需要用戶輸入用戶名和密碼進行登錄。

  我們設定的這個目標有點像一個 X Terminal 終端工作站。稍加改進,還可以做成干脆無盤的形式,也就是說,連 16M 的 Flash 盤也不要了。不過,這也超出了本文的話題了。讀者朋友們如果有興趣,可以來信和我進行討論。

系統啟動

  因為我們要考慮從 Flash 盤進行啟動,所以我們選擇用 LILO 作為我們的 Boot Loader,而不選用 GRUB。這是考慮到 GRUB 有較強的對硬盤和文件系統的識別能力,而 Flash 盤到底不是標準的硬盤,并且我們選用的文件系統 GRUB 又不一定認識,搞不好的話 GRUB 反會弄巧成拙。而 LILO 就簡單的多了,它在硬盤開始的 MBR 寫入一個小程序,這個小程序不經過文件系統,直接從硬盤扇區號,讀出 Kernel Image 裝入內存。這樣,保險系數就大大增加。并且也給了我們自由選用文件系統的余地。那么,我們要如何安裝 LILO 呢?

  首先,我們要找一塊普通的 800M 左右的 IDE 硬盤,連在目標機器的 IDE 線上。這樣在我們的目標機器上,IDE1 上掛的是 Flash 盤,IDE2 上掛的是一塊工作硬盤。我們用標準的步驟在 IDE2 的標準硬盤上裝上一個 Debian GNU/Linux 系統。當然,如果讀者朋友們手頭沒有 Debian,也可以裝 Red Hat 系統。裝好工作系統之后,要首先做一些裁減工作,把不必要的 Service 和 X Window 等等東西都刪掉。這樣做的目的是增進系統啟動速度,因為我們在后面的工作中,肯定要不停的重新啟動機器,所以啟動速度對我們的工作效率是很關鍵的。

  裝好工作系統之后,在 Falsh 盤上做一個 Ext2 文件系統,這個用 mke2fs 這個命令就可以完成。由于 Flash 盤是接在 IDE1 上的,所以在 Linux 里面,它的身份是 /dev/hda。本文作者在操作的時候,把整個 Flash 盤劃分了一個整個的分區,所以,調用 mke2fs 的時候,處理的是 /dev/hda1。讀者朋友們應該可以直接在 /dev/hda 上做一個 Ext2 文件系統,而不用事先分區。

  在 Flash 盤上做好了文件系統之后,就可以把一個編譯好的內核映像文件 vmlinuz 拷貝到 Flash 盤上了。注意,必須要先把這個 vmlinuz 映像文件拷貝到 Flash 盤上,然后才能在 Flash 盤上安裝 LILO。不然的話,LILO 到時候可是會 LILILILI 打結巴的,因為它會找不到 Kernel Image 在 Flash 盤上的位置的,那樣的話 Flash 盤也就啟動不起來了。還有,如果讀者朋友們在 Flash 盤上用的是一個壓縮的文件系統的話,到時候 LILO 也會出問題,它雖然能正確的找到 Kernel Image 在硬盤上的起始位置,但是它卻沒有辦法處理被文件系統重新壓縮過的這個 Kernel Image,不知道該如何把它展開到內存中去。

  把 Kernel Image 拷貝過去以后,我們就可以動手編輯一份 lilo.conf 文件,這份文件可以就放在工作系統上就行了。但是注意在 lilo.conf 中索引的文件名的路徑可要寫對。這些路徑名都是在工作系統上看上去的路徑名。比如,如果 Flash 盤 Mount 在 /mnt 目錄下面,那么,在 lilo.conf 中,vmlinuz 的路徑名就是 /mnt/vmlinuz。注意這一點千萬不要搞錯。不然的話,如果一不小心把工作系統的 LILO 給破壞掉了,那就麻煩了。編輯好了 lilo.conf,然后再運行 lilo 命令,注意,要告訴它用這個新的 lilo.conf 文件,而不要用 /etc/lilo.conf。

  安裝好 LILO 之后,我們可以立即重新啟動,測試一下。首先在 BIOS 里面,設置成從 IDE1 開始啟動,如果我們看到 LILO 的提示符,按回車后還能看到 Kernel 輸出的消息,這就算是 LILO 的安裝成功了。記得這個操作的方法,以后每次我們更新 Flash 盤上的 Kernel Image,都記得要更新 LILO。也就是說,要重新運行一遍 lilo 命令。

編譯內核

  試驗成功 LILO 的安裝以后,我們開始考慮編譯一個新的內核。當然,要編譯新的內核,我們首先要進入我們的工作系統。這里有兩個辦法進入工作系統,一是在 BIOS 里面設置從 IDE2 啟動,當然,這就要求當初安裝工作系統的時候,要把 LILO 安裝在 /dev/hdb 上;另一個辦法是還是從 IDE1 啟動,不改變 BIOS 的設置,但是在看到 LILO 的提示符的時候,要鍵入 linux root=/dev/hdb1,最前面的 linux 是在 lilo.conf 里面定義的一個 entry,我們只采用這個 entry 所指定的 Kernel Image,但是用 /dev/hdb1 作為 root 文件系統。兩個辦法可能有的時候一個比另一個好,更方便一些。這就要看具體的情況了。不過,它們的設置并不是互相沖突的。

  在編譯內核的時候,由于我們的內核是只有一臺機器使用的,所以我們應該對它的情況了如指掌;另外一方面,為了減低不必要的復雜性,我們決定不用 kernel module 的支持,而把所有需要的東西直接編譯到內核的里面。這樣編譯出來的內核,在一臺普通的 586 主板上,把所有必要的功能都加進去,一般也不到 800K 字節。所以,這個辦法是可行的。而且減低了 init scripts 的復雜程度。從運行方面來考慮,由于需要的 kernel 代碼反正是要裝載到內存中的,所以并不會引起內存的浪費。

  在我們的目標平臺上,我們希望使用 USB 存儲設備。還有一點要注意的,就是對 Frame buffer 的支持。這主要是為了支持 XFree86。一般說來,如果我們的顯卡是 XFree86 直接支持的,那當然最好,也就不需要 frame buffer 的內核支持。但是如果 XFree86 不支持我們的顯卡,我們可以考慮用 VESA 模式。但是 XFree86 的 VESA 卡支持運行起來不太漂亮,還有安全方面的問題,有時在啟動和退出 X Window 的時候會出現花屏。所以我們可以采用 kernel 的 vesa 模式的 frame buffer,然后用 xfree86 的 linux frame buffer 的驅動程序。這樣一般就看不到花屏的現象了,而且安全方面也沒有任何問題。

  devfs 也是我們感興趣的話題。如果 kernel 不使用 devfs,那么系統上的 root 文件系統就要有 /dev 目錄下面的所有內容。這些內容可以用 /dev/MAKEDEV 腳本來建立,也可以用 mknod 手工一個一個來建。這個方法有其自身的好處。但是它的缺點是麻煩,而且和 kernel 的狀態又并不一致。相反的,如果使用了 devfs,我們就再也不用擔心 /dev 目錄下面的任何事情了。/dev 目錄下面的項目會有 kernel 的代碼自己負責。實際使用起來的效果,對內存的消耗并不明顯。所以我們選擇 devfs。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看电影| 久久久女女女女999久久| 久操成人在线视频| 国产成人精品电影| 亚洲一区免费网站| 97久久精品在线| 欧美精品制服第一页| 国产午夜精品麻豆| 日韩av一区二区在线| 亚洲大胆人体视频| 国产一区二区三区三区在线观看| 亚洲电影免费在线观看| 欧美日本在线视频中文字字幕| 亚洲第一精品电影| 亚洲xxxx妇黄裸体| 欧美视频在线观看免费| 日本成人在线视频网址| 国外成人性视频| 成人a在线视频| 国产精品成av人在线视午夜片| 91免费看国产| 亚洲最大福利视频| 国产精品美腿一区在线看| 在线精品视频视频中文字幕| 亚洲欧洲激情在线| 国产亚洲a∨片在线观看| 色综合天天狠天天透天天伊人| 欧美成人免费小视频| 国产成人精品视频| 岛国av一区二区在线在线观看| 日韩精品极品视频免费观看| 国产色婷婷国产综合在线理论片a| 亚洲精品欧美一区二区三区| 欧美天堂在线观看| 亚洲国产中文字幕在线观看| 欧美成人免费全部| 日韩在线视频中文字幕| 中文精品99久久国产香蕉| 欧日韩不卡在线视频| 亚洲国产成人在线视频| 高清欧美性猛交| 日韩在线观看免费av| 欧美一区二区三区图| 欧美中文在线字幕| 欧美俄罗斯性视频| 久久成年人视频| 国产区亚洲区欧美区| 亚洲国产高潮在线观看| 欧美极品少妇xxxxⅹ裸体艺术| 97人人爽人人喊人人模波多| 国产精品在线看| 一区二区福利视频| 国产视频在线一区二区| 91亚洲精品一区二区| 中文字幕欧美精品在线| 国产日韩欧美在线观看| 欧美又大又粗又长| 欧美激情一区二区三区在线视频观看| 欧美精品免费看| 国自产精品手机在线观看视频| 国产成人激情视频| 91精品免费视频| www.欧美视频| 欧美在线精品免播放器视频| 久久免费视频在线观看| 日韩av电影在线免费播放| 亚洲国产成人精品女人久久久| 91久久精品一区| 亚洲国产婷婷香蕉久久久久久| 日韩欧中文字幕| 97视频在线观看网址| 在线观看国产精品日韩av| 中文欧美日本在线资源| 欧美日韩在线视频观看| 欧美丰满老妇厨房牲生活| 青青草国产精品一区二区| 午夜精品久久久久久久白皮肤| 精品亚洲一区二区三区在线观看| 国产91精品在线播放| 91成人福利在线| 亚洲香蕉av在线一区二区三区| 国产欧美一区二区三区在线| 18一19gay欧美视频网站| 日韩免费不卡av| 日韩大陆欧美高清视频区| 国产一区二区三区中文| 97香蕉久久超级碰碰高清版| 国产精品免费网站| 国产精品中文在线| 亚洲一区av在线播放| 欧美日韩国产麻豆| 欧美一级视频在线观看| www高清在线视频日韩欧美| 人体精品一二三区| 色噜噜狠狠狠综合曰曰曰| 中文字幕无线精品亚洲乱码一区| 精品久久久久久亚洲精品| 亚洲国产精品美女| 奇米影视亚洲狠狠色| 7m精品福利视频导航| 亚洲品质视频自拍网| 国产美女精品视频免费观看| 伊人一区二区三区久久精品| 欧洲精品在线视频| 久久久国产精品x99av| 在线看福利67194| 久久不射热爱视频精品| 美女撒尿一区二区三区| 欧美日韩在线视频观看| 成人国产在线激情| 亚洲福利视频二区| 国内自拍欧美激情| 国产欧美日韩精品在线观看| 欧美视频在线观看免费| 精品伊人久久97| 在线观看视频亚洲| 久久久久久久久国产精品| 亚洲国内精品视频| 在线观看日韩视频| 国产精品一区二区久久| 精品视频—区二区三区免费| 91大神在线播放精品| 久久在线视频在线| 久久久国产一区二区三区| 日韩视频永久免费观看| 亚洲精品电影网| 欧美成人免费在线观看| yw.139尤物在线精品视频| 日韩在线国产精品| 久久久久久久久91| 国产主播精品在线| 欧美大全免费观看电视剧大泉洋| 亚洲精品久久久久久久久久久久| 欧美日韩国产成人高清视频| 国产日韩在线精品av| 成人亚洲激情网| 91丝袜美腿美女视频网站| 欧美一级片在线播放| 欧美一区二三区| 亚洲人成电影网站色| 亚洲欧美三级伦理| 海角国产乱辈乱精品视频| 久久精品99无色码中文字幕| 日韩电影视频免费| 久久精品91久久香蕉加勒比| 欧美日韩中国免费专区在线看| 亚洲精品视频在线观看视频| 精品综合久久久久久97| 在线播放日韩欧美| 91爱视频在线| 亚洲精品一区av在线播放| 国产精品久久久久久久久粉嫩av| 综合av色偷偷网| 久久男人资源视频| 91经典在线视频| 77777亚洲午夜久久多人| 91麻豆国产语对白在线观看| 亚洲国产一区二区三区在线观看| xxx欧美精品| 91在线观看欧美日韩| 亚洲人成网站免费播放| 亚洲国产日韩欧美综合久久| 国产精品video| 日韩av网站电影|