Editing Installfest Services

Jump to: navigation, search

Warning: You are not logged in.

Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 3: Line 3:
 
NOTE: The content on this page is depreciated.  The content will be updated on the weekend of 2/17/2012 to reflect current status.
 
NOTE: The content on this page is depreciated.  The content will be updated on the weekend of 2/17/2012 to reflect current status.
  
== Synopsis ==
+
Installfest "Services" is an working proof-of-concept by [[User:Bseklecki || Brian A. Seklecki]] and [[User:trodgers | Ted Rodgers]] to provide high performance servers for Linux Distro Boot, Install Media, and Updates retrieval via a local FTP/HTTP mirror within the  Installfest event.
  
Installfest "Services" is an working proof-of-concept by [[User:Bseklecki | Brian A. Seklecki]] and [[User:trodgers | Ted Rodgers]] to provide high performance servers for Linux Distro Boot, Install Media, and Updates retrieval via a local FTP/HTTP/RSYNC/NFS mirror within the  Installfest event LAN.
+
The service runs on local hardware in the LAN.  Having local install/update mirrors avoids the need for [[WPLUG]] attendees to consume Commodity Internet (commercial upstream Internet Connectivity) at the [[InstallFest]] venue.
  
The service runs on local hardware in the LAN.  Having local install/update mirrors avoids the need for [[WPLUG]] attendees to consume commodity Internet (commercial upstream Internet Connectivity) at the [[InstallFest]] venue and thus saturating the limited WAN normally available.
+
NOTE: WPLUG doesn't officially endorse or support the distros provided on Install Services, or provide any guarantees about the service itself
  
NOTICE: [[WPLUG]] doesn't officially endorse or support the distros provided on [[Install Services]]; nor does provide any guarantees about the availability of service itself.
+
= Install Services =
  
= Network PXE Install Services (PXELINUX) =
+
[[Image:wplug_installfest_servicesHardare_2009CFIPowerEdgeCisco.jpg|thumb|right|350px|Hardware Photo]]
  
[[Image:wplug_installfest_servicesHardare_2009CFIPowerEdgeCisco.jpg|thumb|right|350px|Original Hardware (provided by Collaborative Fusion, Inc.)]]
+
The current configuration will provide PXE extensions via DHCP requests. The PXE code in the BIOS will TFTP download the 1st/2nd stage bootloader from the server. Currently the system is configured to hand out Fedora 10 i386 bootloader code to all clients.  <br>
  
The current configuration of services provides a PXE environment.  There PXE magic is a simple 'next-server' and 'boot-file' flags provided to the client via an extended attribute via DHCP offer reply (DHCP options 66/150).   
+
Specific client MAC addresses can get specific bootloader code upon request<br>
  
The PXE code in the BIOS of your device will translate extra data into a TFTP client download the 1st/2nd stage boot loader from the server.  Currently the system is configured to hand out Redhat/Fedora 'intermediate' boot loader clients from the [http://www.syslinux.org/wiki/index.php/The_Syslinux_Project Syslinux] project.  <br>
+
After the boot loader starts, select DHCP auto network configuration (DHCP will renew from the BIOS to the OS).  <br>
  
The Syslinux code then executes a set of additional TFTP request and downloads its configuration files, modules, included config files, graphics, and other data. <br>
+
Then select "URL" for media source and enter:
  
The result is a menu of install'able operating systems; selecting an install target is analagous to booting from the install CD for that OS.  <br>
+
  http://192.168.4.1/pub/fedora/linux/releases/10/Fedora/i386/os
 
+
After the boot loader starts the OS install image, select DHCP auto network configuration (DHCP will renew from the BIOS to the OS).  <br>
+
 
+
Specific client MAC addresses can get specific bootloader code upon request.  <br>
+
 
+
At install time, when media selection occurs, select "URL" for media source and enter:
+
 
+
  http://updates.wplug.org/pub/fedora/linux/releases/$releasever/Fedora/{i386,x86_64}/os
+
  
 
= Update Services =
 
= Update Services =
  
After the OS update is complete, you can add new YUM update "repos" via inserting a file into '''/etc/yum.repos.d''' (for automatic inclusion).
+
After the OS update is complete, you can add new YUM update "repos" via inserting a file into /etc/yum.repos.d (for automatic inclusion).
 
<br>
 
<br>
 
Also, during the [[InstallFest]], run all yum(8) commands with the default depos enabled:
 
Also, during the [[InstallFest]], run all yum(8) commands with the default depos enabled:
Line 43: Line 35:
 
Fetch a Fedora Core 10 i386 YUM Repo Config File at http://digitalfreaks.org/~lavalamp/wplug-updates.repo
 
Fetch a Fedora Core 10 i386 YUM Repo Config File at http://digitalfreaks.org/~lavalamp/wplug-updates.repo
  
Sample:
+
Note: To ensure that the local WPLUG / CMU repositories are utilized instead of the default Redhat / Fedora for all yum(8) functions, always prepend the command "--disablerepo=updates"
 
+
[updates-wplug]
+
name=Fedora Core $releasever - $basearch - Updates from WPLUG InstallFest Services
+
baseurl=http://updates.wplug.org/pub/fedora/linux/updates/$releasever/$basearch/
+
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-fc$releasever&arch=$basearch
+
enabled=1
+
gpgcheck=1
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
+
 
+
 
+
Note: To ensure that the local WPLUG repositories are utilized instead of the default Redhat / Fedora for all yum(8) functions, always prepend the flag "--disablerepo=updates" to Yum commands until you are no longer connected to the installfest network
+
  
 
NOTE: "updates" here refers to the name of the default Fedora repo -- where as the new Repo is named "wplug-updates"
 
NOTE: "updates" here refers to the name of the default Fedora repo -- where as the new Repo is named "wplug-updates"
Line 64: Line 45:
 
   '''# yum check-update'''
 
   '''# yum check-update'''
 
   '''# yum upgrade'''
 
   '''# yum upgrade'''
 
4) Test the repo is functional:
 
 
  '''# yum install vim'''
 
  '''# yum update'''
 
 
NOTE: Ensure that the RPMs are downloaded locally and not remotely
 
 
= Behind the Scenes =
 
 
The system is run on a Redhat6 or Fedora16+ system (previously NetBSD)
 
 
The system is composed of:
 
* TFTP Service (defaults to an export of path ''/var/lib/tftp'' with  read-only permissions)
 
* PXE Loader file system directory hierarchy
 
* PXE Loader menu config file
 
* Various bootloader code manually located in /var/lib/tftp (from various install CD/DVD images)
 
* Apache server and Media/Update directory hierarchy
 
 
More details soon.
 
 
== Setup ==
 
 
After a base install, RHEL6 and F16 often lack a yum repo for the DVD media.
 
 
* '''server% sudo vim /etc/yum.repos.d/rhel-media.repo
 
 
[rhel6-media]
 
name=RHEL-$releasever - Media
 
baseurl=file:///media/cdrom/Server/
 
gpgcheck=1
 
enabled=1
 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
 
* Install the various packages:
 
 
'''server% sudo yum install xinetd tftp-server dhcp syslinux'''
 
 
* Enable TFTP Service
 
 
'''server% sudo vim /etc/xinetd.d/tftp && /sbin/service xinetd restart"
 
        disable                = no
 
 
* Copy the various syslinux files into place
 
 
'''server% sudo cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot'''
 
'''server%  mkdir /var/lib/tftpboot/pxelinux.cfg'''
 
 
* Populate the default config with a menu
 
 
'''server% sudo vim /var/lib/tftpboot/pxelinux.cfg/default'''
 
 
Try to match [Link to SVN repository here]
 
Use this URL for now: https://alteeve.com/w/Setting_Up_a_PXE_Server_on_an_RPM-based_OS#The_Configuration_Files
 
 
'''NOTE:''' Setup a menu item for each distro.  They vmlinuz and initrd will be relative to ''/var/lib/tftp'' and should reside in sub-directories.
 
 
* For each distro (rhel58,rhel62) copy the ''vmlinuz'' and ''initrd.img'' from the install (not the LiveCD) media
 
'''server% sudo mkdir -p /var/lib/tftpboot/rhel62 && cp /media/cdrom/isolinux/{initrd.img,vesamenu.c32} /var/lib/tftpboot/rhel62'''
 
 
* TFTP boot and load your end user device (permutations for i386/x86_64 will be required)
 
 
* Install Apache for the local media and updates service
 
 
NOTE: Make sure that ~500 gigs of space is available on '''/export'''
 
 
* Setup /etc/httpd/conf.d/wplug-services.conf
 
 
[Sample Soon]
 
 
* Setup a cron job to rsync a local copy of the redhat updates:
 
 
'''server% mkdir -p /export/services/linux/rhel/62 /export/services/linux/fedora/16'''
 
 
* Setup IPTables rules to permit inbound on 67,68,68, etc for DHCP/BOOTP and TFTP
 
 
% sudo iptables -L
 
ACCEPT    tcp  --  anywhere            anywhere            state NEW tcp dpt:ssh
 
ACCEPT    udp  --  anywhere            anywhere            state NEW udp dpt:tftp
 
ACCEPT    udp  --  anywhere            anywhere            state NEW udp dpts:bootps:bootpc
 
  
  
Line 153: Line 54:
  
 
[[Category:InstallFest]]
 
[[Category:InstallFest]]
[[Category:Update]]
+
[[Category:Update]

Please note that all contributions to WPLUG may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WPLUG:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)