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
cramfsnodev ramfs
vfat
msdos
iso9660nodev nfs
nodev jffs2
romfs
yaffs
yaffs2nodev 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...