On Fri, Dec 14, 2007 at 08:56:51AM +0900, John Summerfield wrote:
.
.
.
> I'm sure it's covered in detail in the Red Hat documents. They should be
> part of SL (I've not looked), they _are_ hosted by CentOS and I'm sure
> by Red Hat.
>
> Largely forget Debian. I've use both, I don't think one is better than
> the other for this, though they are different.
Hi, John. Yup, Debian happened to the fave rave of a guy that worked
here at one time, and he got the server set up and working before I
realized what he had done. At that point it wasn't broke, so we never
fixed it, but I want to get rid of it now.
>
> Your server(s) need working networking. Configuring that has nothing
> special to do with the task at hand.
>
> I'm looking at my WBEL4 box as I write.
> you need dhcpd3. Your configuration from Debian should work with minimal
> changes. This hands out DHCP addresses and tells clients which file to
> load and where to get it (it can be a different server, and on Debian I
> use that feature).
>
> You need tftpd and xinetd. Install them, ensure xinetd starts on boot
> and that tftpd is enabled:
> [summer@ns ~]$ cat /etc/xinetd.d/tftp
> # default: off
> # description: The tftp server serves files using the trivial file
> transfer \
> # protocol. The tftp protocol is often used to boot diskless \
> # workstations, download configuration files to network-aware
> printers, \
> # and to start the installation process for some operating systems.
> service tftp
> {
> disable = no
> socket_type = dgram
> protocol = udp
> wait = yes
> user = root
> server = /usr/sbin/in.tftpd
> server_args = -s /tftpboot -v -v -r blksize
> per_source = 11
> cps = 100 2
> flags = IPv4
> }
>
> Don't ask, that works.
>
> At this stage you should be able to boot a client and have it get an IP
> address etc, the details of where to load pxelinux.0 and able to load it.
>
> Red Hat puts the tftp stuff in /tftpboot, Debian uses some other place.
> Copying Debian's to SL should just work.
>
> After this, a PXE client should be able to load pxelinux.0 and have it
> load its configuration file.
>
> The configuration file won't work well unless everything's in /tftpboot.
> Probably, you need to configure an install source, using nfs, ftp or http.
>
> I prefer http because I like the logs, they're good records of what
> happened, they identify all the files you actually need, they're good
> for diagnosing things when something doesn't work.
>
> For this, I use Apache httpd
>
> importantly, Apache can be configured as a caching proxy; I installed a
> beta of FC2 with four-hour dialup sessions, because the files already
> used were cached and so restarting the install after timeouts was quick.
> Potentially, I could be installed and running before I could download a
> set of ISO images through my ADSL connexion. On several machines.
>
> I configure virtual hosts in Apache. here is a sample:
> <VirtualHost *:80>
> ServerAdmin [log in to unmask]
> DocumentRoot /var/local/mirrors/linux/RHEL
> ServerName RHEL.demo.lan
> ServerAlias RHEL.demo.room
> ServerAlias RHEL
> Alias /Fedora/ "/var/local/mirrors/linux/Fedora/"
> Alias /ScientificLinux/
> "/var/local/mirrors/linux/ScientificLinux/"
> Alias /CentOS/ "/var/local/mirrors/linux/CentOS/"
> ScriptAlias /ks/ "/var/local/mirrors/linux/ks/"
> ErrorLog /var/log/httpd/RHEL-error_log
> CustomLog /var/log/httpd/RHEL-access_log combined
>
>
> <directory "/var/local/mirrors/linux/Fedora">
> AllowOverride None
> Options +FollowSymLinks +Indexes
> Order allow,deny
> Allow from 192.168
> </Directory>
>
>
> <Directory "/var/local/mirrors/linux/CentOS/">
> AllowOverride None
> Options +FollowSymLinks +Indexes
> Order allow,deny
> Allow from 192.168
> </Directory>
>
> <directory "/var/local/mirrors/linux/ScientificLinux">
> AllowOverride None
> Options +FollowSymLinks +Indexes
> Order allow,deny
> Allow from 192.168
> </Directory>
>
>
>
>
> </VirtualHost>
Thanks. Very interesting and complete.
I poked around a bit more and finally realized that with a little
tinkering, we could continue to have this work just as it did on our
Debian and, previously, Redhat (i.e., NOT Enterprise) systems.
I've appended a sketch of the steps I took, many of which duplicate the
things you've already mentioned. I've also omitted any reference to
firewalls, etc. The appended uses FTP, but I presume NFS, HTTP, etc.,
could be used easily.
BTW, I was trying to set up kickstart for Fedora 8, which is the reason
for all the Fedora references. The server itself is running SL 5.
- Mike
yum install dhcp.x86_64
cd /etc
edit dhcpd.conf
service dhcpd start
yum install tftp-server.x86_64
cd /etc/xinetd.d
edit tftp: disable = no
service xinetd reload
(yum install syslinux if it isn't already there)
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
cd /tftpboot/
mkdir pxelinux.cfg
scp our_distro_server:/.../images/pxeboot/* .
mv initrd.img initrd_fedora8_32.img
mv vmlinuz vmlinuz_fedora8_32
cd pxelinux.cfg/
edit netboot-ks.fedora8_32 (or whatever you call it):
label linux
kernel vmlinuz_fedora8_32
append ksdevice=eth0 load_ramdisk=1 initrd=initrd_fedora8_32.img
network ks=ftp://169.237.nn.mm/pub/kickstart/xxxxx-ks.32.ftp.cfg
ln -s netboot-ks.fedora8_32 IP-ADDRESS-OF_PXE-SYSTEM-IN-HEX (A9ED....)
reboot the client and select PXE booting
|