Linux虚拟盘制作简易方法实践

Linux虚拟盘制作简易方法实践

关键字

 

 

Ramdisk VFS 虚拟盘 busybox

 

 

 

 

使用busybox制作linux虚拟盘的方法,以及Andoid虚拟盘的整合

 

一. 概述

1、 安装busybox工具

Busybox有多个版本,一般都可用,此处用的是1.7.3,位于ftp://server28/共享软件/linux下应用软件目录下busybox-1.7.3.tar.gz

拷贝到用户目录后解压缩:tar –zxvf busybox-1.7.3.tar.gz

打开包中的Makefile文件,搜索cross找到交叉编译器所在,设置为和编译linux源码同样版本的交叉编译器,保存makefile

先使用Make defconfig命令获得config,再使用make menuconfig打开,设置一些选项如下:

General Configuration里选上

Show verbose applet usage messages

Runtime SUID/SGID configuration via /etc/busybox.conf

Build Options里选上

Build BusyBox as a static binary (no shared libs)

Installation Options里选上

Don't use /usr

即可,保存退出,此时编译还有一些编译错误,打开applets目录下applets.c,将第一段代码屏蔽,(上面地址下载的包已经将这个C文件修改好)

#if 0

/* Apparently uclibc defines __GLIBC__ (compat trick?). Oh well. */

#if ENABLE_STATIC && defined(__GLIBC__) && !defined(__UCLIBC__)

#warning Static linking against glibc produces buggy executables

#warning (glibc does not cope well with ld --gc-sections).

#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400

#warning Note that glibc is unsuitable for static linking anyway.

#warning If you still want to do it, remove -Wl,--gc-sections

#warning from top-level Makefile and remove this warning.

#error Aborting compilation.

#endif

#endif

保存config退出,使用make编译好后,make install即可自动安装完毕。

下面的方法给出了在一个已有的虚拟盘基础上修改制作新虚拟盘的方法:

2、 打开一个已有的虚拟盘文件

找到一个已有的虚拟盘,如开发板代码包中的ramdisk.gz,将其拷贝解压缩,解压出来的是一个独立的文件ramdisk,这个文件就是将要制作的虚拟盘的蓝本。

当前目录下(假设为/mnt)新建一个root的文件夹:mkdir root

sudo –s –H

将ramdisk映射到root目录中:

mount ramdisk /mnt/root -o loop

此时,root目录下的内容就是虚拟盘中的目录结构了。

因为unmount之后root里面的内容都会消失,因此可先拷贝一个备份出来:

cp –rvf root/ fs/

则fs目录下都是虚拟盘的内容,然后umount虚拟盘:

umount /mnt/root

此后,便可以任意修改fs/目录下的目录,添加和修改所需文件等。

拷贝busybox

#cp -a 你的目录/_install/* /mnt/fs

这样,busybox里生成的shell都到了fs目录下。

做完各种修改后,便可以以fs目录为基础建立虚拟盘

3、建立ramdisk虚拟盘

1)建立新的ramdisk大小为40M

dd if=/dev/zero of=ramdisk bs=1k count=40960

2)格式为ext2

/sbin/mke2fs -F -m 0 ramdisk

3)禁止check

/sbin/tune2fs -c 0 ramdisk

4)挂载,先新建一个目录如名为diy:

mkdir -p /mnt/diy

mount -o loop ramdisk /mnt/diy

5拷贝根文件系统,将fs中的内容全部拷贝到所建立的diy目录

#cp -a /mnt/fs/* /mnt/ diy /

6解挂和压缩

#umount /mnt/diy/

#gzip -v9 ramdisk

至此,当前目录下生成的ramdisk.tar.gz即为新的虚拟盘。

有关Andoid虚拟盘制作待补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值