jffs2檔案系統(Journalling Flash FileSystem Version2)——基于flash的檔案系統
一.通過工具mkfs.jffs2制作檔案系統
1.制作mkfs.jffs2通過腳本實作,這裡用的是我們小組長修改的腳本完成的,步驟如下
1.1安裝依賴庫
yum install glibc-static zlo-devel zlib-static
1.2執行腳本檔案
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZD9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVPrd1Y0ZFSiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DN0gTN0kDN2EDNyQDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
生成工具mtd-utils-1.4.9/mkfs.jffs2
sudo cp mkfs.jffs2 /usr/bin/
2.制作jffs2映像檔案
在 rootfs(檔案夾)所在的目錄下:
sudo mkfs.jffs2 -n -s 2048 -e 128KiB -d rootfs -o rootfs.jffs2 --pad=0x1400000
這樣就生成檔案rootfs.jffs2(映像檔案)
3.添加核心支援
vt100
make menuconfig
File systems --->
Miscellaneous filesystems --->
<*> Journalling Flash File System v2 (JFFS2) support
(0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy)
[*] JFFS2 write-buffering support
[ ] JFFS2 summary support (EXPERIMENTAL)
[ ] JFFS2 XATTR support (EXPERIMENTAL)
[ ] Advanced compression options for JFFS2
4.u-boot環境下操作
[[email protected]]# set bkrj 'tftp 30008000 uImage_jffs2.bin;nand erase 100000 f00000;nand write 30008000 100000 800000'
[[email protected]]# set bootcmd_jffs2 'nand read 30008000 100000 800000;bootm 30008000'
[[email protected]]# set bootargs_jffs2 'noinitrd root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc console=ttyS0,115200'
[[email protected]]# set bootargs 'noinitrd root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc console=ttyS0,115200'
/*參數說明
noinitrd: 當你沒有使用ramdisk啟動系統的時候,你需要使用noinitrd這個參數
root:用來指定rootfs的位置
rootfstype:指明檔案系統的類型
init:init指定的是核心啟起來後,進入系統中運作的第一個腳本,一般init=/linuxrc
console=ttyS0,115200:表示序列槽使用COM1,波特率為115200
[[email protected]]# set bootcmd 'run bootcmd_jffs2'
[[email protected]]# save
[[email protected]]# run bkrj
[[email protected]]# run bjffs2
[[email protected]]# boot
>: mount
rootfs on / type rootfs (rw)
/dev/root on / type jffs2 (rw,relatime)
proc on /proc type proc (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /dev type tmpfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
>: ls -l /dev
lrwxrwxrwx 1 root root 9 Dec 31 17:00 root -> mtdblock2
參考部落格:https://www.sfantree.com/rootfs_jffs2/