将文件系统放到ram中运行通常有initramfs 文件系统和ramdisk文件系统。这里使用initramfs文件系统。
按照以下方法,一般可以成功挂起110M的文件系统.
以4780 grus板运行110M initramfs为例:
1. uboot的修改:
在uboot目录
$ vi commo/cmd_bootm.c’;将CFG_BOOTM_LEN 改为0x6e000000 $ vi include/configs/grus.h
修改bootargs 为:
“mem=256M console=ttyS3 57600n8 ip=off root=/dev/ram0 rdinit=/linuxrc”
修改bootcmd为:
“nand read 0x80600000 0x800000 0x6e000000;bootm”
然后
$ make
生成 u-boot-nand.bin.
2. 制作ramfs和内核配置
进入一个可用的文集系统源码目录,执行以下命令
$ find . |cpio –o –H newc |gzip -9 > ../ramfs.cpio.gz
将生成的ramfs.cpio.gz拷贝到内核同级目录; 压缩后的文件可能较小这是正常的文件系统大小以实际为准,进到文件系统目录运行 ls –lh 即可查看整个文件系统的大小。
进入内核目录,
$ make menuconfig General setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support (../ramfs.cpio.gz) Initramfs source file(s)
然后
$ make uImage
3. 烧录
将生成的uboot和kernel烧录到相应位置,启动系统进入文件系统
至于ramdisk文件系统,网上有很多资料,这里就不多说了。