2.18.3.自己制作ext3格式的根文件系統實驗筆記


  1. mke2fs:相當於一個壓縮軟件,Ubuntu默認安裝了,是用來制作鏡像格式的根文件系統的。

查看ubuntu是否安裝了軟件

mke2fs(Usage: mke2fs [-c|-l filename] [-b block-size] [-C cluster-size])
mkfs.ext2
which mkfs.ext2(/sbin/mkfs.ext2)
ls -l /sbin/mkfs.ext2(/sbin/mkfs.ext2 -> mke2fs,mkfs.ext2是mke2fs的符號鏈接)
ls -l /sbin/mkfs.ext3

2.1 創建rootfs.ext2文件並且將之掛載到一個目錄下方便訪問它
如何知道自己已經做完了這一步:ls /root/porting_x210/rootfs/rootfs (可以看到lost+found文件)

cd /root/porting_x210/rootfs
dd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048
losetup /dev/loop1 rootfs.ext2
mke2fs -m 0 /dev/loop1 2048
mkdir rootfs (后面文件系統就掛載在這里)
mount -t ext2 /dev/loop1 ./rootfs/
ls ./rootfs(可以看到lost+found文件)

2.2 向2中創建的空鏡像寫linuxrc

cd /root/porting_x210/rootfs/rootfs(nfs掛載目錄)
touch linuxrc
ls -l
file linuxrc(linuxrc:empty)
結果:創建的linuxrc會成為鏡像中的/linuxrc,內核掛載這個鏡像之后就會去執行/linuxrc,那么其實驗現在應該是掛載成功,執行失敗。

2.3 卸載

cd ..(cd /root/porting_x210/rootfs)
umount /dev/loop1
losetup -d /dev/loop1
ls ./rootfs(是空的,原來里面有lost+found和linuxrc文件,推論:掛載鏡像rootfs到空文件夾下,這時相當於把鏡像rootfs解壓到空文件夾下,從而我們就可以在掛載空文件夾下添加東西,這時如果卸載掉,就相當於把我們添加的東西也添加到鏡像rootfs里面去了。這個空文件夾相當於文件夾rootfs。從而我們可以通過訪問文件夾來訪問鏡像了)
總結:文件夾rootfs利用專用鏡像工具壓縮成鏡像rootfs,鏡像rootfs掛載成空文件夾rootfs,空文件夾rootfs卸載后成了鏡像rootfs。
鏡像rootfs制作過程:創建rootfs.ext2文件並且將之掛載到一個目錄下方便訪問它,在這個目錄下添加必要文件內容,卸載掉,文件夾就做好了。

2.4 復制到windows電腦里去燒錄

cp rootfs.ext2 /root/winshare/rootfs -f
將rootfs復制到D:\fastboot目錄下

開發板打斷3s進入uboot模式,插好藍色的USB先

set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext2或者set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3(鏡像格式用來燒錄:root=/dev/mmcblk0p2表示根文件系統mmcblk0p2即mmc設備0的地2個扇區上,init=/linuxrc表示啟動后第一個執行的文件,rootfstype=ext2要燒錄的鏡像格式是ext2)
save
fastboot

windows電腦打開cmd控制台

d:
cd fastboot
fastboot
fastboot devices(出現SMDKC110-01 fastboot)
fastboot flash system rootfs.ext2
fastboot reboot(開發板不要打斷3s,直接啟動內核)

結果:[ 5.570886] VFS: Mounted root (ext3 filesystem) on device 179:2.
Failed to execute /linuxrc. Attempting defaults..
掛載成功,執行失敗(set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3)
結果:set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext2
[ 5.566674] Failed to execute /linuxrc. Attempting defaults...
說明:ext2和ext3是兼容的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM