I’ve written a network installation or upgrading guide with a small script called setupgrubfornfsinstall earlier this month. It’s help a lot on my work : upgrading openSUSE 10.3 and 11.0 workstation into latest version openSUSE 11.1.
Although the script quite useful, it’s not really satisfied either. The main problem is that the script need a running openSUSE or SUSE Linux Enterprise. It can’t be used to install or upgrade on an empty system or to remove another system.
I catch the problem while installing openSUSE 11.1 on broken Windows system. It has no CD or DVD ROM. I may install the system by borrowed the CD/DVD ROM from another PC or using external CD/DVD ROM or by using openSUSE 11.1 LiveUSB, but I think it’s a good chance to try better method : Installing openSUSE 11.1 over network with PXE Boot.
WHAT IS THE PXE BOOT INSTALLATION METHOD ?
PXE stand for Preboot Execution Environment. PXE is way to start computers without Floppy/Hard Disk/CD-ROM, that is, the BIOS will start right from the network using the PXE protocol. Of course, in order for PXE to work the server needs OS configuration, and the client side needs a code module that runs PXE for the given LAN card (NIC).
Most newer mainboards that have an on-board LAN port already have the module as part of their BIOS image. It’s called BOOTROM. You will need to activating the BOOTROM capability within BIOS setup. Setup process may vary depending your mainboard configuration, but occasionally the setup placed on Advanced Setup and Port Setup. The Advanced setup required to make Network or LAN as first choice on boot start up option. The port setup need to activating Boot from LAN by enabling the option.
WHAT IS THE BENEFIT OF PXE BOOT INSTALLATION ?
- Do not need CD/DVD ROM, LiveUSB or existing and running system. The one-and-only requirement is Network Card that support Boot from LAN. Most of current motherboard and LAN Card support this.
- Fairly easy to setup
- Do not need burn media. Standard Network installation need Net ISO Image for boot the start up installation process but PXE boot won’t need the ISO.
- Reduces staff costs for installation and eliminates human errors
- Reduces time used for preparing the installation
- With autoyast capability, the PXE boot can automate software installation and system configuration. The process itself occasionally called ‘unattended installation’. for now, I will keep this post focus on PXE boot, the autoyast will be discussed later. Please refer to this link for autoyast documentation.
PREPARING INSTALLATION SOURCE
In this scenario, I will used network installation source using http protocol. You may also used another protocol, ie : smb, nfs, ftp, etc.
- Install Apache server, make a folder called 11.1 on /srv/www/htdocs
zypper in -t pattern lamp_server service apache2 start mkdir /srv/www/htdocs/11.1
- Copy openSUSE 11.1 DVD contents into /srv/www/htdocs/11.1.
- If you wish to use ISO image instead of DVD, mount the ISO image (mount -o loop iso-image target-folder). Mount it into /srv/www/htdocs/11.1 for temporary used or mount it into another folder and then copy the contents into /srv/www/htdocs/11.1. The second choice will make the content permanent
PREPARING TFTP SERVER
TFTP Server stand for Trivial File Transport Protocol (TFTP), a very simple file transfer protocol, with the functionality of a very basic form of FTP. The initial stages of some network based installation systems (such as Solaris Jumpstart, Red Hat Kickstart and openSUSE AutoYAST) use TFTP to load a basic kernel that performs the actual installation.
We will used TFTP Server for preparing resource on initial stage of PXE Boot Installation.
- Install TFTP Server
zypper in yast2-tftp-server tftp
- Configure TFTP Server. Click YAST | Network Services | TFTP Server
- Click Enable, change the Boot Image Directory into /srv/tftpboot. Don’t forget to give a thick on Open Port in Firewall if you used Firewall. The default image directory is /tftpboot. I’m using /srv/tftpboot because I’m not really comfortable to make new folder on root directory. I highly recommended to used this folder to prevent any confused setting. If you wish to used your custom folder, don’t forget to change the proper setting on /etc/dhcpd.conf on next setting. Please refer to my post earlier this month about PXE-Boot problem.
- Click OK
- Check on /srv/tftpboot directory, you will see some files and folder needed for PXE Boot has been copied automatically.