[原创]用makefs定制的Live(PE)光盘_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2482 | 回复: 0   主题: [原创]用makefs定制的Live(PE)光盘        下一篇 
wulcan
版主
等级:中校
经验:1795
发帖:124
精华:0
注册:2014-3-19
状态:离线
发送短消息息给wulcan 加好友    发送短消息息给wulcan 发消息
发表于: IP:您无权察看 2014-11-27 22:25:38 | [全部帖] [楼主帖] 楼主

有自己制作发行版光盘的想法吗?如果有,那就跟我一起做吧!

这次,我们做一个比较基本的Live系统,除了基本系统基本什么都没有的系统,因为写教程吧,我要尽量简洁,以便突出主要的步骤,但在必要的地方,我会给提示可以做哪些后续的工作,以此来打造属于你自己的发行光盘。

首先,你要找到FreeBSD的光盘或启动U盘,实在找不到,起码要到网上去下载两个文件:base.txz,kernel.txz,amd64版本最好再带上lib32.txz,这三个文件已经包含在FreeBSD发行光盘或U盘中了——当然,名称里含有bootonly的那几个文件除外。至于FreeBSD的版本,可以是i386,也可以是amd64,其他的系统没做测试,但原理应该都一样,区别应该在启动代码的部分,本文以下的步骤以amd64版的iso disk1为例。

有了这三个文件,就可以开始干活了,大致的工作流程为:

解压txz文件->在/mnt中构建一个完整的系统->必要的文件调整->makefs压制光盘映像

1、挂载FreeBSD的发行光盘到/media,注意光盘名,用的是cd0,有的系统是acd0:

mount -t cd9660 /dev/cd0 /media


2、进入/media,找到那三个文件,解压到/mnt中去,在/mnt中就有了一个完整的系统目录文件:

cd /media/usr/freebsd-dist // 进入发行版光盘,找到压缩文件
tar -xzvpf base.txz -C /mnt
//解压 base,注意加了p参数,保证权限,同时用了-C参数,把文件都解压到/mnt下
tar -xzvpf kernel.txz
//解压默认的内核
tar -xzvpf lib32.txz
//解压lib32兼容库


3、建一个基础的fstab,否则无法正确启动。对于sata的光驱,这儿应该写acd0:

vi /mnt/etc/fstab:
/dev/cd0 / ufs ro 1 1


4、做其他的工作,比如:安装pkg包,做系统精减,甚至压缩文件系统,还有做一些系统的优化工作……当然都是以/mnt为根目录来做的。

5、打包映像:

makefs -t cd9660 -o rockridge,bootimage=i386\;/boot/cdboot,no-emul-boot,label=MyBSD /root/my.iso /mnt


 上面的命令细节可以参照makefs的手册,提醒注意的是bootimage后面有个反斜杠,它的作用是转义后面的分号,因为分号是cd9660的一个参数,不转义的话就成了shell的含义了。

    6、挂载到虚拟机里面测试,这个工作就不再详细说了,发现问题再回来找原因吧。

怎么样,做光盘还是比较容易的吧,其实在boot/loader.conf可以配上启动的图片,感觉会更炫一些。做U盘映像要稍微麻烦一些,但步骤基本相似。

该贴由hui.chen转至本版2014-11-28 15:27:10




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论