免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3233 | 回复: 0

免光驱,免软驱,免U盘实现用PXE远程引导安装FreeBSD [复制链接]

论坛徽章:
0
发表于 2009-09-10 18:54 |显示全部楼层
Google上找了三天资料,终于实现免光驱,免软驱,免U盘通过PXE远程引导来安装FreeBSD了,这种PXE远
程引导安装的方法非常适合没有光驱,软驱,甚至连U盘都没有的管理人员。
第一步:
在Windows环境下载需要用于远程引导安装FreeBSD系统安装的软件
1.FreeBSD软盘映象文件
映象文件名       (boot.flp,kern1.flp,kern2.flp,kern3.flp,mfsroot1.flp)
官方下载地址     
ftp://ftp.cn.freebsd.org/pub/Fre ... 2-RELEASE/floppies/
2.用于引导FreeBSD软盘映象文件的启动文件
启动文件名       pxelinux.0(在syslinux压缩包里可以找到)
官方下载地址     
http://www.kernel.org/pub/linux/utils/boot/syslinux/
  
3.用于Windows环境下的NFS服务器软件
软件名           Allegro NFS Server for Windows
官方下载地址     
http://www.nfsforwindows.com/home
4.用于DHCP和TFTP服务的软件
软件名           tftpd32
官方下载地址     
http://tftpd32.jounin.net/tftpd32_download.html
第二步:将FreeBSD软盘映象文件为一个启动文件(制作启动文件要在FreeBSD环境下操作)
1.复制启动文件boot.flp中的内容到临时文件夹boot_tmp下:
#mkdir /mnt/cd
#mdconfig -a -t vnode -f boot.flp -u 0
#mount /dev/md0 /mnt/cd
#mkdir boot_tmp
#cp -R /mnt/cd/* boot_tmp/
#umount /mnt/cd
#mdconfig -d -u 0
查看boot_tmp下的kernel.gz.split和mfsroot.gz.split这两个文件,可以知道kernel.gz文件被分割成
了四个文件:kernel.gz.boot、kernel.gz.aa、kernel.gz.ab、kernel.gz.ac,而mfsroot.gz
被分割成了
mfsroot.gz.boot和mfsroot.gz.aa两个文件,下面就是要把这几个分割开的文件合并成一个磁盘映象文件
2.合并kernel.gz文件:
#mdconfig -a -t vnode -f kern1.flp -u 0
#mount /dev/md0 /mnt/cd
#cat /mnt/cd/kernel.gz.aa >> boot_tmp/kernel.gz.boot
#umount /mnt/cd
#mdconfig -d -u 0
#mdconfig -a -t vnode -f kern2.flp -u 0
#mount /dev/md0 /mnt/cd
#cat /mnt/cd/kernel.gz.ab >> boot_tmp/kernel.gz.boot
#umount /mnt/cd
#mdconfig -d -u 0
#mdconfig -a -t vnode -f kern3.flp -u 0
#mount /dev/md0 /mnt/cd
#cat /mnt/cd/kernel.gz.ac >> boot_tmp/kernel.gz.boot
#umount /mnt/cd
#mdconfig -d -u 0
#mv boot_tmp/kernel.gz.boot boot_tmp/kernel.gz
至此kernel.gz合并完毕
3.合并mfsroot.gz文件:
#mdconfig -a -t vnode -f mfsroot1.flp -u 0
#mount /dev/md0 /mnt/cd
#cat /mnt/cd/mfsroot.gz.aa >> boot_tmp/mfsroot.gz.boot
#umount /mnt/cd
#mdconfig -d -u 0
#mv boot_tmp/mfsroot.gz.boot boot_tmp/mfsroot.gz
至此mfsroot.gz合并完毕
4.另外还需要做额外一些工作:删除无用的文件
#rm -f boot_tmp/{kernel,mfsroot}.gz.split
5.修改boot_tmp/boot/loader.conf文件,删除含有"Insert floppy"的两行
6.再把boot_tmp下的内容打包成启动文件:
#dd if=/dev/zero of=freebsd72 bs=1k count=6800
#mdconfig -a -t vnode -f freebsd72 -u 0
#disklabel -Bw /dev/md0
#newfs /dev/md0a
#mkdir /mnt/hd
#mount /dev/md0a /mnt/hd
#cp -R boot_tmp/* /mnt/hd
#umount /mnt/hd
#mdconfig -d -u 0
#gzip -9 freebsd72
7.将freebsd72用网络或U盘拷到到Windows系统里
第三步:
1.配置tftpd32,开启dhcp和tftp服务,设置好网络参数,在启动文件处填写pxelinux.0
2.COPY下载的pxelinux.0和做好的freebsd72两个文件到 tftpd32的根目录
3.新建一个名为pxelinux.cfg的文件夹
4.在pxelinux.cfg文件夹里新建一个Default的文件
5.编辑Default文件,输入以下内容:
DEFAULT menu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 50
MENU TITLE My Boot Menu
# FreeBSD 7.2 Boot Floppy
LABEL FreeBSD 7.2 Boot Floppy
MENU Boot Floppy
KERNEL memdisk
APPEND initrd=freebsd72.gz
6.编辑好后保存
第四步:
1.安装Allegro NFS Server for Windows
2.用虚拟光驱将FreeBSD光盘映象文件载入
3.启动Allegro NFS Server for Windows,将虚拟的FreeBSD7.2光盘根目录Mount成/export
第五步:
将需要安装FreeBSD的机器设成PXE网络启动之后就会加载pxelinux.0这个文件,然后pxelinu.0就会把做好的FreeBSD启动文
件下载到机器的内存中执行并成功进入FreeBSD的Sysinstall安装界面,安装方法基本和光驱安装相同,不同之处在于要在安装来源中选择
NFS,并填上nfs server mount的FreeBSD目录,然后就可以成功开始安装了。
PS:附件为制作好的FreeBSD7.2的启动文件
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2389/showart_2049869.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP