添加ramdsik文件系统支持

在内核make menuconfig中选择相关的选项

1,

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 

     (16384) Default RAM disk size (kbytes)
制作映像文件
[guanlei@centos6 3rdparty]$ dd if=/dev/zero of=ramdisk bs=1M count=16
记录了16+0 的读入
记录了16+0 的写出
16777216字节(17 MB)已复制,0.125137 秒,134 MB/秒
guanlei@centos6 3rdparty]$ ls
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
[guanlei@centos6 3rdparty]$ sudo mount -o loop ramdisk mnt/
[guanlei@centos6 3rdparty]$ mount | grep ramdisk
/home/guanlei/fl2440/3rdparty/ramdisk on /home/guanlei/fl2440/3rdparty/mnt type ext2 (rw,loop=/dev/loop0)
[guanlei@centos6 3rdparty]$ ls mnt/
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
apps  bin  data  dev  etc  info  init  lib  linuxrc  mnt  proc  root  sbin  sys  tmp  usr  var
[guanlei@centos6 3rdparty]$ sudo cp -af ../rootfs/* mnt/
[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
[guanlei@centos6 3rdparty]$ gzip ramdisk
[guanlei@centos6 3rdparty]$ du -sh ramdisk.gz 
2.3M    ramdisk.gz

3 对u-boot添加对ramdisk的支持

[ 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


开发板开机
run bkr
boot
就可以了

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
>: 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值