SCIENTIFIC-LINUX-USERS Archives

December 2007

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Michael Hannon <[log in to unmask]>
Reply To:
Michael Hannon <[log in to unmask]>
Date:
Thu, 13 Dec 2007 19:55:36 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (168 lines)
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

ATOM RSS1 RSS2