Cramfs:(长处:只读,意图:不行更改文件、防侵略)
1.下载cramfs-1.1源码东西
http://files.cnblogs.com/files/pokerface/cramfs-1.1.tar.gz
2.解压
tar xvzf cramfs-1.1.tar.gz -C /home/liuzhengwu/tools
3.编译
make
4.得到
COPYING cramfsck cramfsck.c GNUmakefile linux mkcramfs mkcramfs.c NOTES README
cramfsck:用来创立cramfs文件体系
mkcramfs:用来进行cramfs文件体系的开释以及查看
5.将文件体系制造成cramfs格式文件体系(当时途径为文件体系顶层)
/home/liuzhengwu/tools/cramfs-1.1/mkcramfs . rootfs.cramfs
6.设置uboot发动参数
set bootargs 'mem=256M console=ttyXXX,115200 root=/dev/mtdblock2 rootfstype=cramfs mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
7.烧录文件体系
mw.b 82000000 ff 1C00000;tftp 0x82000000 rootfs.cramfs;sf probe 0;sf erase 400000 1C00000;sf write 82000000 400000 1C00000
作用:
Initramfs:
1.装备内核支撑initramfs
make menuconfig
->General setup
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/home/liuzhengwu/sdk/rootfs_glibc/) Initramfs source file(s)
->Device Drivers
[*] Block devices —>
<*> RAM block device support
(16) Default number of RAM disks
(4096) Default RAM disk size (kbytes)
2.编译内核+根文件体系
make uImage
3.uboot参数
set bootargs 'mem=256M console=ttyXXX,115200n8 root=/dev/ram0 rw init=/init initrd=0x82000000,3M mtdparts=hi_sfc:1M(boot),6M(kernel)'
4.tftp下载uImage、发动即可
Ramdisk:
jffs2:
1.东西zlib
tar xvzf zlib-1.2.3.tar.gz
2.装备
./confiure –share –prefix=/home/liuzhengwu/tools/zlib/pc_build/
3.编译
make
4.装置
make install
5.东西mtd-uTIls
tar xjf mtd-uTIls-05.07.23.tar.bz2
6.修正编译脚本的装置途径
vi Makefile
prefix=/home/liuzhengwu/tools/mtd-uTIls/pc_build/
6.编译
make
7.装置
make install
8.得到mkfs.jffs2东西
9.制造jffs2格式文件体系
/home/liuzhengwu/tools/mtd-uTIls/pc_build/mkfs.jffs2 -n -s 2048 -e 128KiB -d rootfs/ -o rootfs.jffs2
-n 不要在每个擦出块上都加上清楚标志
-s 一页巨细
-e 一块巨细
-d 目录
-o 输出文件
NFS:
服务器:
装置nfs
apt-get install nfs-kernel-server
添加挂载目录
vi /etc/exports
/home/liuzhengwu/rootfs/ *(rw, sync,no_root_quash)
重启nfs
sudo /etc/init.d/nfs_kernel_server restart
客户端:
手动挂载
mount -t nfs -o nolock 192.168.0.197:/home/liuzhengwu/rootfs/ /mnt
发动挂载
uboot 参数 bootargs:
添加
noinitrc root=/dev/nfs nfsroot=serverip:rootdir ip=addrip:gwip:netmask:hostname:ethdevice:autoconf init=/linuxrc console=ttyXXX
noinitrc root=/dev/nfs nfsroot=192.168.0.197:/home/liuzhengwu/rootfs/ ip=192.168.0.254:192.168.0.1:255.255.255.0::eth0:off init=/linuxrc console=ttyXXX