2009年11月16日

pxa300 和 release-sourceforge 的/init/fstab 比較(rootfs) pxa300 MMC卡fstab實作

延伸閱讀:
http://blog.xuite.net/travisnauto/linuxgo/19857186

E:\cygwin\home\Jim\release-sourceforge\android-pxa270\rootfs\rootfs_from_tiny_rootfs_tgz\etc\fstab

E:\cygwin\home\Jim\300\src\preview-kit\rootfs\rootfs\etc\fstab

比較過後的結果:一樣
#/dev/root  /            defaults 0 0
none   /tmp      ramfs   defaults 0 0
none   /proc     proc    defaults 0 0
none   /dev/pts  devpts  mode=0622  0 0
sysfs  /sys      sysfs   defaults   0 0
至於fstab內容的意義,請見下方解說:


引用
陈景忠的空间
http://hi.baidu.com/jingzhongchen/blog/item/8e6f552dcead7ce98b139952.html

有很多人經常修改/etc/fstab檔,但是其中卻有很多人對這個檔所表達的意義不太清楚,因為只要按照一定的模式,就可以輕而易舉地添加一行掛載資訊,而不需要完全理解其中的原理。

/etc/fstab是用來存放檔案系統的靜態資訊的檔。位於/etc/目錄下,可以用命令less /etc/fstab 來查看,如果要修改的話,則用命令 vi /etc/fstab 來修改。

當系統啟動的時候,系統會自動地從這個檔讀取資訊,並且會自動將此檔中指定的檔案系統掛載到指定的目錄。下面我來介紹如何在此檔下填寫資訊。

在這個檔下,我們要關注的是它的六個域,分別為:file system、mount point、type 、options、dump、pass。下面將詳細介紹這六個域的詳細意義。

1、file system 這裡用來指定你要掛載的檔案系統的設備名稱或塊資訊,也可以是遠端的檔案系統。做過嵌入式linux開發的朋友都可能知道 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意義。它的任務是把IP為192.168.1.56的遠端主機上的/home/nfs/目錄掛載到本機的/mnt/nfs /目錄之下。如果要把它寫進/etc/fstab檔中,file system這部分應填寫為:/192.168.1.56:/home/nfs/。

如果想把本機上的某個設備(device)掛載上來,寫法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一個串口硬碟的第一個分區,也可以是第一個SCSI硬碟的第一個分區,/dev/hda1表示第一個IDE硬碟的第一個分區,/dev/cdrom 表示光碟機。

此外,還可以label(標籤)或UUID(Universally Unique Identifier全域唯一識別碼)來表示。用label表示之前,先要e2label創建標籤,如:e2label /dir_1 /dir_2,其意思是說用/dir_2來表示/dir_1的名稱。然後,再在/etc/fstab下按如下形式添加:LABEL=/dir_2 /dir_2 。重啟後,系統就會將/dir_1掛載到/dir_2目錄上。對於UUID,可以用vol_id -u /dev/sdax來獲取。比如我想掛載第一塊硬碟的第十一個分區,先用命令vol_id -u /dev/sda11 來取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然後在這個域上填寫: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般會使用label,而Ubuntu linux 一般會用UUID。

2、mount point 掛載點,也就是自己找一個或創建一個dir(目錄),然後把檔案系統掛到這個目錄上,然後就可以從這個目錄中訪問要掛載檔案系統。對於swap分區,這個域應該填寫:none,表示沒有掛載點。

3、type 這裡用來指定檔案系統的類型。下面的檔案系統都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。

4、options 這裡用來填寫設置選項,各個選項用逗號隔開。由於選項非常多,而這裡篇幅有限,所以不再作詳細介紹,如需瞭解,請用命令 man mount 來查看。但在這裡有個非常重要的關鍵字需要瞭解一下:defaults,它代表包含了選項rw,suid,dev,exec,auto,nouser和 async。

5、dump 此處為1的話,表示要將整個裡的內容備份;為0的話,表示不備份。現在很少用到dump這個工具,在這裡一般選0。

6、pass 這裡用來指定如何使用fsck來檢查硬碟。如果這裡填0,則不檢查;掛載點為 / 的(即根分區),必須在這裡填寫1,其他的都不能填寫1。如果有分區填寫大於1的話,則在檢查完根分區後,接著按填寫的數字從小到大依次檢查下去。同數字的同時檢查。比如第一和第二個分區填寫2,第三和第四個分區填寫3,則系統在檢查完根分區後,接著同時檢查第一和第二個分區,然後再同時檢查第三和第四個分區。




實作部分:pxa300


修改/etc/fstab內容(先行在開機init過程中做mount的動作)

新增一行:

none /tmp ramfs defaults 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0622 0 0
sysfs /sys sysfs defaults 0 0
/dev/mss/blk0p1 /home/jim/mountsd ext2 defaults 0 0

開機訊息:
Device major:254, first minor:0
mss/blk0: p1


[root@Linux /]#df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/mtdblock2 49152 41456 7696 84% /
/dev/mss/blk0p1 30333 383 28384 1% /home/jim/mountsd
[root@Linux /]#cd /home/jim/mountsd/
[root@Linux mountsd]#ls
5465456165 jimkokokokok lost+found

沒有留言:

張貼留言

NO-CARRIER 網卡無法啟動

 工作時,由於想要啟動linux OS的網卡, 發現某張新設定的網卡一直無法啟動,就算下指令UP了,但是也沒有順利啟動 所以爬文後,想要確認該網卡的status, 發現某行為: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu...