pxe网络引导安装archlinux
来源:http://blog.vkill.net/read.php/101.htm
环境:
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