没有使用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

转载于:https://blog.51cto.com/axlrose/1289006

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

  1. 利用WIX制作安装包(2)

    利用WIX制作安装包(2) 原文 利用WIX制作安装包(2) 这一篇文章将为大家介绍如何使用WIX自定义UI.上一篇文章我们讲过WIX为我们提供了五种安装界面.每种安装界面都是由不同的Dialog组成 ...

  2. python 渐变色柱形图_Python利用imshow制作自定义渐变填充柱状图(colorbar)

    目的 在各种各样的理论计算中,常常需要绘制各种填充图,绘制完后需要加渐变填充的colorbar.可是有些软件如VMD,colorbar渲染后颜色分布有些失真,不能较准确的表达各颜色对应的数值.用ps中 ...

  3. 利用YQL制作自己的小工具

    YQL服务可以实现对网上不同数据源的query,filter,combine(查询,过滤,合并). YQL说明类似SQL.下面的例子就是用YQL说明实现从Flickr上得到一系列text为cat的图片 ...

  4. 利用 Pyecharts 制作饼图

    利用 Pyecharts 制作饼图: from pyecharts import options as opts from pyecharts.charts import Pie from rando ...

  5. 利用matplotlib制作饼图

    利用matplotlib制作饼图: 绘制饼图: x : (每一块)的比例,如果sum(x)>1,会将多出的部分进行均分: explode: (每一块)离开中心距离 labels: (每一块)饼图 ...

  6. 利用 matplotlib 制作条形图

    利用 matplotlib 制作条形图 排列在工作表的列或行中的数据可以绘制到柱状图(条形图)中. 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别.(统计/对比) 我们用一个例 ...

  7. 利用python制作转盘

    利用python制作转盘 pip install threading(pip一定要为最新版本,不然容易出错) pip install tkinter pip install pyinstaller将t ...

  8. Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)

    Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用).内有制作雷达扫描GIF图的源代码包含. ''' matplotlib雷达扫描 ''' ...

  9. 利用Python制作微信机器人(三)实现爬取JD商品价格

    从前两篇的博客来看,目前已经实现了机器人单向给微信发消息,和与机器人进行交互式发消息,详情如下: 利用Python制作微信机器人(一)机器人单向发消息 利用Python制作微信机器人(二)与机器人进行 ...

最新文章

  1. 0715PHP基础:文件操作
  2. 一文聊透 Dubbo 优雅停机
  3. 智能指针引用计数器版
  4. python数据库操作pymysql
  5. 高级数据结构与算法 | 并查集(Union-Find)
  6. Android kotlin使用RecyclerView实例
  7. 并查集(Disjiont Set)
  8. TensorFlow第八步 Nesterov's accelerated gradient descent+L2 regularization
  9. Qt同时加载多个项目
  10. 接收URL参数乱码问题
  11. 先学python再学c_初学者Python和C先学哪个好?
  12. 修改静态参数scope=spfile错误,导致spfile文件被破坏,无法重启的解决方法
  13. QT/C++高级编程(中)
  14. Ubuntu20.04 安装星火商店安装Windows等应用
  15. 常用的WebService一览表
  16. Django - 安装wagtail
  17. office excel 打开csv文件乱码问题解决
  18. 141个关于人工智能的统计数据
  19. org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locke
  20. No3 jQuery

热门文章

  1. Net方式实现主机与虚拟机互相ping通
  2. vue 本地环境API代理设置和解决跨域
  3. 存储过程传入参数与表字段名相同时产生的问题
  4. freemarker模板引擎 常用标签
  5. Heu OJ 解题报告索引
  6. hdu 3819动态规划
  7. 优秀项目经理必备的8个要素
  8. Elasticsearch未授权访问+Kibana任意操作
  9. $_FILE函数总结
  10. 《光棍节程序员闯关秀》闯关攻略