- 论坛徽章:
- 0
|
讨论请到:http://www.freebsdchina.org/forum/viewtopic.php?t=17517
经过一番折腾,BSDBox终于可以在FreeBSD 5-STABLE上运行了!现在可以在 http://sourceforge.net/projects/bsdbox/ 下载源代码在你的机器上生成BSDBox,也可以下载已经生成好的bin和vmx/vmdx文件在vmware里面尝试一下它的功能!
在sf.net上的release notes:
- This release is compiled on FreeBSD/i386 5-STABLE.
- it builds a 8MB image file which fits on CompactFlash card
- (ofcoz can be fit on any harddisk). So the image will boot
- an i386 system into FreeBSD, with shell, tools, ipfw, and
- so on ...
- bsdbox.5.3.1.tar.gz is the source .gz file, uncompress it
- and run ./build to builds the image. You can update some
- .conf file to fit your requirements.
- bsdbox.5.3.1.bin is an example image file, compiled on my
- freeBSD box.
- BSDBox.vmx is vmware project file and bsdbox.vmdk is disk description file, if you want to start bsdbox in the
- vmware workstation(>;4.0) or vmware gsx server(>;2.5), you will find it useful. please check it before use it.
复制代码
在sf.net上的change log:
- This is the second release of bsdbox on the sf.net . Too many changes happened because the kernel to upgrade from 4 to 5.
- 1. upgrade kernel to FreeBSD 5-STABLE
- 2. support booting from USB disk
- 3. can be installed to block device (e.g. CF card, USB stick) directly
- 4. auto check the boot device name in da? and ad? when the bsdbox is booting
- 5. add csh as the default user shell
- 6. add PAM support
- 7. remove telnetd, instead with ssh/sshd
- 8. adding ports programs becomes more easier
复制代码
一些常见问答:
Q: BSDBox是什么?可以做什么?
BSDBox是FreeBSD的一种发行版本,它和标准版的区别在于,它完全运行在内存里,除了booting和保存配置的时候需要读写盘,其他时候都是不需要硬盘(或者CF卡或者U盘等等)的。设计它是由于,有时我们需要一个简单的可靠的廉价的网络服务器。硬盘常常是服务器系统里最不可靠的部件,而CF卡或者U盘更加廉价和可靠。
BSDBox可以做很多的事情,只要是FreeBSD能做的。不过最擅长的应该还是网络应用,例如NAT网关,代理服务器,分布计算,等等。
Q: BSDBox和PicoBSD是什么关系?
BSDBox的设计思路来源于PicoBSD,不过没有限制在PicoBSD的“一张floppy”的容量上,所以BSDBox可以放入更多的应用,而且不需要削减版的netstat、ps等等应用。如果要把BSDBox放在FreeBSD的src里面,我想应该是在 src/release/bsdbox吧。
Q: BSDBox的版本4和版本5有什么差别?
最大的改进,当然是采用了5-STABLE的内核,由于这个改进,从U盘启动有了可能,另外devfs也成了标配。
支持PAM。这个是不得已的做法,因为版本5的应用已经离不开PAM了(不像版本4,PAM还是一个可选项),带来的好处是应用的兼容性更好,而缺点是对内存的要求比版本4大了很多,版本4的BSDBox只要16M内存就可以启动,而版本5的BSDBox需要32M的内存!另外由于PAM采用了dso技术,所以/usr/lib下的pam_*.so也要复制一些过来了。
可以直接安装到block设备。如果你插好了U盘或者CF卡,一个./build命令就可以在你的设备上安装好BSDBox。
启动block设备名可以自检。把你的U盘插在计算机上,它可能是da0、da1也可能是ad0、ad1,现在,bsdbox的启动脚本可以自动找出你的启动block设备名。
csh现在是标配了。不过sh仍然保留。
去掉了telnetd,改为使用sshd/sftp-server,不过sshd还是由inetd引导的。
Q: 如何在BSDBox上增加定制的应用,例如base或者ports里的某个应用?
如果是base里的应用,通常在crunch.conf里面增加progs选项再 ./build crunch; ./build box 就可以了,不过要注意,相关的配置文件也要复制到root目录里。
如果是port里的应用,这里假设我要增加ports/devel/strace(这个应用很有用的!)。先 cd /usr/ports/devel/strace; make install 安装这个应用,注意一下最后install了哪些文件。然后 ldd /usr/local/bin/strace 看看它需要哪些dso。最后,在另一台机器上启动bsdbox,login as root,然后:
- # cd /root/more/bin
- # sftp freebsd_5_host
- sftp>; get /usr/local/bin/strace
- sftp>; get /lib/libc.so.5
- sftp>; get /libexec/ld-elf.so.1
- sftp>; quit
- # update
- # reboot
复制代码
然后strace就可以用了!
如果是要植入apache、dhcpd之类的应用,用同样的方法应该可以,不过配置文件就完全需要手工复制了,另外,也要注意,这些应用的log功能都应该关掉,因为我们用的是mfs-root,空间有限!
Q: 如何制作U盘启动的BSDBox?
把你的U盘插在FreeBSD 5的机器上,假设是da0。然后在bsdbox.conf里面设置:
- VER=5.3.1
- MFS_SIZE=12000
- BOX_DEVICE=da0
- BOX_INSTALL_DEVICE=da0
复制代码
然后执行 ./build ,完成后 reboot 系统,然后用usb-hdd方式启动U盘。
声明:由于我没有U盘,这种方式没有测试,有条件的朋友帮我看看是否有效。
讨论请到:http://www.freebsdchina.org/forum/viewtopic.php?t=17517 |
|