在内核make menuconfig中选择相关的选项
General setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
() Initramfs source file(s)
Device Drivers --->
Block devices --->
<*> RAM disk support
(1) Default number of RAM disks
记录了16+0 的读入
记录了16+0 的写出
16777216字节(17 MB)已复制,0.125137 秒,134 MB/秒
build.sh busybox-1.20.2 busybox-1.20.21 busybox-1.20.2.tar.bz2 mnt ramdisk
因为ramdisk只是一个块设备,只有将其格式化为特定的文件系统后才能使用,我们将其格式化ext2格式:
[guanlei@centos6 3rdparty]$ mke2fs -F -v -m0 ramdisk
mke2fs 1.41.12 (17-May-2010)
fs_types for mke2fs.conf resolution: 'ext2', 'small'
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
4096 inodes, 16384 blocks
0 blocks (0.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=16777216
2 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
-F : 迫使mke2fs在ramdisk.image上运行, 否则, mke2fs会抱怨ramdisk.image不是块设备.
-v : 以verbose模式运行
-m0 : 指定不必在文件系统上为"超级用户"保留任何block.(一般嵌入式Linux都是单用户系统).
[guanlei@centos6 3rdparty]$ file ramdisk
ramdisk: Linux rev 1.0 ext2 filesystem data
/home/guanlei/fl2440/3rdparty/ramdisk on /home/guanlei/fl2440/3rdparty/mnt type ext2 (rw,loop=/dev/loop0)
lost+found
[guanlei@centos6 3rdparty]$ rm -rf mnt/*
[guanlei@centos6 3rdparty]$ ls ../
123.tar.bz2 bin/ branches/ kernel/ program/ rootfs/ .svn/ trunk/
3rdparty/ bootloader/ driver/ mnt/ ramdisk.gz rootfs1/ tags/
[guanlei@centos6 3rdparty]$ ls ../rootfs
[guanlei@centos6 3rdparty]$ ls mnt/
apps bin data dev etc info init lib linuxrc mnt proc root sbin sys tmp usr var
[guanlei@centos6 3rdparty]$ sudo umount ramdisk
[guanlei@centos6 3rdparty]$ du -sh ramdisk
16M ramdisk
2.3M ramdisk.gz
[ s3c2440@guowenxue ]# set bkr 'tftp 30008000 linuxrom-s3c2440.bin;nand erase 100000 800000;nand write 30008000 100000 800000'
[ s3c2440@guowenxue ]# set brdfs 'tftp 30008000 ramdisk.gz;nand erase 500000 a00000;nand write 30008000 500000 500000'
[ s3c2440@guowenxue ]# set bootcmd_ramdisk 'nand read 30008000 100000 400000;nand read 30800000 500000 500000;bootm 30008000'
[ s3c2440@guowenxue ]# set bootcmd 'run bootcmd_ramdisk'
[ s3c2440@guowenxue ]# set bootargs 'console=ttyS0,115200 mem=64M initrd=0x30800000,16M root=/dev/ram0 rw loglevel=7'
[ s3c2440@guowenxue ]# save
Copyright (C) 2011 fulinux<fulinux@gmail.com>
root login: root
>: ls
apps data etc init linuxrc proc sbin tmp var
bin dev info lib mnt root sys usr
>:
Copyright (C) 2011 fulinux<fulinux@gmail.com>
root login: root
>: ls
apps data etc init linuxrc proc sbin tmp var
bin dev info lib mnt root sys usr
>: