yaffs2檔案系統的製作及移植

2021-09-27 04:22:16 字數 2771 閱讀 9611

1:centos release 6.5 (final)

2:u-boot-2010.12

3:tq2440

4:交叉編譯器:eldk

第一步:在核心裡新增yaffs2的支援

git clone git:

2)給核心打補丁

./patch-ker.sh c m ../../linux-2.6.33.7      // 這裡是核心原始碼路徑 

3)配置核心(1:沒有打過補丁的核心  2:已設定好交叉編譯器)

make v=1 arch=arm cross_compile=arm-linux- menuconfig

file systems  ---> 

[*] miscellaneous filesystems  ---> 

<*>   yaffs2 file system support 

-*-     512 byte / page devices

[*]    lets yaffs do its own ecc (tq2440 取消這個選項)

-*-     2048 byte (or larger) / page devices 

[*]    autoselect yaffs2 format

[*]    enable yaffs2 xattr support (2.6.33.7沒有這個選項)

4)禁用核心nandflash的ecc校樣,並設定mtd分割槽,配置nand訪問時序

arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part = ,

#if 0

[1] = ,

[2] = ,

[3] = ,

[4] = ,

#endif

[1] = ,

[2] = ,

};static struct s3c2410_nand_set smdk_nand_sets = ,

};static struct s3c2410_platform_nand smdk_nand_info = ;

5)重新編譯核心

make v=1 arch=arm cross_compile=arm-linux- bzimage

6)拷貝核心到tftp目錄

tony@ubuntu:~/win/linux-2.6.35$cp arch/arm/boot/uimage /tftpboot

7)重新啟動開發板

#cat /proc/filesystems

nodev sysfs

nodev rootfs 

nodev bdev 

nodev proc 

nodev tmpfs 

nodev sockfs 

nodev usbfs 

nodev pipefs 

nodev anon_inodefs 

nodev rpc_pipefs 

nodev devpts 

ext3 

ext2 

cramfs 

nodev ramfs 

vfat 

msdos 

iso9660 

nodev nfs 

nodev jffs2 

romfs 

yaffs

yaffs2

nodev mtd_inodefs 

第二步:實現u-boot對yaffs2檔案系統的支援

請參考:

第三步:用busybox製作yaffs2根檔案系統

1)參看--》根檔案系統製作

2)目標板nandflash是64mb的,所以要使用mkyaffs2image_2這個版本的可執行檔案來生成映像

./mk***ximage_tools/usr/local/sbin/mkyaffs2image root_qt_4.5_2.6.30.4 root.bin

updatecramfs=tftpboot 0x30000000 root.bin;nand erase 0x500000 0x3c00000;nand write.yaffs2 0x30000000 0x500000  $(filesize);

製作yaffs2檔案系統

由於核心裡沒有yaffs2檔案系統生成功能,所以需要新增補丁。1.fsmakefile.path in fs yaffs2.tgz is the patch for kernel fs makefile 在 kernel fs makefile中新增如下內容 root localhost fs ya...

Yaffs2檔案系統的製作

yaffs2檔案系統的製作網上方法很多,這裡就不在贅述了。主要就是這樣幾步吧。然後,make menuconfig 新增你所需要的選項。busybox就像是乙個工具集,通過它來編譯出我們在linux下面所使用的命令,一些命令工具鏈。然後就是make make install 在 install 目錄...

製作yaffs2檔案系統簡程

平台 ubuntu 目標 jz2440 工具 arm linux gcc 3.4.5 busybox 1.7.0 1.在ubuntu上建立根檔案系統的存放目錄,這裡為 work myfs 命令 mkdir work myfs 2.安裝busybox a.解壓busybox 1.7.0.tar.bz2...