亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

一種實(shí)現(xiàn)嵌入式Linux的新方法

時間:2024-09-25 12:39:44 計(jì)算機(jī)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

一種實(shí)現(xiàn)嵌入式Linux的新方法

摘要 在Linux中會遇到由于文件系統(tǒng)損壞,需要人工修復(fù)而導(dǎo)致系統(tǒng)無法正常啟動的現(xiàn)象。本文采用Linux初始化內(nèi)存盤(INITRD)技術(shù),并把內(nèi)存的一部分作為Linux的根目錄,每次啟動把完整的文件系統(tǒng)解壓到這里,避免了系統(tǒng)從損壞的文件系統(tǒng)啟動。這不僅使系統(tǒng)能正常啟動,而且提高了系統(tǒng)性能。

關(guān)鍵詞 Linux 嵌入式 INITRD ramdisk

【Abstract】In course of building embedded Linux, the system will not start because of the bad filesystem . The paper describes a new method, which adopts INITial Ramdisk Disk and assigns part of memories as root directory of Linux. It avoids startup from a bad filesystem because it uncompresses integral filesystem to ramdisk every time. With this method, the system can not only start normally, but also it’s performance is very good.

【Keyword】Linux embedded INITRD ramdisk

引言
在Linux操作系統(tǒng)中,有一項(xiàng)特殊的功能——初始化內(nèi)存盤INITRD(INITial Ram Disk)技術(shù),而且內(nèi)核支持壓縮的文件系統(tǒng)映像。有了這兩項(xiàng)功能,我們可以讓Linux系統(tǒng)從小的初始化內(nèi)存盤啟動,并把系統(tǒng)內(nèi)存的一部分作為根文件系統(tǒng)掛載,而且不使用交換分區(qū)(如果不運(yùn)行X Windows這是完全可以的),即把Linux系統(tǒng)完全嵌入到內(nèi)存中,而不依賴于任何其他硬盤。現(xiàn)在PC機(jī)內(nèi)存至少128M,而根文件系統(tǒng)所用的只有30M,因此不僅不會使整機(jī)性能下降,反而有很大的提高。
由于系統(tǒng)不工作在硬盤上,所以系統(tǒng)消除了由于機(jī)械驅(qū)動而導(dǎo)致的問題;因?yàn)橄到y(tǒng)運(yùn)行于內(nèi)存中,根文件系統(tǒng)和操作完全在CPU/RAM環(huán)境下,系統(tǒng)性能在速度和可靠性方面非常好;它不會由于非法關(guān)機(jī)而破壞文件系統(tǒng),因?yàn)槲覀兠恳淮螁邮前褖嚎s的文件系統(tǒng)解壓至內(nèi)存盤中作為根文件系統(tǒng)掛載。
1 硬件要求
對于這樣一個系統(tǒng),硬件不需要特別的設(shè)計(jì),只是通過普通的PC機(jī)上的組件實(shí)現(xiàn)。值得一提是系統(tǒng)的內(nèi)存的大小,它至少應(yīng)該有64M。因?yàn)?0M作為Ramdisk使用,剩下30多兆作為系統(tǒng)運(yùn)行,才能保證系統(tǒng)的正常工作,我們現(xiàn)在的計(jì)算機(jī)內(nèi)存一般為128M,這個條件都能滿足。唯一特別的是一個flash盤 ,它相當(dāng)于一個IDE接口的硬盤,大小為20M,主要用它作為啟動LILO和放置根文件系統(tǒng)壓縮包。
2 Ramdisk的使用
Ramdisk就是將內(nèi)存的一部分分配為一個分區(qū)并作為硬盤來使用。對于系統(tǒng)運(yùn)行時不斷使用的程序,將它們放在Ramdisk中將加快計(jì)算機(jī)的操作,如大數(shù)據(jù)量的網(wǎng)絡(luò)服務(wù)器、無盤工作站等。為了能夠使用Ramdisk,我們在編譯內(nèi)核時須將block device中的Ramdisk支持選上,它下面還有兩個選項(xiàng),一個是設(shè)定Ramdisk的大小,默認(rèn)是4096k;另一個是initrd的支持。它既可以直接編譯進(jìn)內(nèi)核,也可以編譯成模塊,在需要的時候加載。我們由于在啟動時就用它,所以必須將它直接編譯進(jìn)內(nèi)核。
如果對Ramdisk的支持已經(jīng)編譯進(jìn)內(nèi)核,我們就可以使用它了。首先在/mnt目錄下創(chuàng)建目錄ram,運(yùn)行mkdir /mnt/ram;然后對/dev/ram0創(chuàng)建文件系統(tǒng),運(yùn)行mke2fs /dev/ram;最后掛載上/dev/ram,運(yùn)行mount /dev/ram /mnt/ram,就可以象對普通硬盤一樣對它進(jìn)行操作了。值得注意的是,在創(chuàng)建文件系統(tǒng)的時候,在屏幕上輸出1024 inodes ,4096 blocks,即ramdisk大小為4M=4096個塊,但是我們掛載上之后,用命令df –k /dev/ram查看時,顯示出來ramdisk大小只有3963K,這是由于文件系統(tǒng)本身占用了一些空間。
我們能根據(jù)需要改變ramdisk地大小。如我們要把默認(rèn)的4M增大到10M,當(dāng)ramdisk是直接編譯進(jìn)內(nèi)核的情況下,可在LILO配置文件lilo.conf中加入一行:append=“ramdis_size=10000”,運(yùn)行LILO后,重啟計(jì)算機(jī)后,ramdisk大小變?yōu)?0M,或者在啟動是作為啟動行參數(shù)ramdis_size=10000;當(dāng)ramdisk是作為可加載模塊編譯時,需要在模塊加載配置文件/etc/modules.conf中加入一行:options rd rd_size=10000,或者在加載rd模塊是在后面加上說明,即insmod rd rd_size=10000.
3 實(shí)現(xiàn)過程
3.1創(chuàng)建壓縮的文件系統(tǒng)
我們的實(shí)現(xiàn)過程是依賴于存在的Linux系統(tǒng)。首先啟動一般的Linux系統(tǒng),在這個系統(tǒng)中根據(jù)自己的需要,創(chuàng)建一個適合功能的文件系統(tǒng)。例如我們要實(shí)現(xiàn)Apache網(wǎng)絡(luò)服務(wù)器,那么只要把完成系統(tǒng)啟動和基本維護(hù)需要的一些命令、腳本、配置文件和庫函數(shù)留下,再加上實(shí)現(xiàn)Apache服務(wù)器所需要的。具體過程為:
在Linux下建立目錄/minlinux,我們在此目錄下創(chuàng)建的文件系統(tǒng)。系統(tǒng)的所有靜態(tài)鏈接庫,幫助手冊(man pages),信息頁(info pages),頭文件,內(nèi)核源碼對于系統(tǒng)運(yùn)行是完全無用的,所以不需要它們。在目錄bin下放系統(tǒng)維護(hù)的一些基本工具,如ls、mv、grep、chown、chmod、chgrp、ln、rm等;在sbin下是系統(tǒng)啟動過程通常需要的命令,如bash、e2fsck、mke2fs、fdisk、insmod、rmmod、depmod、modprobe、lsmod、shutdown、reboot、login、init、getty、mount、umount、等;usr/bin下放置Apache應(yīng)用程序http和其他一些特殊工具。然后根據(jù)這些可執(zhí)行文件需要的動態(tài)鏈接庫來確定lib目錄下的內(nèi)容。當(dāng)然目錄etc下的配置文件,dev下的設(shè)備文件需要的都必須要有,它們都是和可執(zhí)行文件對應(yīng)的,因?yàn)樵S多可執(zhí)行文件執(zhí)行時,一般是打開設(shè)備,根據(jù)配置文件來運(yùn)行。有一個特殊的目錄proc應(yīng)該設(shè)置,在內(nèi)核編譯選項(xiàng)文件系統(tǒng)選擇中,我們選

【一種實(shí)現(xiàn)嵌入式Linux的新方法】相關(guān)文章:

一種實(shí)現(xiàn)嵌入式Linux的新法子03-23

基于嵌入式Linux的終端AVI視頻編碼器的實(shí)現(xiàn)03-07

在嵌入式linux2.4.18內(nèi)核中實(shí)現(xiàn)CS8900A網(wǎng)卡驅(qū)動03-07

嵌入式Linux技術(shù)的現(xiàn)狀與發(fā)展動向03-19

嵌入式Linux系統(tǒng)及其應(yīng)用前景03-18

嵌入式Linux系統(tǒng)下Microwindows的應(yīng)用03-19

嵌入式Linux的MiniGUI研究和移植03-18

基于linux的網(wǎng)絡(luò)對講機(jī)的研究與實(shí)現(xiàn)03-07

嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植03-18

主站蜘蛛池模板: 无码人妻丰满熟妇区五十路在线 | 新密市| 国产中文在线亚洲精品官网| 欧美亚洲国产一区| 少妇被躁爽到高潮无码久久| 亚洲精品无码视频| 蛟河市| 色丁狠狠桃花久久综合网| 国产偷国产偷亚洲清高| 韩国理伦片一区二区三区在线播放| 欧美人人干| 久久亚洲国产精品123区| 日本人成网站18禁止久久影院 | 国产成人8x视频一区二区| 免费人成年激情视频在线观看| 亚洲不卡av不卡一区二区| 亚洲精品久综合蜜| 国产av激情久久无码天堂| 亚洲午夜久久久久久久久久| 午夜国产精品视频黄| 秋霞国产精品一区二区| 亚洲人亚洲精品成人网站| 99热这里只有精品久久免费| 亚洲国产精品久久久久秋霞1 | 欧美最猛黑人xxxxx猛交| 自拍亚洲欧美精品| 无码亚欧激情视频在线观看| 中文字幕日韩精品欧美一区| 欧美性黑人极品hd| 国产亚洲真人做受在线观看| 亚洲中文永久在线不卡| 亚洲国产成人一区二区在线| 日本人妻伦在线中文字幕| 欧美区在线观看| 国产精品久久久久久久久久直播| 大战丰满无码人妻50p| 精品人妻一区二区三区蜜桃AⅤ| 亚洲AV无码秘?蜜桃蘑菇| 久久精品视频在线看| 一级毛片在线播放免费| 囯产精品久久久久久久久久|