利用Freesbie制作FreeBSD livecd (2008/1/20)[zt]

没有使用FreeBSD里ports里的Freesbie, 完全自己手工操作,资料参考自


http://freebie.miraclenet.co.th/server/fwCD/index.html

修正了原文的两处错误,一切实践过程都在Vmware里进行, 这样方便反复操作.
先安装一个最基本的FreeBSD 7, 然后安装ports, 跟着

在 /usr/ports/sysutils/cdrtools/

#make install clean
安装后会有mkisofs命令了., 然后reboot机器,再继续以下操作.

新建目录
#mkdir /usr/livecd

新建文件
#ee /usr/livecd/extfile
输入
/usr/livecd
/usr/ports
退出保存

#cd /usr/livecd
#tar -X /usr/livecd/extfile -c -p -v -f - / | tar xpf -
#mkdir /usr/livecd/usr/ports
修改livecd目录的内容

删除dev内容,
#rm /usr/livecd/dev/*
因为这些内容在系统启动时会根据devfs自动生成;

删除tmp,
rm -r /usr/livecd/tmp/

备份var
#mv /usr/livecd/var /usr/livecd/var.copy
#mkdir /usr/livecd/var
该var目录将挂载内存设备,制造可写入环境;

清除/usr/livecd/etc/fstab文件的所有内容,这样,当livecd启动加载完内核后,需要手工输入挂载根分区的位置.
方法是在fstab文件中加入一行:
/dev/acd0 / cd9660 r 0 0

去掉开机选项画面:#vi /livecd/boot/loader.rc,注释掉最后一行,并新增一行,写入
boot

制作livecd的写入环境
首先备份文件
#mkdir /usr/livecd/mkbsd
#cp /usr/livecd/etc/rc /usr/livecd/mkbsd/rc.copy

ee /usr/livecd/etc/rc
在export HOME PATH这行插多一行,
/sbin/mdmfs -s 2m md /tmp
/sbin/mdmfs -s 32m md /var
cp -R /var.copy/* /var

利用mfs可写的特征,可以根据自己情况改变参数,挂载的是内存设备, 2m和32m可以增大,看机器内存自定义.

跟着
制作ISO文件
#cd /usr/livecd
#mkisofs -l -R -no-emul-boot -b boot/cdboot -o /usr/livecd.iso /usr/livecd

这个按Freebsd最小化安装后制作出来的ISO文件大概278M左近, 至于怎样从Vmware虚拟机拿出来,可以用 winscp 登录freebsd然后copy出来,但笔者没有装ssh的服务,于是在本机装了个简单的ftp服务器, 然后在虚拟机里用fto命令上传出来, 192.168.0.10是我部机的IP, 在本机的Vmware主机的IP是192.168.0.9, 命令是

ftp 192.168.0.10
输入用户名和密码,然后
put /usr/livecd.iso d:\livecd.iso
quit
跟着就可以在vmware虚拟机挂上iso测试了.

278M左近,大概大了点吧,那可以精简一下内核.
cp -R -p /usr/livecd/boot/kernel /usr/livecd/boot/kernel2
cd /usr/livecd/boot/kernel
rm *
cd /usr/livecd/boot/kernel2
gzip -9 *
cp /usr/livecd/boot/kernel2/*acpi* /usr/livecd/boot/kernel
cp /usr/livecd/boot/kernel2/kernel* /usr/livecd/boot/kernel
rm -r /usr/livecd/boot/kernel2/

这样应该可以到200M左近了, 其实可以在减的., 例如删调以下的
rm /usr/livecd/usr/include
rm /usr/livecd/usr/local/include
这样可以减低10M左近吧.

精简又是一个话题,不说了, 不过最后我成功的精简到128M, 但在freebsdchina.org看见有人精简到12M,厉害啊.

以上是我的制作Freebsd livecd的过程,全部基于Freebsd 7.0操作, 记录下来,以后会有用.


[color="#02368d"] 利用Freesbie制作FreeBSD livecd (2008/1/20)
利用Freesbie制作FreeBSD livecd 小结
杜比环绕声
利用freesbie制作FreeBSD livecd,首先要搭建一个制作平台。对于制作FreeBSD 7.0 rc1加上kde桌面环境的livecd,要做的准备工作是:
1、在真实主机或虚拟机中安装FreeBSD 7.0,并且要把ports和src都安装到系统中。
2、
安装所需要的软件包,packages和ports方式都行,xorg
7.3,kde-lite,cdrtools,freesbie是必须的。安装kde-lite为的是更好的控制系统所占空间,应用软件按需安装,
cdrtools是制作iso光盘镜像必须的工具,freesbie只能用ports安装方式安装,是一些脚本。
3、安装要集成进livecd的软件包,中文字体、输入法以及本地化包是必须的。freesbie在定制集成软件包时,会根据系统登记注册的软件包来拷贝这些文件。
4、测试用vmware虚拟机,用于livecd测试
制作方法:
1、进入到freesbie的安装目录,默认是 /usr/local/share/freesbie
2、与网络上以前的资料不同,freesbie不再提供freesbie.sh脚本了,而采用的是Makefile的方式,在freesbie安装目录下,会看到一个Makefile文件
3、
最简单的制作方法是输入: make iso ,freesbie会按照buildworld,buildkernel,
installworld,installworld,pkginstall,extra,clone和最后的iso等过程,这个过程的时间和所选定的功
能模块的多少有关,一个500M左右的光盘,全过程大致需要3个小时左右!
制作livecd的一些小经验:
1、默认的freesbie内核配置文件对于freebsd 7是不合适的,不修改的话编译内核也无法通过。
2、freesbie制作脚本有很高的定制性,因此在定制前最好熟悉一下整个脚本
3、freesbie制作livecd也有很强的控制性,完全可以分阶段来制作livecd
4、make buildworld ,这个过程和freebsd的buildworld是一样的,make参数可以通过make.conf来进行控制
5、make buildkernel,这个过程也和freebsd的buildkernel类似,不多说
6、make installworld和installkernel,如果上面的build过程顺利,installworld会把freebsd的系统程序安装到 /usr/local/freesbie-fs 目录下,内核也是一样!
7、
make pkginstall,这个过程是安装软件包,在这之前可以用make
pkgselect选择要集成的软件包,选择好的软件包会记录在freesbie安装目录的conf子目录下的packages中,pkginstall
会根据这个文本文件拷贝建立平台安装好的各种文件到 /usr/local/freesbie-fs中。
8、make extra,这一步非常关键,它涉及到各种内存映像的生成和运行脚本拷贝设定,livecd是否成功,关键在这一步,而且里面涉及很多领域,这里不详述,后面单独说。
9、make clonefs,这一步是克隆,分析前面的设定和 freesbie-fs的内容,进行uzip压缩
10、make iso,制作iso文件!
转载自:http://blog.chinaunix.net/u/12258/showart_468133.html




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

你可能感兴趣的:(#Freebsd)