有时候,出于某种需要,我们可能想把自己的主机重装成FreeBSD,但是,亲自去一趟机房可能会相当麻烦,更糟糕的是机房可能没人懂安装FreeBSD的,这种情况下,只能我们自己想办法了。
原理,我们把FreeBSD启动盘写入硬盘某一个区里面,然后通过grub启动,让FreeBSD直接在内存里面启动,这样我们就可以对硬盘进行分区等操作了。
目前depenguinator支持大部分Linux发行版(仅i386版本,不支持x86_64),支持安装FreeBSD6、7系列,下面马上开始。
1.安装依赖的软件包.
depenguinator制作FreeBSD硬盘镜像文件时需要编译makefs,下列软件包是必须的.
curl
gcc
zlib
zlib-devel
glibc-devel
bsdtar ()
自己逐个安装吧,这些应该没什么困难的,只有bsdtar需要编译安装,其他的直接使用yum安装就可以了
2.下载daemonology最新版本
wget
3.编辑配置文件
tar -xzf depenguin-2.0.tar.gz
cd depenguin-2.0
4.创建depenguinator.conf并且根据自己的实际情况修改,(注意:这部分内容不能有错误,否则FreeBSD启动也无法安装连接网络)
depenguinator.conf.dist depenguinator.conf
引用:
hostname="服务器机器名"
defaultrouter="服务器网关"
depenguinator_mac_external="网卡mac地址"
depenguinator_ip_external="服务器IP地址"
depenguinator_netmask_external="子网掩码"
保存退出
5.下载FreeBSD disc1 ISO image,并且改名为disc1.iso
curl ...
-RC1-i386-disc1.iso > disc1.iso
6.上传你的ssh authorized
key到/root/.ssh,执行makeimage.sh创建硬盘镜像文件(ssh authorized
key用来验证ssh登录,没有的话无法连接sshd)
sh -e makeimage.sh disc1.iso 7.0-RELEASE
~/.ssh/authorized_keys
7.这一步,作者的做法是关闭swap,然后把镜像文件写入swap,通过grub启动,不过我在测试的时候grub无法启动swap分区,提示
filesystem
unknow,可能是我的CentOS版本太低了吧(CentOS3.8),所以我稍微做了修改:先关闭swap,然后把swap转换成FreeBSD文
件系统,再把disk.img写入swap分区,这样grub就可以正常启动了。(我的swap是/dev/sda2,如果你的swap是其他分区,要做
相应修改)
swapoff /dev/sda2
fdisk /dev/sda2
选择t修改分区类型
输入sda2分区号码2
分区类型输入a5 (这是FreeBSD文件系统标号)
按w保存退出
8.把disk.img写入硬盘
dd if=disk.img of=/dev/sda2
9.更新gurb启动,增加FreeBSD选择并且设置为默认
vi /boot/grub/menu.lst
在最后增加下面部分:
title FreeBSD
root (hd0,1)
makeactive
chainloader +1
修改default=0 为default=2
10.重启系统
shutdown -r now
11.系统启动,这时FreeBSD完全是在内存里面运行着.enjoy yourself and
god bless you
后记:系统启动后安装也比较困难的,因为FreeBSD安装过程的分区有点问题,反正大家在没熟悉操作之前,千万不要拿服务器开刀,否则丢数据请不要找本人麻烦.
阅读(773) | 评论(0) | 转发(0) |