上一回製作了一個最簡跟文件系統,我們知道,一個最簡跟文件系統就有三個東東。一是由busybox產生的/bin /sbin linuxrc三個目錄文件,二是/etc目錄及它下面的inittab文件,三是/dev 目錄及它下面的兩個設備文件console和null。有了它們,linux就可以正常啓動了。但是,我們的最終目的不是系統,而是系統上面運行的應用程序。上面的三個東東雖然能保證我們的linux系統啓動起來,但是還是不夠的,我們還需要添加一些東西來服務於我們的應用。
(一)proc文件系統
Linux系統上的/proc目錄是一種文件系統,即proc文件系統。與其它常見的文件系統不同的是,/proc是一種僞文件系統(也即虛擬文件系統),存儲的是當前內核運行狀態的一系列特殊文件,用戶可以通過這些文件查看有關係統硬件及當前正在運行進程的信息,甚至可以通過更改其中某些文件來改變內核的運行狀態。
構建proc文件系統非常簡單:只需在/etc目錄下面修改添加一些文件,操作如下:
1)在根文件系統根目錄下創建proc文件夾:
#cd root_nfs
#mkdir proc
2)在/etc/inittab文件裏面添加如下內容:
3)在/etc目錄下創建目錄init.d,並在/etc/init.d目錄下面創建文件rcS文件:
#cd /etc
#mkdir init.d
#cd init.d
#gedit rcS
在rcS文件裏面添加如下內容:
修改rcS文件權限,#chomd 777 rcS
一切搞定。重啓開發板,系統啓動結果如下圖,我們可以看到,proc文件系統成功產生了!
(二)使用mdev創建設備文件
上篇博文中,我們用mknod命令在dev目錄下面創建了兩個設備文件。這屬於設備文件的靜態創建方法。而內核其實還支持很多設備,dev下面還要創建很多相應的設備文件,我們不可能都手工創建。所以我們要用mdev的方式動態創建設備文件。
mdev是udev的簡化版本,它通過讀取內核信息來創建設備文件。系統啓動後mdev主要做的工作有兩個:初始化/dev目錄,動態更新。要使用mdev,需要內核支持sysfs文件系統,爲了減少對flash的讀寫,還要支持tmpfs文件系統。這裏要確保內核中已經設置了CONFIG_SYSFS、CONFIG_TMPFS配置項。
要使用mdev,設置很簡單,只需要l兩步:
1)在/dev/init.d/rcS文件裏面添加下面的內容即可:
保存,退出。
2)在根文件系統根目錄下面創建目錄/sys
#cd root_nfs
#mkdir sys
重啓開發板,系統啓動結果如下圖,我們可以看到,dev所自動創建的設備文件,和sysfs文件系統內容,如下圖:
今天十一,國慶長假第一天,要早點兒收工。