打造 Freebsd 6 的 m0n0wall 开发环境目录
- 磁盘准备
- 基本系统和Ports 安装
- 网络配置
- 用户账户
- SSH 配置
- 设置开发 Jail
- 进入开发 Jail
- CVSup安装和配置
- 重新构建
- Onward!
介绍 本文信息都可以在网上找到。 m0n0wall 开发文档就有一篇精美的基于 FreeBSD 4.11 的 映像构建指南,而 Ultradesic 也有一篇 minibsd开发指南 (基于 FreeBSD 6.x) 供你延伸阅读用。然而,在 m0n0wall 指南中 4.11 和 6.2 有一些区别,而 Ultradesic 的指南又没有对 jail 的设置进行描述。 本文的目的是整合存在的文档,为那些有意设置 m0n0wall 开发环境的人们提供一个单一的指南。 本文所述基于一个 Parallels虚拟机,它有一个 8GB 硬盘和 256MB 内存。如果有其他什么需要注明的,请 留言。 那些熟悉 FreeBSD 的人 可以飘过。
修订日志 2007-07-14 - 翻译第一版(hemengui [AT] gmail [dot] com) 2007-03-02 - 修复 jail 准备部分的打字错误 (感谢 Paul T.) 2007-02-22 - 第一版
1. 磁盘准备
- 在选择您的国家和键盘布局后,从菜单 选择"standard" 。
- 确认 来到 fdisk 屏幕,然后 按 'a'在磁盘上建立单个 slice。
- 按 'q' 离开编辑器。
- 从下一屏选择 'OK' 以安装启动管理器到磁盘。
- 确认 下一个分区屏幕并 按'c' 来建立您的第一个分区。我们要建立的第一个分区将作为交换分区。
- 输入相应的值 以设置大小。1
- 选择 'Swap' 然后 'OK'。
- 按 'c' 建立另一个分区。
- 选择 'OK' 使用剩余磁盘空间作为我们的根文件系统。
- 选择 'FS' 因为我们确实需要一个文件系统。
- 输入 '/' (没有引号) 作为挂载点并继续。
- 按 'q' 离开编辑器。
2. 基本系统和 Ports安装
- 从 Distributions 列表选择 'Developer' 。
- 选择 'Yes' 安装 ports 集合。
- 返回 Distributions 屏, 按 'OK'。
- 确认 'CD/DVD' 作为安装媒体。
- 好好看看 并确认您不会意外破坏一个已经存在的安装或什么。 安装会耗费若干分钟。
- 接受祝贺。
3. 网络配置
- 选择 'Yes' 设置网卡。
- 从列表选择您的网卡 。
- 回答 'IPv6' 和 DHCP 问题。
- 如果您不使用 DHCP,填写您的网络信息并继续。
- 选择 'OK' 启动网卡。
- being a gateway 的地方选择 'No',inetd 的地方选 'No' 。
- 选择 'Yes' 启用 SSH 登陆。
- Anonymous FTP 的地方选择 'No' ,being a NFS Server选 'No' 还有 being a NFS Client 选 'No'。
- needing any additional system consolesettings 的地方选 'No'。
- 按提示 设置时区。
- Linux Binary Compatibility 的地方选 'No'。
- 鼠标?
- 回答 'No' 以浏览包集合。
4. 用户账户
- 如果需要就添加用户。 如果仅仅是一个开发环境,你可能并不需要。
- 设置 root 密码。
- 在 'last options' 屏幕回答 'No' 。
- 退出 安装程序。
5. SSH 配置
- 机器重启后, 以 root 登陆。
- 如果要通过 SSH 登陆系统,并且你只有 root账户,你需要 允许 root 通过 SSH 登陆:
- 编辑: /etc/ssh/sshd_config
- 取消 'PermitRootLogin=no' 的注释并将 no 改为 'yes'
6. 设置开发Jail m0n0wall 需要给基本系统打一些补丁。因为这样,我们更愿意建一个 "沙盒" 来做试验,以防破坏我们正在工作的环境。我们用 sysinstall 来安装 jail 到 /usr/jail。
- 运行 sysinstall。
- 选择 'Custom' 安装。
- 选择 'Options'。
- 确认 'Release Name' 设置为 '6.2-RELEASE'
- 将 Install Root 从 '/' 改为 '/usr/jail'
- 按 'q' 离开选项编辑器。
- 选择 'Distributions' 并选择 'Developer'发行,与我们安装基本系统时一致。
- 在 ports 问题中再次回答 'Yes'。
- 选择 'Exit'。
- 选择 'Commit' 和你的安装媒体 开始 jail 的安装。
- 当安装过程完毕, 如果你需要设置任何 last options 就 回答 'No' 。
- 选择 'Exit' 然后 'X Exit Install'退出 sysinstall。
7. 进入开发 Jail 预备和 chroot 到你的新开发 jail 的最简单方式是从 ultradesic文档下载 这个脚本。
复制内容到剪贴板
代码:# fetch http://www.ultradesic.com/pub/miniBSD_Files/minichroot.sh # chmod 700 minichroot.sh 它完成以下工作:
- 从主机系统复制一些重要的东西到 jail (resolv.conf,localtime, wall_cmos_clock)
- 挂载设备系统到 jail
- chroot 到 jail
将下面一行添加到 /usr/jail/root/.cshrc 就能随时提示你所处的环境: set prompt = "MiniBSD %~ %# " 就这样。执行脚本进入你的开发 jail 吧。
8. CVSup 安装和配置 这些指令也可以用于更新你的主机系统资源。 安装 cvsup-without-gui 包 让你可以更新你的 jail 系统源代码
复制内容到剪贴板
代码:# pkg_add -r cvsup-without-gui # rehash 接下来, 复制示范的 stable-supfile 到 /etc 并使其可写
复制内容到剪贴板
代码:# cp /usr/share/examples/cvsup/stable-supfile /etc/supfile # chmod 600 /etc/supfile 添加一行 到 supfile 使得 cvsup 同样可以更新我们的ports 树。
复制内容到剪贴板
代码:# echo "ports-all tag=." >> /etc/supfile 修改下面一行 设置你的 cvs 主机 为 离你最近的镜像。
复制内容到剪贴板
代码:* default host=CHANGE_THIS.FreeBSD.org 修改 'cvs tag' 所在行 使得同步的 OS 源代码为 Release 6.2:
复制内容到剪贴板
代码:* default release=cvs tag=RELENG_6_2 最后, 同步你的源代码树。
复制内容到剪贴板
代码:# cvsup -g -L 2 /etc/supfile 9. 重新构建 这些指令用于重新构建你的 jail 系统(不用切换到单用户模式来安装和构建内核)。如果你希望重新构建你的主机系统,按照下面警告过的额外步骤做。 添加一行 到 /etc/make.conf 使得系统的二进制文件可以动态链接,如此可节省空间。
复制内容到剪贴板
代码:# echo "NO_SHARED=no" >> /etc/make.conf 最后,我们准备好重新构建系统了!执行下面的命令,然后 煮杯咖啡,出去泡泡妞先。
复制内容到剪贴板
代码:# cd /usr/src # make -j4 buildworld 警告: 只有你希望重新构建你的主机系统时才执行下面的命令,因为这会把你丢到单用户模式。
复制内容到剪贴板
代码:# shutdown now # confirm the default shell # cd /usr/src 现在,我们可以 安装全新编译的系统了。
复制内容到剪贴板
代码:# make installworld 警告: 只有你希望重新构建你的主机系统时,才执行下面的命令,因为这会重新编译和安装更新的内核并重启到你的新系统。
复制内容到剪贴板
代码:# make buildkernel # make installkernel # reboot 10. Onward! 你的开发系统已经准备妥当。为了保持你的机器的生产力,我们写了一个 m0n0dev工具,它会自动完成 映像构建指南中提到的步骤,注意 4.11 和 6.2 之间的区别。
- FreeBSD 推荐这个数值是你的系统当前内存的两倍。
|