畢業設計(論文)-嵌入式Linux系統裁剪與微內核化_第1頁
畢業設計(論文)-嵌入式Linux系統裁剪與微內核化_第2頁
畢業設計(論文)-嵌入式Linux系統裁剪與微內核化_第3頁
畢業設計(論文)-嵌入式Linux系統裁剪與微內核化_第4頁
畢業設計(論文)-嵌入式Linux系統裁剪與微內核化_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業設計(論文)題目:嵌入式Linux系統裁剪與微內核化畢業設計(論文)任務書任務與要求閱讀Linux與Minix內核模塊,改寫和編譯代碼,并通過裁剪制作微小系統。同時對微內核化進行探索。應完成的任務:對操作系統內核基本模塊熟悉。裁剪操作系統。制作USB便攜的嵌入式系統。微內核化分析。

畢業設計(論文)工作計劃題目嵌入式Linux系統裁剪與微內核化____________________________________________________工作進程2起止時間工作內容起止時間工作內容3月10號~3月27號 完成資料收集,閱讀安全操作系統知識。4月8號~4月23號閱讀Minix與Linux系統部分源碼,熟悉模塊。4月24號~5月7號 修改編譯相關代碼,并編譯嵌入式操作系統。 5月8號~5月23號 嵌入式操作操作系統需求分析,初步進行裁剪。5月24號~6月2號微內核改進分析。6月3號~6月10號完成論文及答辯。

主要參考書目(資料)操作系統設計與實現(第三版)上冊AndrewS.TanenbaumAlbertS.Woolhull著陳渝諶衛軍譯電子工業出版社2007.32、安全操作系統原理與技術劉克龍馮登國石文昌編著科學出版社20043、操作系統安全卿思漢劉文清溫紅子編著清華大學出版社2004.84、unix/linux編程實踐教程BruceMolay著楊宗源黃海濤譯清華大學出版社20045、實時系統C.MKrishnaKangG.Shin著戴瓊海譯清華大學出版社2004主要儀器與設備:計算機一臺優盤一個論文(設計)過程中教師的指導安排每周至少指導一次,有問題隨時輔導!對計劃的說明課題名稱:嵌入式Linux裁剪與微內核化號本課題所涉及的問題及應用現狀綜述網絡時代提出的微內核概念,使微內核技術迅速興起。1991年免費的操作系統Linux的發布,使我們進入自由軟件時代。這個時代嵌入式系統橫行,可移植性已經成為主體。使單內核與微內核競爭激烈。操作系統模塊大至分為:處理器管理,存儲器管理、設備管理和文件管理。這些模塊核心常駐內核,而微內核精簡了操作系統的核心功能,內核規模比較小,一些功能都移到了外存上,所以微內核結構十分適合嵌入式的專用系統,對于通用性較廣的系統,將使CPU得通信開銷增大,從而影響到計算機的運行速度。所以微內核結構清晰,易擴充和移植,成為當前備受關注的一種技術。在體系結構方面,它采用了面向對象技術來描述操作系統內核對象,提出并實現了基于客戶服務器體系結構的操作系統。在算法方面,提出了許多高端新穎的算法。國產微內核操作系統COSIX2.0的研制過程中,消化和研究了國外微內核技術,并提出實現了一些新的算法和模型,改進了系統的性能,提高了系統的可靠性。本課題,通過對Minix微內核代碼的閱讀和研究,然后通過開源操作系統的Linux的裁剪,使之深入理解微內核化的概念,并最終對微內核化的改進進行分析和研究。2.本課題需要重點研究的關鍵問題、解決的思路及實現預期目標的可行性分析本課題首先需要在對Linux內核各模塊代碼了解。然后對其部分代碼改寫或編譯,并最后可以順利進行裁剪,制作一個USB啟動嵌入式系統。對現有操作系統的特點進行了解,并對微內核概念進行了解同時和現有操作系統進行對比分析,如Linux系統。閱讀Minix微內核代碼,深入了解微內核特性。對微內核化現狀分析,并通過裁剪過程的研究對微內核化的改進進行分析。3.完成本課題的工作方案完成本課題需要查閱相關的文獻和復習操作系統等知識、在掌握c語言的基礎上閱讀minix內核源代碼,并學習信息安全相關知識。第一、二周:完成資料收集,認真閱讀操作系統知識及相關的安全操作知識;第三、四周:閱讀Minix內核;第五、六周:思考安全操作系統的知識與Minix的關聯;第七、八周:實現安全操作系統進程模型的研究;第九、十周:實現安全操作系統進程模型第十一周:開始畢業設計論文;第十二周:完成畢業設計答辯;4.指導教師審閱意見通過查閱相關資料,對所研究的問題有了初步了解,提出的方案基本可行,同意開題。指導教師(簽字):2010年3月22日說明:本報告必須由承擔畢業論文(設計)課題任務的學生在畢業論文(設計)正式開始的第1周周五之前獨立撰寫完成,并交指導教師審閱。課題任務完成情況17.979(千字);(千字);(張);:指導教師意見分項得分:開題調研論證分;課題質量(論文內容)分;創新分;論文撰寫(規范)分;學習態度分;外文翻譯分指導教師審閱成績:指導教師(簽字):年月日評閱教師意見分項得分:選題分;開題調研論證分;課題質量(論文內容)分;創新分;論文撰寫(規范)分;外文翻譯分評閱成績:評閱教師(簽字):年月日驗收小組意見分項得分:準備情況分;畢業設計(論文)質量分;(操作)回答問題分驗收成績:驗收教師(組長)(簽字):年月日答辯小組意見分項得分:準備情況分;陳述情況分;回答問題分;儀表分答辯成績:答辯小組組長(簽字):年月日成績計算方法指導教師成績20(%)評閱成績30(%)驗收成績30(%)答辯成績20(%)學生實得成績(百分制)指導教師成績評閱成績驗收成績答辯成績總評答辯委員會意見畢業論文(設計)總評成績(等級):系答辯委員會主任(簽字):系(簽章)年月日備注目錄摘要 摘要目前,鑒于Linux系統的種種優勢,它正成為一種流行的嵌入式操作系統應用到嵌入式開發中。但Linux并不是針對嵌入式應用而設計的,要將它用于嵌入式系統,也有很多局限性。嵌入式系統資源有限,必須對Linux其進行特定的裁剪,以達到定制系統、減小體積、提高運行效率等設計目標。由于嵌入式Linux系統一般包括Linux內核、文件系統及應用程序3個層次,因此,現有的Linux系統裁剪方法也相應的包括兩個方面:內核裁剪和系統庫裁剪。本文針對Linux裁剪過程中需要考慮主要問題進行分析,并實踐對此系統裁剪,制作Linux自啟動優盤。關鍵字:嵌入式Linux,微內核,Linux裁剪,交叉編譯。ABSTRACTAtpresent,viewingthemanyadvantagesofLinuxsystems,itisbecomingapopularembeddedoperatingsystemwhichusedinembeddeddevelopment.ButLinuxdidn’ttdesignforembedded.Forusingitasaembeddedsystem,therearemanylimitations.EmbeddedenvironmentlimitedthatLinuxmustcutitself.Thatgoalistocustomizesystem,toreducethesize,toimproveoperatingefficiency.AstheembeddedLinuxsystemconsistofLinuxkernel,filesystemandapplications.Therefore,therearetwowaystocutLinuxsysterm.,thekernelandsystemlibrariescutting.Thispaperanalyzetheproblemshowtocut.Thesametime,itwillbepractice.Andmakethebootdisk.Keywords:EmbeddedLinux,microkernel,Linuxcutting,Cross-compile.嵌入式Linux系統裁剪與微內核化引言當前,Linux已經成為全球第二大操作系統。服務器市場上,Linux系統更占據絕對的優勢,中國的Linux市場更是保持40%左右的增長速度。所以,Linux的普及是大勢所趨。在嵌入式市場,各種嵌入式操作系統鏖戰正酣。而Linux因其開源,可靠性,豐富的軟件源,豐富的工具,免費的使用等等特性,越來越受到大中小企業和公司的關注。至今,嵌入式Linux系統在嵌入式市場已經占據很大份額。眾多廠商亦紛紛圍繞著Linux系統開發其自己的產品。但在,Linux系統主要并不是定位于嵌入式環境的。相對于一般的嵌入式系統,Linux顯得臃腫、龐大、實時性需求差。如今,微內核理論已經日趨完善同時,為了使單內核Linux系統向適應各種平臺的微內核操作系統轉化,必須對Linux系統進行必要的裁剪。本文著重對當前嵌入式市場環境分析并了解嵌入式系統需求。在此基礎上,實踐對嵌入式Linux的裁剪,并以此理解微內核化技術。緒論嵌入式技術日新月異當今,從智能手機、媒體電視、數碼相框、電子書、游戲機等電子設備,已經成為信息化時代人們形影不離的數碼伴侶。而嵌入式技術的研究和創新,將使這些設備更智能、更多樣性和個性化。而作為嵌入式設備的最核心部分的嵌入式操作系統,就搭載人類技術進步的重要角色。對于嵌入式設備有限的資源、可用性、可靠性等需求,嵌入式操作系統必須面對細粒度、專注性和可靠性等要求。LinuxOS是一款開源操作系統,這種純自由軟件的特性,使它成為嵌入式開發的寵兒。然而Linux操作系統是面向桌面的,對于嵌入式環境,顯得臃腫不堪。對于Linux系統的裁剪的研究,被賦予了必要的意義。微內核需求日劇到現在為止,操作系統正在變得越來越大,越來越慢以及越來越不可靠。相對于平時使用的電視、手機等電子產品,操作系統越來越容易崩潰。目前,傳統的操作系統,如Windows系列,一般有幾百萬行C/C++代碼組成,假設其中一段代碼存在缺陷,那么很可能照成整個系統崩潰。因此,微內核體系結構的應用已經備受關注,微內核是一個小型的操作系統的核心,只有最基本的操作系統功能放在內核中。嵌入式操作系統嵌入式操作系統概述嵌入式操作系統EOS(EmbeddedOperatingSystem)是一種用途廣泛的系統軟件。EOS負責嵌入系統的全部軟、硬件資源的分配、調度工作,控制協調并發活動;它必須體現其所在系統的特征,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,嵌入式操作系統群雄割據,各種操作系統都擁有獨自的特點。伴隨著Internet技術的發展、信息家電的普及應用及嵌入式OS的微型化和專業化。嵌入式操作系統從單一的弱功能向高專業化的強功能方向發展。嵌入式系統除擁有一般操作系統的人物調度、同步機制、中斷處理、文件功能外,還擁有一些特點:系統內核小由于嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。專用性強嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植。系統精簡嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。高實時性的系統軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態存儲,以提高速度;軟件代碼要求高質量和高可靠性。嵌入式系統開發需要開發工具和環境。其本身不具備自我開發能力,這必須有一套開發工具和環境才能進行開發。嵌入式開發時往往有主機和目標機的概念,主機用于程序的開發,目標機作為最后的執行機,開發時需要交替結合進行。嵌入式Linux操作系統常見嵌入式系統WindowsCEWindowsCE是微軟公司針對嵌入式研發的一款操作系統,具有模塊化、結構化和基于Win32應用程序接口和與處理器無關等特點。WindowsCE不僅繼承了傳統的Windows圖形界面,并且在WindowsCE平臺上可以使用Windows95/98上的編程工具(如VisualBasic、VisualC++等)、使用同樣的函數、使用同樣的界面風格,使絕大多數的應用軟件只需簡單的修改和移植就可以在WindowsCE平臺上繼續使用。因此擁有WindowsCE開發容易,周期短優勢。VxWorksVxWorks是美國風河公司1983年設計開發的一種嵌入式實時操作系統。VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。VxWorks以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。VxWorks是目前嵌入式系統領域中使用最廣泛、市場占有率最高的系統。PalmOSPalmOS是Palm公司開發的專用于PDA上的一種操作系統,這是PDA上的霸主,一度普占據了90%的PDA市場的份額。PalmOS是一種32位的嵌入式操作系統,用于掌上電腦。PalmOS操作系統本身所占的內存極小,使基于Palm操作系統編寫的應用程序所占空間也很小,通常只有幾十KB,在只有幾兆內存的掌上電腦上可以運行眾多的應用程序。SymbianOSSymbian公司是由摩托羅拉、西門子、諾基亞等幾家大型移動通訊設備制造商共同出資組建的合資公司,專門研發手機操作系統Symbian。Symbian作為一款已經相當成熟的操作系統,具有提供無線通信服務,將計算技術與電話技術相結合;操作系統固化;相對固定的硬件組成;較低的研發成本;強大的開放性;低功耗,高處理性能;系統運行的安全、穩定性;多線程運行模式;多種UI,靈活,簡單易操作等特點。Symbian操作系統在智能移動終端上擁有強大的應用程序及通信處理能力,標準通信傳輸協議及SUNJava語言支持。Symbian操作系統提供了靈活的應用界面,使手機制造商能夠推出不同界面的產品。uC/OS-ⅡuC/OS是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統。它

是專門為計算機的嵌入式應用設計的,絕大部分代碼是用C語言編寫的。CPU硬件相關部分是用匯編語言編寫的、總量約200行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU上。LinuxOSLinux是一類Unix計算機操作系統的統稱。它也是自由軟件和開放源代碼發展中最著名的例子。Linux加入GNU,并遵循公共版權許可證(GPL),允許商家在Linux上開發商業軟件。同時,Linux是一款開源操作系統,使得越來越多大中型企業及政府投入更多的資源來開發Linux。無可置疑,Linux將引領未來軟件發展的方向。嵌入式Linux操作系統介紹嵌入式Linux是以Linux為基礎的嵌入式作業系統,它被廣泛應用在移動電話、個人數字助理(PDA)、媒體播放器、消費性電子產品以及航空航天等領域中。嵌入式linux是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。嵌入式linux既繼承了Interlnet上無限的開放源代碼資源,又具有嵌入式操作系統的特性。嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支持全世界的自由軟件開發者提供支持網絡特性免費,而且性能優異,軟件移植容易,代碼開放,有許多應用軟件支持,應用產品開發周期短,新產品上市迅速,因為有許多公開的代碼可以參考和移植,實時性能RT_LinuxHardhatLinux等嵌入式Linux支持,實時性能穩定性好安全性好。嵌入式Linux優勢Linux做嵌入式的優勢,首先,Linux是開放源代碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持;其次,Linux的內核小、效率高,內核的更新速度很快,linux是可以定制的,其系統內核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。Linux還有著嵌入式操作系統所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺,是一個跨平臺的系統。到目前為止,它可以支持二三十種CPU。而且性能穩定,裁剪性很好,開發和使用都很容易。很多CPU包括家電業芯片,都開始做Linux的平臺移植工作。移植的速度遠遠超過Java的開發環境。也就是說,如果今天用Linux環境開發產品,那么將來換CPU就不會遇到困擾。同時,Linux內核的結構在網絡方面是非常完整的,Linux對網絡中最常用的TCP/IP協議有最完備的支持。提供了包括十兆、百兆、千兆的以太網絡,以及無線網絡,Tokerring(令牌環網)、光纖甚至衛星的支持。所以Linux很適于做信息家電的開發。Linux裁剪Linux用于嵌入式系統局限性Linux是通用操作系統,它最初的設計是用于桌面系統或者小型服務器。所以它并不是適宜的嵌入式系統。主要有一下幾個問題:系統具有的尺寸嵌入式系統存儲資源緊張,只有幾兆的Flash,即使是用作掌上電腦的嵌入式Linux系統,最多也不過有幾十兆的Flash或十幾兆的RAM。這就要求用作嵌入式系統的Linux必須具備較小的尺寸。實時性盡管不是所有的嵌入式系統都要求實時性,但是實時性的確是嵌入式系統的一個關鍵性特性。Linux系統可裁剪性Linux作為一種通用的操作系統,其內核需要具有對硬件平臺的廣泛支持能力,往往包括了繁多的功能模塊;然而嵌入式系統是針對具體應用的專用系統,對于Linux內核中有些不必要的功能模塊不僅會占用系統的存儲資源,而且會影響系統對事件的響應速度和執行速度,因此有必要對原有的系統進行裁剪,刪除不必要的模塊,根據軟硬件的實際情況對內核進行定制。可以從一些方面著手進行裁剪:內核重編譯選擇不同的選項編譯出來的內核有很大的差別。Linux支持大量不同的硬件,而嵌入式開發時,可以針對需求對內核編譯模塊進行勾選,去掉不需要的驅動和模塊。如PCMCIA,SCSI之類的外設完全沒有必要。同時Linux中很好的一點是對模塊的支持。用戶可能需要某個硬件的驅動程序,但并不一定非要把它編譯到內核中去,而是可以自由地把驅動程序當作操作系統的某一塊,在需要時將它裝上去,而不需要時將它卸載下來。這成為壓縮內核的另一種方式,系統啟動時加載必要的模塊,而其它的模塊可以動態地加載。可以使用insmod,modprobe,rrmod等命令來進行加載或卸載模塊工作。庫裁剪對于應用比較單一的情況,可以針對應用程序裁剪庫文件,僅僅留下保證應用程序正常運行的庫文件。當不清楚函數調用那些庫時,可以使用ldd來查看程序到底需要哪些庫。嵌入式Linux系統裁剪與編譯構建交叉編譯環境交叉編譯原理簡介嵌入式開發一般都是使用交叉編譯環境。交叉編譯就是在一臺計算機上編譯軟件,其生成的軟件在另一臺不同類型處理器的機器上運行。因為嵌入式硬件性能一般無法和家用計算機相比,無法構建開發和編譯環境。所以我們只能“借”家用計算機來對目標平臺的軟件進行開發和編譯。此時稱家用計算機為宿主機,而目標平臺機器為目標機。每一個軟件。在編譯過程中。都要經過一系列處理,才能從源代碼變成可執行目標代碼。這一系列處理包括,預編譯、高級語言編譯、匯編、連接及其重定位。這一套流程里面用到的工具和庫的組合,就稱為工具鏈。Linux上常用的開發工具GCC,它包含預編譯器cpp,c語言編譯器gcc,匯編器as和連接器ld。這個工具鏈中,還有用于處理二進制包的工具包binutils,整個工具鏈應該是GCC+binutils+Glibc。為了編譯在目標機上運行嵌入式Linux內核,首先我們必須編譯目標平臺的編譯鏈,而這個鏈是存放在主機上,故名為交叉編譯鏈。下載構建交叉編譯鏈的工具及其補丁Binutils-2.19.1Busybox-1.13.0GCC-4.3.3GMP-4.2.4MPFR-2.4.1uClibc-0.9.30.1制作交叉編譯鏈定義環境變量定義MYSYS變量為嵌入式系統主目錄變量、MYSYS_TARGET變量為目標平臺、MYSYS_HOST為主機平臺。使用export命令或者將此變量添加.bashrc文件中。cat>~/.bashrc<<“EOF”set+humask022MYSYS=/mnt/mysysLC_ALL=POSIXPATH=${MYSYS}/ctools/bin:/bin:/usr/binexportMYSYSLC_ALLPATHEOF這樣我們設置了生成系統的根目錄變量。exportMYSYS_HOST=”${MACHTYPE}”exportMYSYS_TARGET=”[XXX]-ulibc-linux-gnu”這兩個變量都是編譯過程需要使用的。XXX是目標平臺,如arm平臺,可寫為arm-ulibc-linux-gun。首先需要安裝內核頭文件。makemrpropermakeARCH=${MYSYS_ARCH}headers_checkmakeARCH=${MYSYS_ARCH}INSTALL_HDR_PATH=destheaders_install制作工具鏈的時候需要使用部分內核頭文件。編譯GMP。../configure--prefix=/ctools--enabled-mpbsdmakemakeinstall編譯MPFR。LDFLAGS="-Wl,-rpath,/ctools/lib"\./configure--prefix=/ctools--enable-shared\--with-gmp=/ctoolscp-rvdest/include/*${MYSYS}/usr/includemakemakeinstall以上兩個工具是進行浮點運算的工具包,如果不安裝,將會報錯。編譯Binutils../binutils-2.19.1/configure--prefix=${MYSYS}/ctools\--target=${MYSYS_TARGET}--with-sysroot=${MYSYS}--disable-nls\--enable-shared--disable-multilibmakeconfigure_hostmakemakeinstall第一次編譯GCCAR=arLDFLAGS="-Wl,-rpath,/ctools/lib"\../gcc-4.3.3/configure--prefix=${MYSYS}/ctools\--build=${MYSYS_HOST}--host=${MYSYS_HOST}\--target=${MYSYS_TARGET}--with-sysroot=${MYSYS}\--disable-nls--disable-shared\--with-mpfr=/ctools--with-gmp=/ctools\--without-headers--with-newlib--disable-decimal-float\--disable-libgomp--disable-libmudflap--disable-libssp\--disable-threads--enable-languages=cmakemakeinstall此時的編譯出來的gcc,是不可以編譯c程序的。因為沒有連接庫。同時安裝的Linux頭文件也是這一步被使用。GCC必須掌握目標體系的全部細節,這由Linux的內核頭文件給出。編譯uclibc庫當然也可以編譯glibc庫。編譯最終版gcc../gcc-4.3.3/configure--prefix=${CLFS}/cross-tools\--build=${CLFS_HOST}--target=${CLFS_TARGET}\--host=${CLFS_HOST}--with-sysroot=${CLFS}\--disable-nls--enable-shared--enable-languages=c\--enable-c99--enable-long-long--with-mpfr=/cross-tools\--with-gmp=/cross-toolsmakemakeinstall這樣就得到了交叉編譯鏈。下載Linux內核并進行裁剪Linux-2.6.30.5Linux內核編譯與裁剪配置內核的幾種命令:makeconfig:基于文本的最為傳統的配置界面,不推薦使用。makemenuconfig:基于文本選單的配置界面,字符終端下推薦使用。makexconfig:基于圖形窗口模式的配置界面,Xwindow下推薦使用。makeoldconfig:如果只想在原來內核配置的基礎上修改一些小地方,會省去不少麻煩。makeARCH=${CLFS_ARCH}CROSS_COMPILE=${CLFS_TARGET}-menuconfig通過對嵌入式需求分析,通過必要的勾選,即可完成對linux內核裁剪和重編譯。這里將講解一些內核選項:Generalsetup常規設置子選項Promptfordevelopmentand/orincompletecode/drivers是測試版本代碼。Supportforpagingofanonymousmemory(swap)選擇是否支持內存隨機頁面支持(SWAP),如果嵌入式存儲空間過小,可以去掉。可以提高運行速度。Auditingsupport審計支持,SELinux會需要用到它。InitialRAMfilesystemandRAMdisksupport初始化RAM文件系統和RAM磁盤支持,初始RAM文件系統是一種ram文件系統,它被啟動器裝載,在啟動程序前以root形式掛載。Initramfssourcefiles初始ram文件系統源文件。有.cpio后綴的壓縮包。Optimizeforsize尺寸優化,可以得到更小的內核。Configurestandardkernelfeatures(forsmallsysytems)為小系統配置標準內核特性。Loadablemodulesupport可加載模塊支持Enableloadablemodulesupport允許可裝載模塊支持。此選項可以讓你的內核支持模塊。模塊是一小段代碼,編譯后可在系統運行動態加入內核,從而為內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯為模塊以減小內核的體積。在運行時可以用modprobe命令來加載它到內核中去。Moduleunloading模塊卸載,能卸載不再使用的模塊。可以使內核尺寸減小一些。Forcedmoduleunloading強制內核模塊卸載,強行卸載模塊,即使內核認為不安全,內核會理解卸載模塊。Enabletheblocklayer允許塊設備SupportforLargeBlockDevices提供對2TB活著更大的塊設備支持。SupportforLargeSingleFile提供對大文件支持,為大于2TB的文件。DeadlineI/OschedulerDeadlineI/O調度簡單緊密,在單進程的I/O磁盤調度上,它的工作方式幾乎和搶先式調度器相同,因此也是一個好的選擇。Processortypeandfeatures處理器類型及特性此處可以針對嵌入式芯片進行裁剪。Symmetricmulti-processingsupport(SMP)多處理器支持。RDCR-321xSocRDCR-321x系列芯片Processorfamily及其子選項,可以針對選擇處理器。GenericX86support對X86CPU類型進行優化。MaximumnumberofCPUs最大支持的CPU數量。Multi-coreschedulersupport多核調度器支持。PreemptibleKernel可搶先式內核,這個選項通過使所有內核代碼編譯為“可搶先”來降低內核延遲。這個非常適合嵌入式編譯內核。HighMemorySupport高容量內存支持。如果內核不會運行在高于1G內存的機器上,就去掉。Timerfrequency時鐘頻率的設置。Built-inkernelcommandline內嵌內核命令行,允許編譯內核的時候指定特定的內核啟動參數。Powermanagementoptions電源管理選項SuspendtoRAMandstandby內存掛起和待機功能。允許系統休眠,主內存仍帶電保存相關信息。Hibernation休眠ACAdapterAC交流電源適配器Battery電池Button風扇ARMBIOSsupport高級電源管理支持。Busoptions總線選項Executablefileformants可執行文件格式KernelsupportforELFBinariesELF二進制文件內核支持Networkingsupport網絡支持Packetsocket包套接字UnixdomainsocketsUNIX域套接字THEIPv6protocolIPv6協議。SecurityMarking給網絡套接字提供安全標志。Networkpacketfilteringframework網絡包過濾框架。AsynchronousTranserMode(ATM)異步傳輸模式,如果有ATM網卡,可選。Appletalkprotocolsupport蘋果電腦用于連接網絡的協議。802.ldEthernetBridging802.ld以太網橋接。802.1QVLANsupport802.1QVLAN接口支持。TheIPXprotocolIPX協議,這是對Novell網絡的協議,這個驅動會使內核增大16KB。IrDA(infrared)subsystemsupport紅外子系統支持。Bluetoothsubsystemsupport藍牙子系統支持。Phonetprotocolsfamily網絡電話協議家族。Wireless無線支持。DeviceDrivers設備驅動MTDpartitioningsupport如果有一個設備,需要將他分成幾個分區。Parallelportsupport并行端口支持。PlugandPlaysupport即插即用設備。Blockdevices塊設備。Normalfloppydisksupport普通軟盤支持。Networkblockdevicesupport網絡塊設備。LowPerformanceUSBBlockdriver低端USB塊驅動設備。RAMblockdevicesupportRAM塊設備支持PacketwritingonCD/DVDmediaCD/DVD媒體包寫入。ATAoverEthernetsupport以太網ATA支持。ATA/ATAPI/MFM/RLLsupport如果系統是純種SCSI,那么可以選擇N。SupportforDATA支持。SCSIdevicesupportSCSI設備支持。SCSIdisksupportSCSI磁盤支持。RAIDsupportRAID支持。Networkdevicesupport網絡設備支持。Inputdevicesupport輸入設備支持。Graphicssupport圖形支持。Sound聲音。HIDDevicesHID設備。USBHumanInterfaceDevicesupports人性化接口設備。USBsupportUSB支持。MMC/SDcardsupportMMC/SD卡支持。可以從選項知,這是進行嵌入式裁剪非常重要的一個選項。我們可以為嵌入式環境量身打造我們需要的驅動,去掉我們不需要的驅動,那么Linux內核將減小很多。FirmwareDivers固件驅動Filesystems文件系統Secondextendedfssupport第二次擴展文件支持,既Ext2文件系統。Ext3journallingfilesystemsupportExt3日志文件系統。Ext3extendedattributesExt3擴展屬性。TheExtended4(ext4)filesystemext4擴展文件系統。JFSfilesystemsupportJFS文件系統支持。XFSfilesystemsupportXFS文件系統支持。OCFS2filesystemsupportOCFS2文件系統。Kernelautomountersupport內核自動掛載支持。CD-ROM/DVDFilesystemsCD-ROM/DVD文件系統。DOS/FAT/NTFilessystemsDOS/FAT/NT文件系統。VFATfssupportVFAT文件系統支持。NTFSfilesystemsupportNTFS文件系統支持。/procfilesystemsupport/proc文件系統支持,提供系統狀態信息。Virtualmemoryfilesystemsupport虛擬文件系統支持。Tmpfs是一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論