vkill'blog 何永鹏

pxe网络引导安装archlinux

11:14 , vkill
环境:
archlinuix200806  ip : 192.168.88.88
dhcp 3.1.0
tftp-hpa 0.48

实现步骤:

1、安装 dhcp包 \ tftp-hpa包 \ syslinux包

[root@vkill ~]# pacman -S dhcp tftp-hpa syslinux mkpxelinux
//总共需装 dhcp termcap-compat tftp-hpa mtools syslinux mkpxelinux

2、配置dhcp,默认配置文件有点乱,所以先备份下来后重新写

[root@vkill ~]# cp /etc/dhcpd.conf /etc/dhcpd.conf.back
[root@vkill ~]# vi /etc/dhcpd.conf
ddns-update-style none;
subnet 192.168.88.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.88.160 192.168.88.180;
  allow bootp;
  filename "pxelinux.0";
  next-server 192.168.88.88;
}
[root@vkill ~]# /etc/rc.d/dhcpd restart

3、配置tftp,打开tftp启动脚本

[root@vkill ~]# vi /etc/rc.d/tftpd
//得知tftp的启动命令是 /usr/sbin/in.tftpd -l -s /var/tftpboot ,那么tftp的主目录就是 /var/tftpboot ,先记下,下一步用
[root@vkill ~]# echo in.tftpd:all >>/etc/hosts.allow

4、配置pxelinux

[root@vkill ~]# ls /var/tftpboot
[root@vkill ~]# vi /etc/mkpxelinux.conf
...
#这一行定义了 pxelinux 创建到哪,保持默认就行
INSTALLDIR="/var/tftpboot"
...
[root@vkill ~]# mkpxelinux -a  //创建pxelinux
[root@vkill ~]# ls /var/tftpboot
boot.msg  initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
//各文件说明:pxelinux.0 ,pxelinux主文件,是自动从 /usr/lib/syslinux/pxelinux.0 复制过来的
//            boot.msg   , pxelinux启动菜单文件中显示给用户的信息,自己修改
//            pxelinux.cfg/default  , pxelinux启动菜单文件,自己修改

5、替换initrd.img和vmlinuz,替换为archlinux20080301光盘中的

[root@vkill ~]# mkdir /mnt/iso
//路径照自己情况修改
[root@vkill ~]# mount -o loop /media/win_e/iso/Archlinux-i686-2008.03-1-archboot.core.iso /mnt/iso/
[root@vkill ~]# cp -f /mnt/iso/isolinux/vmlinuz /var/tftpboot/
[root@vkill ~]# cp -f /mnt/iso/isolinux/initrd.img /var/tftpboot/

6、好了,服务器都都配置完成了,现在启动客户机 pxe 启动开始安装archlinux吧,不过得 HTTP/FTP 安装,你也可以在服务器上配置一个ftp,自己架设个源来安装。

附:(一个简单的启动菜单和所需文件列表)
[root@vkill ~]# cat /var/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 300
label installarch
  menu label [01] --- install archlinux
  kernel installarch/vmlinuz
  append initrd=installarch/initrd.img
label maxdos7
  menu label [02] --- maxdos7
  kernel memdisk
  append initrd=maxdos7/maxdos.img floppy c=80 h=4 s=36
label 1keyghost
  menu label [03] --- 1keyghost
  kernel memdisk
  append initrd=1keyghost/1keyghost.img floppy c=11520 h=4 s=36
label xly
  menu label [04] --- xiao lu yuan
  kernel memdisk
  append initrd=xly/xly.img
label grub4dos
  menu label [05] --- grub4dos
  kernel grub4dos/grub.exe
label boothd
  menu label [06] --- boot system of hd0,0
  kernel chain.c32 hd0,0
label reboot
  menu label [07] --- reboot your computer
  kernel reboot.c32


[root@vkill ~]# ls /var/tftpboot
/var/tftpboot─┬─chain.c32
                     ├─memdisk
                     ├─menu.c32
                     ├─pxelinux.0
                     ├─reboot.c32
                     ├─installarch─┬─vmlinuz
                     │                 └─initrd.img
                     ├─grub4dos───grub.exe
                     ├─maxdos7───maxdos.img
                     ├─xly───xly.img
                     └─pxelinux.cfg───default

Last modified by vkill on2008/09/20 09:51
类别:linux system | Tags: , , , , , , , | 0 条评论, 1461 次阅读
网友评论(0):
发表评论:

Nickname: 
Email:
Site URI: