![最小的Linux系統(tǒng)制作過程詳解_第1頁](http://file4.renrendoc.com/view/ce3c3ad94b40688be5082634679b05f1/ce3c3ad94b40688be5082634679b05f11.gif)
![最小的Linux系統(tǒng)制作過程詳解_第2頁](http://file4.renrendoc.com/view/ce3c3ad94b40688be5082634679b05f1/ce3c3ad94b40688be5082634679b05f12.gif)
![最小的Linux系統(tǒng)制作過程詳解_第3頁](http://file4.renrendoc.com/view/ce3c3ad94b40688be5082634679b05f1/ce3c3ad94b40688be5082634679b05f13.gif)
![最小的Linux系統(tǒng)制作過程詳解_第4頁](http://file4.renrendoc.com/view/ce3c3ad94b40688be5082634679b05f1/ce3c3ad94b40688be5082634679b05f14.gif)
![最小的Linux系統(tǒng)制作過程詳解_第5頁](http://file4.renrendoc.com/view/ce3c3ad94b40688be5082634679b05f1/ce3c3ad94b40688be5082634679b05f15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一什么是二為什么要做這樣一個三什么人適合讀這篇文檔四應(yīng)該具備的知識五系統(tǒng)引導(dǎo)過程簡介六編譯內(nèi)核七編譯八制作根文件系統(tǒng)九制作映象文件十內(nèi)核與的整合十一安裝測試和內(nèi)容調(diào)整十二中的十三接下來要做的事情十四參考文獻一什么是不是一個完整的發(fā)行版他是利用原有的一套完整的系統(tǒng)的內(nèi)核原代碼和編譯工具利用內(nèi)建的強大功能在一張軟盤上做的一個很小的系統(tǒng)他具備一個系統(tǒng)的基本特征支持系統(tǒng)最常用的一百多個命令,支持多種文件系統(tǒng),支持網(wǎng)絡(luò)等等,你可以把他當做一張起動盤和修復(fù)盤來用你也可以把他當做一個靜態(tài)路由的路由器軟件當然你也可以把他當做一個玩具向你的朋友炫耀可以做的多么小我把他叫做因為他很小巧小的很可愛像一個剛剛出生的小
2、二為什么要作這樣一個先說說我一開始的想法當我一開始接觸的時候看到書上說通常安裝只需要左右的空間但是我發(fā)現(xiàn)裝在我硬盤上的確要占據(jù)好幾百的空間為什么我的這么大呢后來我發(fā)現(xiàn)裝在我機器上的那么多東西只有不到30是%我平時常用的,還有30是%我極少用到的,另外的基本上是不用的于是我和大多數(shù)初學者一樣開始抱怨為什么不能做的精簡一點呢?于是,我萌發(fā)了自己裁減系統(tǒng)的想法.可惜那個時候我還沒有聽說過有和等到我積累了足夠的知識后我開始制作這樣一個小系統(tǒng)制作這樣一個小系統(tǒng)最大的意義在于你可以通過制作系統(tǒng)了解的啟動過程學會的使用讓你在短時間內(nèi)學到更多的知識當然你會得到很大的樂趣這個項目只是做一個具有基本特征的系統(tǒng)如果
3、你想自己做一個具有完整功能的請閱讀文檔三什么人適合讀這篇文檔如果你是一個愛好者并且很想了解的啟動過程和系統(tǒng)的基本結(jié)構(gòu),而且是一個喜歡動手研究小玩意的人,那么這個文檔可以滿足你的需求.如果你僅僅是用來做一些普通的日常工作而不在乎你的到底怎么工作那么這份文檔也許不太適合你另外如果你是愛好者但是目前還是一個剛剛?cè)腴T的我建議你先把命令學好不過我想我會盡可能的把這份文檔寫詳細一些如果你有足夠的毅力或許一個也能成功做一個或者你遇到一件很不巧的事情比如你的老婆來例假了你的這個周末就泡湯了那么閱讀這篇文檔并做一個小玩具可以打發(fā)你的時間四,應(yīng)該具備的知識在做一個之前你應(yīng)當已經(jīng)會應(yīng)用最常用的命令并且至少有一次成功
4、編譯并安裝系統(tǒng)內(nèi)核的經(jīng)歷議會通過編譯源代碼來安裝軟件.如果你具備了這些條件議那么做這樣一個小系統(tǒng)會很順利議如果你還沒有掌握這些知識議你可能會遇到一些困難.但是只要有毅力議也可以成功.你不需要具備編程的知識因為我的目標是讓具有中等以上水平的愛好者可以通過閱讀文檔輕松完成這個項目關(guān)于一張軟盤上的還有一個很著名的叫但是他是由比較專業(yè)的人員需要編寫很多程序完成的而且沒有關(guān)于他制作過程的文檔一什么是二為什么要做這樣一個三什么人適合讀這篇文檔四應(yīng)該具備的知識五系統(tǒng)引導(dǎo)過程簡介六編譯內(nèi)核七編譯八制作根文件系統(tǒng)九制作映象文件十內(nèi)核與的整合十一安裝測試和內(nèi)容調(diào)整十二中的十三接下來要做的事情十四參考文獻一什么是不
5、是一個完整的發(fā)行版他是利用原有的一套完整的系統(tǒng)的內(nèi)核原代碼和編譯工具利用內(nèi)建的強大功能在一張軟盤上做的一個很小的系統(tǒng)他具備一個系統(tǒng)的基本特征支持系統(tǒng)最常用的一百多個命令議支持多種文件系統(tǒng)議支持網(wǎng)絡(luò)等等議你可以把他當做一張起動盤和修復(fù)盤來用你也可以把他當做一個靜態(tài)路由的路由器軟件當然你也可以把他當做一個玩具向你的朋友炫耀可以做的多么小我把他叫做因為他很小巧小的很可愛像一個剛剛出生的小為什么要作這樣一個先說說我一開始的想法當我一開始接觸的時候看到書上說通常安裝只需要左右的空間但是我發(fā)現(xiàn)裝在我硬盤上的確要占據(jù)好幾百的空間為什么我的這么大呢后來我發(fā)現(xiàn)裝在我機器上的那么多東西只有不到30是%我平時常用的
6、,還有30是%我極少用到的,另外的基本上是不用的于是我和大多數(shù)初學者一樣開始抱怨為什么不能做的精簡一點呢?于是,我萌發(fā)了自己裁減系統(tǒng)的想法.可惜那個時候我還沒有聽說過有和等到我積累了足夠的知識后我開始制作這樣一個小系統(tǒng)制作這樣一個小系統(tǒng)最大的意義在于你可以通過制作系統(tǒng)了解的啟動過程學會的使用讓你在短時間內(nèi)學到更多的知識當然你會得到很大的樂趣這個項目只是做一個具有基本特征的系統(tǒng)如果你想自己做一個具有完整功能的請閱讀文檔三什么人適合讀這篇文檔如果你是一個愛好者并且很想了解的啟動過程和系統(tǒng)的基本結(jié)構(gòu),而且是一個喜歡動手研究小玩意的人,那么這個文檔可以滿足你的需求.如果你僅僅是用來做一些普通的日常工作
7、而不在乎你的到底怎么工作那么這份文檔也許不太適合你另外如果你是愛好者但是目前還是一個剛剛?cè)腴T的我建議你先把命令學好不過我想我會盡可能的把這份文檔寫詳細一些如果你有足夠的毅力或許一個也能成功做一個或者你遇到一件很不巧的事情比如你的老婆來例假了你的這個周末就泡湯了那么閱讀這篇文檔并做一個小玩具可以打發(fā)你的時間四應(yīng)該具備的知識在做一個之前你應(yīng)當已經(jīng)會應(yīng)用最常用的命令并且至少有一次成功編譯并安裝系統(tǒng)內(nèi)核的經(jīng)歷議會通過編譯源代碼來安裝軟件.如但果你具備了這些條件議那么做這樣一個小系統(tǒng)會很順利議如果你還沒有掌握這些知識議你可能會遇到一些困難.但是只要有毅力議也可以成功.你不需要具備編程的知識因為我的目標是
8、讓具有中等以上水平的愛好者可以通過閱讀文檔輕松完成這個項目關(guān)于一張軟盤上的還有一個很著名的叫但是他是由比較專業(yè)的人員需要編寫很多程序完成的而且沒有關(guān)于他制作過程的文檔五系統(tǒng)引導(dǎo)過程簡介首先主板的會讀取硬盤的主引導(dǎo)記錄中存放的是一段很小的程序議他的功能是從硬盤讀取操作系統(tǒng)核心文件并運行議因為這個小程序太小了議因此通常這個小程序不具備直接引導(dǎo)系統(tǒng)內(nèi)核的能力議他先去引導(dǎo)另一個稍微大一點的小程序再由這個大一點的小程序去引導(dǎo)系統(tǒng)內(nèi)核在系統(tǒng)中這樣的小程序有和在這個項目中我決定用來做系統(tǒng)引導(dǎo)程序在軟盤上啟動系統(tǒng)的過程和在硬盤上啟動的過程相似系統(tǒng)i內(nèi)核被引導(dǎo)程序裝入內(nèi)核并運行后,lin內(nèi)核會檢測系統(tǒng)中的各種硬
9、件.并做好各種硬件的初始化工作,使他們在系統(tǒng)正式運行后能正常工作.之后內(nèi)核做的最后一個工作是運行下的init程序,init是英文單詞initiliti初始化)的簡稱,init程序的工作是讀取etinitt文件中描述的指令,對系統(tǒng)的各種軟硬件環(huán)境做最初化設(shè)定最后運行inett等待用戶輸入用戶名登錄系統(tǒng)所有的工作就這么簡單,雖然lin啟動的時候有很多內(nèi)容,看上去十分高深,但是都不過是對這個過程的擴充.明白了這個道理,你可以寫一些腳本程序讓他在系統(tǒng)啟動的特定時間運行完成任務(wù)事實上系統(tǒng)內(nèi)核并不關(guān)心下的init是不是真的init,只要是放在下名叫init的可執(zhí)行程序他都可以執(zhí)行可以做以下實驗編寫一個非常
10、簡單的程序main()printf(“hello,world!n”);保存后以init保存他,并用編譯-ttioinitinit這里的t參數(shù)告訴把這個程序靜態(tài)聯(lián)接,這樣這個程序不倚賴任何庫就能運行把編譯好的init程序拷貝到下n備份好原來的那個重新啟動系統(tǒng)最后系統(tǒng)的輸出結(jié)果是hello,world!然后停在那里.做這個實驗以前先確定你知道如何把系統(tǒng)恢復(fù)到原來的狀態(tài),有一個簡單的方法,在內(nèi)核啟動前給他加上init參數(shù),比如你原先的init被你改成了init只要在啟動的時候給內(nèi)核加上initininit就可以用原來的init程序啟動系統(tǒng)做完以上實驗,就明白了內(nèi)核和init程序之間的關(guān)系此外,ini
11、t程序不一定是一個二進制可執(zhí)行程序,他可以是一個Sh本,一個指向另一個程序的聯(lián)接,他的位置也并不一定要在下只要在啟動內(nèi)核時,給內(nèi)核加上init參數(shù)就能被運行,比如,開始時給內(nèi)核加上initin參數(shù),內(nèi)核在最后一步就直接運行給出提示符,不用登錄系統(tǒng)就可以輸入命令了其功能類似單用戶模式啟動系統(tǒng)in程序只是內(nèi)核默認運行的第一個程序六,編譯一個lin系統(tǒng)內(nèi)核編譯前的規(guī)劃和準備在編譯內(nèi)核前,請先確定你的需求,把你的需求羅列成一張詳細的表格你需要讓內(nèi)核支持什么硬件,支持多少種分區(qū)類型和文件系統(tǒng),支持哪些網(wǎng)卡,支持哪些網(wǎng)絡(luò)協(xié)議等等請盡可能詳細的羅列這些內(nèi)容,但是你也不要太貪心,因為你所有能利用的空間只有如果
12、你編譯出一個大于或很接近這個數(shù)字的內(nèi)核,你的這個項目就不能完成了,你已經(jīng)沒有空間再放rdi映象文件,除非你原意再多出一張軟盤,做一個兩張軟盤的小lin系統(tǒng)對于聲卡驅(qū)動之類,我勸你還是放棄吧,因為一個聲卡驅(qū)動也許只讓你的內(nèi)核增大了十多果,但是你有了一個聲卡驅(qū)動就務(wù)必要有一個播放器吧,否則聲卡驅(qū)動就沒有意義,可一個播放器的大小可不是一張軟盤可以裝得下的在我先前制作的內(nèi)核有多其中文件系統(tǒng)部分站了大部分因為我的目標是把他做成一個系統(tǒng)修復(fù)盤.因此我在內(nèi)核中編譯7種文件系統(tǒng)的支持,每減少一個文件系統(tǒng)就可以減小幾十甚至多的內(nèi)核大小越是復(fù)雜越是安全的文件系統(tǒng)其支持模塊也越大比如在下模塊只有只有但是的模塊就有達
13、到模塊是可以想像編譯一個支持個文件系統(tǒng)的90多0但的內(nèi)核,文件系統(tǒng)部分就占了600以但上的空間,所以如果某一個文件系統(tǒng)是你根本不用的,那么還是不要編譯進內(nèi)核把,這樣至少可以省下10多但的空間.對于其他的驅(qū)動,比如網(wǎng)卡,通常大小只有8,9最但大,的也不過10多但因,此可以把常用的網(wǎng)卡芯片的驅(qū)動都編譯進去.另外如果你想讓你的支持盤那么的驅(qū)動模塊也是不可小看的他通常要接近因為盤是被當做設(shè)備來驅(qū)動的另外你還需要讓你的內(nèi)核支持即插即用這些都是不小的空間開銷,我的建議是你放棄一兩個你不用的文件系統(tǒng).總之,你最后編譯出來的內(nèi)核大小最好不要超過否則你在里只能編譯進去很少的命令在我編譯的中我編譯進去多個命令基本
14、上把支持的命令都包括進去了加上小系統(tǒng)所必需的文件系統(tǒng)目錄下的設(shè)備文件以及下幾個必需的配置文件做成壓縮后的大小是多加上900左但右的內(nèi)核剛好可以放入一張144軟0盤但,請注意,你應(yīng)該留下至少50的但空間因為我們要在軟盤上創(chuàng)建一個文件系統(tǒng)而文件系統(tǒng)本生需要占據(jù)大概的磁盤空間另外的引導(dǎo)文件的大小是還有裝上后自動產(chǎn)生的文件也要多的空間文件的具體大小由內(nèi)核安裝的實際大小決定通常不會超過綜上所述,請遵循下面的公式:內(nèi)核大小+文件系統(tǒng)壓縮印象文件+50但=1440但另外一點需要說明的是:以上所羅列的文件系統(tǒng)模塊大小是察看我現(xiàn)在使用的的下的模塊文件得到的實際編譯進內(nèi)核大小會小一點因為我們用在內(nèi)核源代碼目錄樹下
15、生成的內(nèi)核是經(jīng)過壓縮過的如果你對以上說的內(nèi)容不太明白也沒有關(guān)系,我會在下面的內(nèi)容中做詳細的說明2必,需編譯進內(nèi)核的內(nèi)容首先,我們制作的這個小系統(tǒng)是基于一張軟盤的,因此,你的內(nèi)核必需支持軟盤另外對硬盤和的支持也是不可少的否則做出來的就沒有實用價值因為他不能訪問硬盤和光盤上的內(nèi)容這樣的雖然可以做的更小但是制造一個完全沒有用的東西是浪費時間其他的包括等,如果你需要支持在字符界面下以高分辨率顯示,以看到更多的屏幕內(nèi)容,那么就必需把支持編譯進內(nèi)核此外在高分辨率下使用的字體也必需編譯進去否則即使你給內(nèi)核傳遞了參數(shù)內(nèi)核會因為沒有可用的小字體而自動轉(zhuǎn)跳到低分辨率模式下,這是以前困擾我好幾天想不明白的事情,后來
16、通過反復(fù)試驗才明白原來是缺少字體的文體.這里我先大致提一下需要注意的事情在下一小節(jié)具體編譯時我會繼續(xù)就某些細節(jié)問題說明關(guān)于內(nèi)核的版本我是在系統(tǒng)下打造的小系統(tǒng)使用的是自帶的版的內(nèi)核為什么我不用最新的2.的6內(nèi)核?一開始我也企圖用最新的內(nèi)核,但是通過試驗我發(fā)現(xiàn),在用最新的2.6內(nèi).核9的情況下我編譯一個的即所有內(nèi)容都選不支持任何硬件只有一個最基本的內(nèi)核最小化內(nèi)核就要左右如果我在這個基礎(chǔ)上再加入幾種文件系統(tǒng)和必要的驅(qū)動那么內(nèi)核的大小就不能裝下一張的軟盤而我用的內(nèi)核編譯一個最小化的內(nèi)核只需要的大小如果優(yōu)化了參數(shù)他還能再小些這樣我就立即省下了多的空間在平時多的內(nèi)容微不足道但是在里這個數(shù)目是整個空間的相當
17、于一個文件系統(tǒng)模塊的大小當然我也嘗試了以及更老的內(nèi)核但是他們?nèi)鄙傥倚枰臇|西,因此最后權(quán)衡下來用2.的4內(nèi)核是比較合理的.如果你用的是內(nèi)核的系統(tǒng)那么最好還是去下載一個版的內(nèi)核有各個時期的內(nèi)核可以下載4不內(nèi)核的配置如果你對內(nèi)核的配置和編譯已經(jīng)很熟悉了請?zhí)^這一段直接看的編譯以身份登錄系統(tǒng)進入目錄如果你下載了一個版本的內(nèi)核為了避免麻煩請將他拷貝到下然后接壓縮再做一個指向他的名為的鏈接雖然這并不是必需的但是根據(jù)我以往的經(jīng)驗如果我把源代碼放在其他目錄下解開并編譯偶然會有一些莫名其妙的小問題發(fā)生如果是格式可以這樣解開為了方便做一個到目錄的連接進入源代碼目錄清理源代碼樹運行配置程序先選擇當我們配置好常規(guī)的
18、東西要加入支持時再將這一項選擇因為在中支持尚屬于實驗性代碼如果不在選擇為將不能配置選擇為了簡化系統(tǒng)的制作我在這個項目中不選擇可加載內(nèi)核模塊的支持中選擇你需要的都能運行那么請選擇類型如果你想讓老至新到的中選擇你需要的都能運行那么請選擇類型如果你想讓老至新到的否則請按自己的實際情況選擇其他選項都選擇這些在中都是不需要的其他選項都選擇這些在中都是不需要的選擇選擇除非你不用設(shè)備不過一般人都是需要的因為現(xiàn)在網(wǎng)卡大部分是的選擇選擇選擇其余內(nèi)容都可以選擇如果有特殊需求比如的網(wǎng)卡是的那么請將相應(yīng)的內(nèi)容選上但是不能貪心時刻牢記我們能利用的空間只有內(nèi)核的大小絕不能超過任何不必要的東西都應(yīng)該從內(nèi)核中去除以上三個大項
19、中的所有內(nèi)容選擇以上幾項選擇其余全部選擇這里的選項比較重要,我想重點說明一下.對于軟盤的支持,那是不必說的,那是必備的即回環(huán)設(shè)備我們平時用命令掛裝光盤映象文件或者其他文件系統(tǒng)映象文件時就用到了內(nèi)核中的模塊,如果沒有編譯進這個模塊,你將不能用上面的命令掛裝光盤映象和文件系統(tǒng)映象個人認為這個功能是非常重要的,所以編譯了進去.即內(nèi)存磁盤比較貼切的說法是虛擬磁盤即撥出一部分內(nèi)存當做磁盤用這是制作項目中的核心內(nèi)容由于一張軟盤的空間有限的根文件系統(tǒng)是用壓縮法高度壓縮的在運行時將解壓縮后的文件拷貝到一個運行所以在運行時你在根文件系統(tǒng)上的所有操作實際上是在內(nèi)存上進行的.但是在形式上和在真正的磁盤上運行一樣.只
20、不過放在上的所有內(nèi)容會在系統(tǒng)關(guān)機后全部消失不僅在運行時用到我們在制作壓縮的根文件系統(tǒng)時也要用到學習的使用是做一個的重要目的之一在中還支持另外一種虛擬磁盤叫做這種虛擬磁盤機制比更加先進的大小是固定的由編譯內(nèi)核時候的決定默認為也可以在內(nèi)核裝載前加上參數(shù)來決定他的大小但是系統(tǒng)一旦啟動的大小是不能改變的而的大小卻動態(tài)的改變默認情況下為物理內(nèi)存的一半制當系統(tǒng)需要更多內(nèi)存的時制他就自動縮小.系統(tǒng)內(nèi)存富余時制他自動增大這樣可以充分靈活的利用內(nèi)存空間通常用來作為系統(tǒng)的磁盤高速緩存存放系統(tǒng)運行中的臨時文件等的在默認情況下都有的支持可以用和察看他的掛裝點和大小如下命令文件系統(tǒng)容量已用可用已用%掛載點雖然有這么多的
21、優(yōu)點我還是選擇了因為可以很方便地在系統(tǒng)啟動的時候加載而卻沒那么容易下面就來講一下關(guān)于內(nèi)核啟動時加載映象的相關(guān)內(nèi)容即初始化支持這個選項讓內(nèi)核有能力在內(nèi)核加載階段就能裝入并運行其中的內(nèi)容否則只能在系統(tǒng)運行階段用我們平時在編譯了一個新內(nèi)核后如果你的根文件系統(tǒng)用的是而你沒有把編譯進內(nèi)核而只作為一個模塊編譯了那么就需要用命令做一個這個里放了的模塊這樣內(nèi)核在加載根文件系統(tǒng)前就能正確識別文件系統(tǒng)否則內(nèi)核加載的最后一步就會出現(xiàn)的錯誤在項目中這個選項是必需的這里的作用是把解壓的根文件系統(tǒng)映象裝入這個選項不是必需的,但是我發(fā)現(xiàn)如果我不把這個功能編譯進內(nèi)核,那么當我在掛裝文件系統(tǒng)的時候會有些小問題,比如我不能以簡寫
22、的掛裝命令來掛裝文件系統(tǒng)我不確定到底是不是這個選項的關(guān)系但是把這個選項編譯進內(nèi)核只增大一點點內(nèi)核空間,所以為了避免麻煩,我把他編譯了進去.這兩個大項全部選擇因為在個人用上及少牽涉到這兩項如果你真的有設(shè)備或者那么就自己摸索著配置一下吧這一大項中因只需要把下列項目編譯進內(nèi)核對于這項如果你想重點把用做靜態(tài)路由軟件那么把這項編譯進去而對于這一項沒有必要編譯進去了因為沒有提供工具來設(shè)置包過濾防火墻.同樣這項也不必選擇只有運行的情況下才需要選這項選擇按鈕就被激活上請把控制芯片大多有莫名按鈕就被激活上請把控制芯片大多有莫名F面幾項請選擇其余都可以是如果你的內(nèi)核要運行在一臺很老的或編譯進去因為那時候主板的其妙
23、的把這項編譯進去會修復(fù)這個面幾個大項全部選擇這里可能有你想要的好東西比如接口驅(qū)動但是在上意義不大而且我們的空間只有下面一個大項:選擇這樣就可以支持網(wǎng)卡了其余都選擇然后點按鈕選擇你需要的網(wǎng)卡驅(qū)動你可以把最常見的幾種等網(wǎng)卡編譯進內(nèi)核雖然網(wǎng)卡的驅(qū)動通常都很小但是不要太貪心選個就足夠了否則你的內(nèi)核就會一下子多出幾十在我先前編譯的內(nèi)核中我把網(wǎng)卡編譯了進去是因為我打造的機器上只有一塊那個芯片的網(wǎng)卡如果你發(fā)現(xiàn)你需要的網(wǎng)卡是灰色的然不能點然那么先確定他上一級的選項已經(jīng)點了比如你想選的網(wǎng)卡就必需先選擇如果還不能點那么請確定是否已經(jīng)把的支持選項選上了在里沒有的支持的網(wǎng)卡將不能選可能你是個有錢人在自己的上用千兆網(wǎng)卡
24、那么請在千兆網(wǎng)卡那一欄選擇接下來幾個大項全部選擇接下來的我將重點講述除了是很重要的一項他和一樣重要兩項其他全選接下來的我將重點講述除了是很重要的一項他和一樣重要兩項其他全選即虛擬終端這是一般必備選項否則你的啟動后在屏幕看不到任何東西另外還負責鍵盤輸入信息等等只有在某些嵌入式應(yīng)用場合才會不要這個選項因為這些通常都不用操作在虛擬終端上的控制臺.他支持在終端上各種信息的輸出,這也是必備的接下來的幾個大項全部選擇再接下來的那部分可是重頭戲喔這部分不用我太羅嗦了吧,自己需要支持什么就選什么.但是其中有三個是你必需選的:缺了他很多命令和軟件就不能運行的基本文件系統(tǒng)除非你不想用光盤另外諸如磁盤限額的模式等就
25、不用編譯進去了.這些東西意義不大,確要無端的增大內(nèi)核大小.請牢記一點編譯出來的內(nèi)核大小不要超過是不是看的很累啊我寫得更累別急內(nèi)核配置部分馬上要好了最后一個這是支持在字符模式下高分辨率顯示的內(nèi)核模塊前面三個全部選擇按鈕是灰色的不能選別急回到第一個大選項選擇就可以激活這個按鈕了面幾個選項需要選擇你也可以選擇其他的顯卡驅(qū)動比如的但是和是通用性最好的只要不是幾十年前的黑白顯卡我只聽說過沒見過都兼容和因此為了制作好的的通用性請選擇這個驅(qū)動這個一定要選否當你給內(nèi)核傳遞參數(shù)讓在字符界面下高分辨率顯示的時候系統(tǒng)會因為找不到合適的小字體而返回到低分辨率模式好了所有內(nèi)核的配置工作到這里就全部完成了剩下的幾個大項全
26、部選就行了保存后退出配置程序會自動生成一個隱藏的配置文件下面是我配置好的文件內(nèi)容如果你懶的自己去配置那么直接把這個拷貝到你的源代碼目錄下就能直接用了已經(jīng)去掉了開頭的注釋行編,譯內(nèi)核面是最后編譯結(jié)果我用上面的配置得到了一個的內(nèi)核下將他拷貝在編譯好的內(nèi)核放在下將他拷貝在一個安全的地方備用建立一個專放材料的目錄建立一個做根文件系統(tǒng)的目錄備份內(nèi)核七編譯簡介是一個集成了一百多個最常用命令和工具的軟件他甚至還集成了一個服務(wù)器和一個服務(wù)器而所有這一切功能卻只有區(qū)區(qū)左右的大小我們平時用的那些命令就好比是分力式的電子元件而就好比是一個集成電路,把常用的工具和命令集成壓縮在一個可執(zhí)行文件里,功能基本不變而大小卻小
27、很多倍在嵌入式應(yīng)用中有非常廣的應(yīng)用另外大多數(shù)發(fā)行版的安裝程序中都有的身影安裝的時候案就能得到一個控制臺而這個控制臺中的所有命令都是指向的鏈接的小身材大作用的特性給制作一張軟盤的帶來了及大方便的用法可以這樣用他的功能就相當運行命令最常用的用法是建立指向的鏈接不同的鏈接名完成不同的功能然后分別運行這三個鏈接就可以分別完成了和命令的功能雖然他們都指向同一個可執(zhí)行程序但是只要鏈接名不同完成的功能就不同就是這么的神奇很多網(wǎng)站都提供的源代碼下載目前版本是正式版配,置的配置程序和方式配置內(nèi)核菜單配置方式簡直一模一樣熟悉用內(nèi)核的朋友很容易上手下面是需要編譯進要太貪心的功能選項其他的可以根據(jù)需要自選但是同樣不應(yīng)
28、該選的選項這個選項是一定要選擇的這樣才能把編譯成靜態(tài)鏈接的可執(zhí)行文件運行時才獨立于其他函數(shù)庫否則必需要其他庫文件才能運行在單一個內(nèi)核不能使他正常工作這個選項也一定要選否則后將安裝在原系統(tǒng)的下這將覆蓋掉系統(tǒng)原有的命令選擇這個選項后后會在目錄下生成一個叫的目錄里面有和指向他的鏈接其他選項都是一些默認的就可以了基本命令選項自己需要哪些命令就編譯進去一般用配置好后退出并保存編譯并安裝編譯好后在目錄下生成子目錄里面的內(nèi)容其中可執(zhí)行文件月月月在目錄下其他的都是指向他的符號鏈接我編譯出來的可執(zhí)行文件是加上符號鏈接整個目錄是加上的內(nèi)核不是已經(jīng)超過了嗎別擔心我們將對整個根文件系統(tǒng)做大幅度的壓縮八,制作根文件系統(tǒng)
29、1基,本目錄結(jié)構(gòu)其中和是一定要建的和不用建因為中已經(jīng)有了其他的可以象征性的建幾個就可以了拷貝建,立設(shè)備文件名你可以用手工建立也可以直接從原系統(tǒng)的目錄下拷貝過來手工建立的方法:月這樣就查看到了設(shè)備的主設(shè)備號是輔設(shè)備號是是一個標記為的字符設(shè)備于是我們可以用建立一個同樣的設(shè)備文件但是手工方法建立太麻煩了通常直接從下把需要的設(shè)備文件拷貝過來這些設(shè)備文件是特殊文件在拷貝時一定要加上參數(shù)才能拷貝以下是我認為需要的設(shè)備名其中等是必備的其它的等可以根據(jù)實際需要決定但是上表中的選擇是比較合理的即能滿足大部分的需要有沒有不用的設(shè)備浪費空間注意千萬不要把下的設(shè)備全拷貝過來那將產(chǎn)生大約的目錄這對來說太大了建立目錄下的
30、配置文件其中是一個目錄從源其中是一個目錄從源-代1碼.目0錄0下拷貝過來是一個空文件其他文件的內(nèi)容如下其中有很多是從原系統(tǒng)的下拷貝過來修改的如果你是一個具有中等以上水平的愛好者那么應(yīng)該一看就明白了當然你也可以根據(jù)自己的需要修改這些文件其中最重要的是和內(nèi)建的程序用到的文件的語法和一般的不一樣不能直接把原系統(tǒng)下文件拷貝過來可以把目錄下的示例文件拷貝過來修改用具體請看的文檔的也可以不用但是在我制作過程中有一個非常奇怪的所有下的鏈接在做成壓縮的根文件系統(tǒng)解壓后都不能正常運行顯示找不到該命令只有當我在下做這些鏈接時才能運行具體原因還不太清除所以你需要做下面的工作查看到F有上述鏈接轉(zhuǎn)到下重新做這些鏈接然后
31、把下的鏈接刪除以節(jié)省空間再把原先中所有的改成下的文件請確保這個文件是可執(zhí)行的,否則請改成可執(zhí)行的的內(nèi)容ece+asalinuxandwindowsrescuedisk.Besidealecho-en+containedriversofReltek8139,NEethernettecho-en+adpater.canguretheIPaddressanech-oen+ifconanfdicgonftihgdeefaulgtatewwayitchommandroute.echoden+Isthereanythingelse?Haha,thisisateechoenapetelnetdartdita
32、ndthcanechoenouremohelpolvetechoeemeglreatfeaturesarepoweredby1.06mttechoensisafreesystemtooldevelopedbechoenpleaseechoenmatno2l:inu_1j3o.yc!o!mechoeneemamea可以自己作相應(yīng)的修改以上是a根文件系統(tǒng)的所有內(nèi)容他的總大小應(yīng)該在1左右read1.1M.九制作ramd映象文件a根文件系統(tǒng)所有東西都放在/a下r我們將利用ramd把這些內(nèi)容做成ramd映象文件并壓縮他以下主要是ramd的用法看完以下內(nèi)容你應(yīng)當學會ramd的使用rootgucuiwenb
33、abylinux#ddif=/dev/zeroof=/dev/ram1dd:正在寫入/dev/ram1:設(shè)備上沒有空間讀入了8193+個0塊輸出了8192+個0塊er是一個特殊的設(shè)備表示全部為的字符塊上面這條命令的意思是把系統(tǒng)的第一個ramd用全部為的數(shù)據(jù)填充因為ramd默認大小為因此當讀滿819個2塊(每塊512字節(jié))后,顯示設(shè)備上沒空間這.很正常,/dev/ram1已經(jīng)被填充滿了.如果指定塊的大小讀入了4+個0塊輸出了4+個0塊不會有錯誤提示這里演示了的一般用法接下來還要頻繁用到命令在下有很多設(shè)備一般用第一個就可以了填充后就有可空間可以在這個空間上創(chuàng)見一個文件系統(tǒng)將掛裝到文件系統(tǒng)中先建立一個掛裝點:掛上將先前做好的根文件系統(tǒng)拷貝到上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國可吸收三氯生涂層抗菌縫合線行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國超寬帶雷達傳感器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球阻燃聚乙烯膜行業(yè)調(diào)研及趨勢分析報告
- 飯店房屋租賃合同范文
- 建筑工程掛靠內(nèi)部協(xié)議合同
- 2025佳兆業(yè)集團年度低壓柜設(shè)備戰(zhàn)略采購合同
- 虛擬股合伙協(xié)議合同范本
- 2025工程建設(shè)招標設(shè)標合同條件第1部分
- 直播帶貨商家簽約的合同范本
- 2025房地產(chǎn)委托開發(fā)合同酬金
- 對違反政治紀律行為的處分心得體會
- 大學生職業(yè)生涯發(fā)展與規(guī)劃(第二版)PPT完整全套教學課件
- 領(lǐng)導(dǎo)干部的情緒管理教學課件
- 初中英語-Unit2 My dream job(writing)教學課件設(shè)計
- 供貨方案及時間計劃安排
- 唐山動物園景觀規(guī)劃設(shè)計方案
- 中國版梅尼埃病診斷指南解讀
- 創(chuàng)業(yè)投資管理知到章節(jié)答案智慧樹2023年武漢科技大學
- 暨南大學《經(jīng)濟學》考博歷年真題詳解(宏觀經(jīng)濟學部分)
- GB/T 8014.1-2005鋁及鋁合金陽極氧化氧化膜厚度的測量方法第1部分:測量原則
- eNSP簡介及操作課件
評論
0/150
提交評論