如何远程安装Linux
时间:2009-03-23 来源:sjhf
由ITAA gotolab 作
本文介绍了在不需要光驱和软驱的情况下,如何通过PXE协议快速安装Linux的原理和步骤,这对于提高安装Linux的效率非常有帮助;同时,PXE协议也可以作为无盘linux技术,用于引导远程的Linux启动。
1. 引言
一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。但是,这种安装方法在以下的几种情况下就不能适用:
3. 步骤 有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤: 1) 配置DHCP Server 选用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的内容如下:
dhcpd.conf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的对应关系,表明DHCP Server为Q10分配一个固定的IP:192.168.0.22;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。 2) 配置TFTP server 选用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的内容如下:
这里制定了/tftpboot为TFTP Server的根目录位置。 3) 配置bootstrap bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016为IP地址192.168.0.22的十六进制表示)。如果找不到,就按照顺序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。 /tftpboot/pxelinux.cft/C0A80001配置文件的具体内容如下: DEFAULT install PROMPT 1 LABEL install KERNEL vmlinuz APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384 此配置文件指定了Linux内核以及根文件系统的名称,并给内核传递了一些参数,其中ramdisk_size参数要非常注意,它指定Linux内核启动后建立ramdisk的大小,如果设置太小,Linux的安装过程就可能无法进行。 4) 制作Linux内核/根文件系统 因为需要通过网络安装,所有选择Redhat Linux 8.0安装盘(disk #1)中E:\images\bootnet.img(光驱的盘符为E:)。bootnet.img包括Linux内核、Linux根文件系统(有安装程序在内)。用bootnet.img制作一张引导软盘,方法在DOS命令行运行E:\dosutils\rawrite E:\images\bootnet.img,根据提示制作。制作完毕后,将引导软盘中的vmlinuz(Linux内核)和initrd.img(Linux根文件系统)拷贝到Linux Server的/tftpboot下。 5) 启动DHCP Server/TFTP Server 在Linux Server上,运行service dhcpd start和service xinetd restart。 6) 启动Q10 Q10加电后,在出现Samsung公司徽标时,在左下角会提示用户按F12进入网络引导。按F12后,Q10进入网络引导过程。首先通过DHCP Server获得了IP地址,然后下载并执行bootstrap文件pxelinux.0;在执行中,读入配置文件/tftpboot/pxelinux.cfg/C0A80016。此时屏幕上出现boot:,敲入install,就进入了Redhat Linux 8.0的网络安装界面,一切OK!
4. 结束语 虽然以上的讨论是针对Samsung Q10笔记本,但是工作原理和安装方法对于其它类型的计算机也是适用的,不过要记住,计算机的网卡中必须要有BootROM--PXE Client。同时,PXE协议也可作为无盘Linux技术,用于引导放置在远程的Linux。实际上,只要根据需要,在Pxelinux的配置文件的APPEND选项中,为Linux内核传进需要mount的文件系统的位置参数即可。 在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。 PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
3. 步骤 有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤: 1) 配置DHCP Server 选用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的内容如下:
dhcpd.conf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的对应关系,表明DHCP Server为Q10分配一个固定的IP:192.168.0.22;filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。 2) 配置TFTP server 选用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的内容如下:
这里制定了/tftpboot为TFTP Server的根目录位置。 3) 配置bootstrap bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016为IP地址192.168.0.22的十六进制表示)。如果找不到,就按照顺序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。 /tftpboot/pxelinux.cft/C0A80001配置文件的具体内容如下: DEFAULT install PROMPT 1 LABEL install KERNEL vmlinuz APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384 此配置文件指定了Linux内核以及根文件系统的名称,并给内核传递了一些参数,其中ramdisk_size参数要非常注意,它指定Linux内核启动后建立ramdisk的大小,如果设置太小,Linux的安装过程就可能无法进行。 4) 制作Linux内核/根文件系统 因为需要通过网络安装,所有选择Redhat Linux 8.0安装盘(disk #1)中E:\images\bootnet.img(光驱的盘符为E:)。bootnet.img包括Linux内核、Linux根文件系统(有安装程序在内)。用bootnet.img制作一张引导软盘,方法在DOS命令行运行E:\dosutils\rawrite E:\images\bootnet.img,根据提示制作。制作完毕后,将引导软盘中的vmlinuz(Linux内核)和initrd.img(Linux根文件系统)拷贝到Linux Server的/tftpboot下。 5) 启动DHCP Server/TFTP Server 在Linux Server上,运行service dhcpd start和service xinetd restart。 6) 启动Q10 Q10加电后,在出现Samsung公司徽标时,在左下角会提示用户按F12进入网络引导。按F12后,Q10进入网络引导过程。首先通过DHCP Server获得了IP地址,然后下载并执行bootstrap文件pxelinux.0;在执行中,读入配置文件/tftpboot/pxelinux.cfg/C0A80016。此时屏幕上出现boot:,敲入install,就进入了Redhat Linux 8.0的网络安装界面,一切OK!
4. 结束语 虽然以上的讨论是针对Samsung Q10笔记本,但是工作原理和安装方法对于其它类型的计算机也是适用的,不过要记住,计算机的网卡中必须要有BootROM--PXE Client。同时,PXE协议也可作为无盘Linux技术,用于引导放置在远程的Linux。实际上,只要根据需要,在Pxelinux的配置文件的APPEND选项中,为Linux内核传进需要mount的文件系统的位置参数即可。 更过精华帖 请见:www.one-tom.com/bbs 网站首页: www.one-tom.com |
相关阅读 更多 +
排行榜 更多 +