Chinaunix首页 | 论坛 | 博客
  • 博客访问: 679662
  • 博文数量: 467
  • 博客积分: 8050
  • 博客等级: 中将
  • 技术积分: 14825
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-18 11:00
文章分类

全部博文(467)

文章存档

2009年(8)

2008年(459)

分类: LINUX

2008-05-23 19:48:42

有时候,出于某种需要,我们可能想把自己的主机重装成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) |
给主人留下些什么吧!~~