1. 程式人生 > >根文件系統移植(2)——根文件系統的兩種格式

根文件系統移植(2)——根文件系統的兩種格式

根文件系統 鏡像 文件夾

一:鏡像格式的根文件系統

(1)鏡像文件的根文件系統的主要作用是用來以後燒錄到塊設備上面的,塊設備上的內核啟動後去掛載它。

(2)鏡像形式的根文件系統是由文件夾格式的根文件系統通過特定的工具(mke2fs)制作得到的

(3)鏡像文件系統具有一定的格式,格式是內化的,跟文件名後綴是無關,而是在制作時決定的。


二:文件夾格式的根文件系統

(1)簡單來說,文件夾格式的根文件系統其實就是我們開發主機下的一個文件夾而已,不同之處在於這個文件夾裏面包含了我們根文件系統所需的內容(包括etc目錄下的運行時配置文件、/bin等目錄下的可執行程序、/lib目錄下的庫文件等···

(2)文件夾格式的根文件系統是沒有格式的,它是通過我們的nfs來實現掛載的



三:制作ext2格式的根文件系統

(1)先mkdir創建一個空的文件夾rootfs,然後通過下面的命令來實現ext2格式的根文件系統的制作

dd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048 
//這裏就是創建了一個空的ext2格式的鏡像創建的根文件系統的blocksize是1024,大小是2M
losetup  /dev/loop1 rootfs.ext2
//loop 設備是一種偽設備(pseudo-device),或者也可以說是仿真設備。
//它能使我們像塊設備一樣訪問一個文件。
mke2fs -m 0 /dev/loop1 2048
mount -t ext2 /dev/loop1 ./rootfs/
//將我們創建的空的ext2格式的鏡像掛載到rootfs這個文件夾中,
//當我們進入到rootfs這個文件夾時就相當於是進到了rootfs.ext2這個鏡像中,
//這樣就可以往rootfs.ext2這個文件裏面放東西了。

(2)當我們將需要的文件放到鏡像裏面之後,然後執行下面的命令卸載,這個鏡像就制作完成了。

umount /dev/loop1
losetup -d /dev/loop1

(3)將我們制作的ext2格式的鏡像復制到windows下面,然後使用fastboot將鏡像燒錄到SD卡中就可以了。


四:掛載文件夾格式的根文件系統

(1)安裝並配置nfs服務器,具體過程百度,需要註意的是,當我們重新設置/etc/export下面的導出目錄之後,要更新nfs服務器

(2)mkdir創建一個空文件rootfs,並touch我們需要的linuxre文件

(3)內核配置支持nfs啟動

//配置網絡部分,主要是使能CONFIG_IP_PNP以在2中能夠看到Root file system on NFS選項
Networking support
	Networking options
		TCP/IP networking
				IP: kernel level autoconfiguration
					[*] IP: DHCP support
					[*] IP: BOOTP support
					
//配置開啟nfs服務
File systems  --->	
	Network File Systems  --->
		<*> NFS client support
		[*] NFS client support for NFS version 3
		[*] NFS client support for NFS version 4 (EXPERIMENTAL)
		[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
		[*] Root file system on NFS

(4)修改bootargs

setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/x210_kernel/rootfs/rootfs 
ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off  
init=/linuxrc console=ttySAC2,115200
//註意空格

(5)重新啟動uboot,下載並啟動內核,就可以看到我們已經掛載了根文件系統。

本文出自 “11664570” 博客,請務必保留此出處http://11674570.blog.51cto.com/11664570/1932506

根文件系統移植(2)——根文件系統的兩種格式