Thursday, October 9, 2014

Fedora/Centos ipxe bootscripts.

Been spending time looking at booting systems to the net to install linux operating systems. So far we have looked at Arch and Debian based systems. Both Fedora and Centos have pre-made iso's for network install.




Centos:

http://www.centos.org/download/

Fedora:

http://fedoraproject.org/en/get-fedora

But if you want to roll your own, here are some scripts to look at:

Fedora

 #!ipxe
  dhcp any
  # Set source URI
  set mirror http://download.fedoraproject.org/pub/fedora/linux/releases/20
 
  # Detect CPU architecture and calculate repository URI
  set arch i386
  set repo ${mirror}/Fedora/${arch}/os
 
  # Start installer
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img repo=${repo}
  initrd ${repo}/images/pxeboot/initrd.img
  boot

or

  #!ipxe
  dhcp any
  # Set source URI
  set mirror http://download.fedoraproject.org/pub/fedora/linux/releases/18
 
  # Detect CPU architecture and calculate repository URI
  cpuid --ext 29 && set arch x86_64 || set arch i386
  set repo ${mirror}/Fedora/${arch}/os
 
  # Start installer
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img repo=${repo}
  initrd ${repo}/images/pxeboot/initrd.img
  boot

or older releases




#!ipxe
  dhcp any
  # Set source URI
  set mirror http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/14

  # Detect CPU architecture and calculate repository URI
  set arch i386
  set repo ${mirror}/Fedora/${arch}/os

  # Start installer
  kernel ${repo}/images/pxeboot/vmlinuz initrd=initrd.img repo=${repo}
  initrd ${repo}/images/pxeboot/initrd.img
  boot

----------------------------------------------



Centos

  dhcp any
  set base http://mirror.centos.org/centos/6/os/x86_64
  kernel ${base}/images/pxeboot/vmlinuz stage2=${base}/images/install.img ksdevice=${netX/mac}
  initrd ${base}/images/pxeboot/initrd.img
  boot

=================================

Our local server ipxe script

 #!ipxe
  dhcp any
  set base http://oeorgan1/distro/centos
  kernel ${base}/pxeboot/vmlinuz stage2=${base}/install.img ksdevice=${netX/mac}
  initrd ${base}/pxeboot/initrd.img
  boot


Files for local server needed:

${base}/
      boot.iso
      install.img
${base}/pxeboot/
     initrd.img
     vmlinuz

No comments:

Post a Comment