免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2540 | 回复: 1
打印 上一主题 下一主题

制作livecd了解的几个工具程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-22 16:11 |只看该作者 |倒序浏览
定制livecd学到的几个工具程序
杜比环绕声
定制FreeBSD的livecd,不可避免的要与一些工具程序打交道,当然也要补充一些平时不太用到的知识,比如虚拟磁盘什么的,这些知识有的需要更仔细的看handbook,而有些只能是通过man手册,进行针对性的了解。为了强化记忆,也为了更好的提高对相关知识的深入认识,我杂七杂八的整理一些,希望对自己有用。
1、关于内存文件系统,简称mfs
归纳起来说,就是利用一个映像文件建立一个内存设备,然后挂载使用,这种叙述很可能是很不正确的,但我目前的理解就是这样,利用内存文件系统可以解决livecd运行时,某些分区可写的问题,在freesbie中的extra目录下,提供了如下几个脚本:
rootmfs.sh  :   作用是在livecd启动时,创建一个root 内存文件系统
cp ${LOCALDIR}/extra/rootmfs/rootmfs.rc ${BASEDIR}/etc/rc.d/rootmfs
chmod 555 ${BASEDIR}/etc/rc.d/rootmfs
echo "Saving mtree structure for /root"
mtree -Pcp ${BASEDIR}/root > ${TMPFILE}
mv ${TMPFILE} ${BASEDIR}/etc/mtree/root.dist
在这些代码中值得注意的是 mtree 这个命令,在最后一行代码中,保存 /root 目录下的文件属性到 root.dist 文件中,以便在livecd 运行 rootmfs 时,在内存文件系统中恢复 /root 目录下文件的各种属性。
从上面的代码也能看出,livecd 创建 /root 这个内存文件系统是通过运行拷贝到 /etc/rc.d/ 目录下的rootmfs来得到的,具体的执行过程是:
/etc/rc.d/rootmfs 的代码:
# 按照mdconfig的参数,建立一个内存文件系统设备名
device=$(mdconfig -a -t malloc -o compress -s ${rootsize})      
# 打上磁盘标记
bsdlabel -w ${device} auto
# 建立一个内存文件系统
newfs -n -m 2 /dev/${device} > /dev/null 2>&1
# 把生成的设备与具体的 tempdir 指定的目录进行挂载
mount -o noatime /dev/${device} ${tempdir}
back=$PWD
cd /root
# 拷贝光盘 /root 目录下的文件到 tempdir 目录下
find . -print -depth | cpio -dump --quiet ${tempdir}
cd $back
# 恢复拷贝到 tempdir 下的文件的属性
mtree -PUer -q -p ${tempdir}  /dev/null 2>&1
# 释放内存文件系统与tempdir的联系
umount ${tempdir}
# 把刚才生成的内存文件系统设备挂到 /root 这个目录下,
mount -o noatime /dev/${device} /root
# 至此,/root目录下的文件与光盘上的/root目录已经没有关系了,而且系统当前的 /root 目录是可读写的。
上述代码是一个典型的建立内存文件系统的过程,其中用到了以下几个工具程序:
    a、mdconfig -a -t malloc -o compress -s ${rootsize) 参数t指定的内存磁盘类型,参数o指定一些选项,这里指定压缩,参数s,指定的内存磁盘的大小,单位字节。这个命令行运行后,就可以在内存中利用malloc方式生成指定参数的内存磁盘了。
    b、bsdlabel -w ${device} auto ,bsdlabel这个命令行自动写卷标到内存磁盘。
    c、newfs
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12258/showart_469431.html

论坛徽章:
0
2 [报告]
发表于 2013-01-05 11:44 |只看该作者
回复 1# 杜比环绕声


    linux的aufs2补丁怎么下载
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP