添加ramdsik文件系统支持
2015-10-11 19:42
330 查看
在内核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)
2 制作映像文件
[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
>:
相关文章推荐
- SVN多项目多仓库管理
- 信息安全系统设计基础第四周学习总结
- u盘安装14.04ubuntu系统
- 进程与线程的一个简单解释
- 进程与线程的一个简单解释
- mysql 建数据库并设置为utf-8编码
- switch语句使用要注意的两点
- Android 获取手机的联系人进行操作
- 《构建之法》阅读笔记目录
- oracle时间加减的语句写法
- Java多线程20:多线程下的其他组件之CountDownLatch、Semaphore、Exchanger
- 20135213-信息安全系统设计基础第四周学习总结
- EF ASP.NET MVC 更新出错:ObjectStateManager中已存在具有同一键的对象
- SpringMVC工作原理
- jquery中ajax跳转到Servlet要使用绝对路径
- Mongodb的相关文档整理(一)
- mysql 建表代码
- [Leetcode] Count and Say
- 电磁场与电磁波之矢量分析
- poj 2187 N个点中输出2点的最大距离的平方