Fedora 14 network install
From Amahi
| WARNING | |
|---|---|
| This is recommended only for advanced users, proceed with caution. |
| Work In Progress | |
|---|---|
| comments welcome |
This is an expansion of the Amahi Netboot functionality. When done following the directions here, you can install Fedora 14 x86_64, i386 or i386-PAE on a client machine without putting a disc in the computer you are doing the installation on. If you have any questions on why you would want to do this, please visit the Amahi IRC Channel and ask me or someone else. My name there is smccloud.
This procedure is typically used to install a Fedora OS (in this case F14) on a client machine with a hard drive. It is useful when:
- The client machine doesn't have an optical drive and you don't want to use a USB flash drive
- You want to install an OS on multiple client machines
- You want to test various operating systems or hardware configurations
Note: The procedure here is not intended for creating a diskless client machine. See the Fedora documentation for a (complex) procedure for that.
This method uses the following:
- PXE from Netboot
- NFS exports (Network File System)
- Loopback ISO image mounting
- Fedora Kickstart files
NOTE: To install amahi-netboot, become root user and do the following:
| bash code |
|---|
| yum -y install amahi-netboot |
You will want to decide if you want to do this as a one time installation or if you want to be able to do this all the time.
If you want to use Bittorrent to download the ISO images, please use the following links.
- http://torrent.fedoraproject.org/torrents/Fedora-14-i386-DVD.torrent
- http://torrent.fedoraproject.org/torrents/Fedora-14-x86_64-DVD.torrent
To download the ISOs using HTTP please use the following links.
- http://download.fedoraproject.org/pub/fedora/linux/releases/14/Fedora/i386/iso/Fedora-14-i386-DVD.iso
- http://download.fedoraproject.org/pub/fedora/linux/releases/14/Fedora/x86_64/iso/Fedora-14-x86_64-DVD.iso
While the file(s) are downloading please use the HDA Console/Dashboard to create a share named nfsexports. If you are using Greyhole it is up to you if you want to use your storage pool or not, we will only be storing 1 or 2 files there and using a folder or two as a mount point for the DVD images.
Inside the share you just setup, create the following folders.
- fedora14i386 - Used as the mount point for the Fedora 14 i386 ISO.
- fedora14x64 - Used as the mount point for the Fedora 14 x86_64 ISO.
- kickstart - Used for sharing out the kickstart files we use.
Next we need to setup our NFS exports. This is done by executing the following commands in a terminal.
| bash code |
|---|
| su - nano -w /etc/exports |
The contents of the file will be the following
| Text |
|---|
| /var/hda/files/nfsexports/fedora14x64 *(rw,insecure,all_squash,async,anonuid=48,anongid=48) /var/hda/files/nfsexports/fedora14i386 *(rw,insecure,all_squash,async,anonuid=48,anongid=48) |
If you don't know what it all means, the basics are allow any user read only access.
Now that this is done, its time to decide if you want to do this just once or if you want to be able to do it all the time. If you want to do it just once, type the following without exiting from the root shell we started earlier.
| bash code |
|---|
| service nfs start |
If you want to be able to do this many times including rebooting your server, type the following in.
| bash code |
|---|
| chkconfig nfs on service nfs start |
Next it is time to create the kickstart files. Execute the following to get to the right directory.
| bash code |
|---|
| cd /var/hda/files/nfsexports/kickstart |
Next type the following
| bash code |
|---|
| nano -w fedora14i386.ks |
and paste the following text into the editor
| Text |
|---|
| bootloader --location=mbr nfs --server=hda --dir=/var/hda/files/nfsexports/fedora14i386 |
If you will be doing this just once, type the following in depending on what version you are installing. Make sure to change to the folder the ISO image(s) are sitting in first.
| bash code |
|---|
| mount -t iso9660 Fedora-14-x86_64-DVD.iso /var/hda/files/nfsexports/fedora14x64 -o loop,ro mount -t iso9660 Fedora-14-i386-DVD.iso /var/hda/files/nfsexports/fedora14i386 -o loop,ro |
If you want to be able to do this all the time, add the following lines to your /etc/fstab file. Make sure to change /var/hda/files/torrents/Fedora-14-i386-DVD (or x86_64) to the path your ISO images are sitting at.
| Text |
|---|
| /var/hda/files/torrents/Fedora-14-i386-DVD/Fedora-14-i386-DVD.iso /var/hda/files/nfsexports/fedora14i386 udf,iso9660 user,auto,loop 0 0 /var/hda/files/torrents/Fedora-14-x86_64-DVD/Fedora-14-x86_64-DVD.iso /var/hda/files/nfsexports/fedora14x64 udf,iso9660 user,auto,loop 0 0 |
Now execute mount -a to make sure everything works right.
Next as root change to /usr/share/amahi-netboot/tftp and make a folder called fedora14. Inside make a folder called i386 and/or one called x64.
After that is done, copy all the files from /var/hda/files/nfsexports/fedora14i386/images/pxeboot to /usr/share/amahi-netboot/tftp/fedora14/i386 and/or /var/hda/files/nfsexports/fedora14x64/images/pxeboot to /usr/share/amahi-netboot/tftp/fedora14/x64.
Now we edit the Netboot menu. cd to /usr/share/amahi-netboot/tftp/pxelinux.cfg and type cp default default.backup. This is just in case something goes wrong.
We will add some combination of the following to the default file.
| Text |
|---|
| LABEL Fedora 14 x64 MENU LABEL Fedora 14 x64 |
The x64 and i386 options should be self explanatory, but you might not know what the i386 PAE option is for. It stands for Physical Address Extension and in a nutshell it lets 32-bit computers access more than 4GB of RAM. This is normally only used in servers, but I included it just in case.
With this done, boot the target machine over the LAN and choose the option you want. It will prompt you for some configuration options, but the hard parts (like the distro path will be filled in and not visible).
Problems
- On a gig-e connection it took about two hours to load vmlinuz and initrd.img
- Once Anaconda showed up it gave me the following error:
- The following error was found while parsing the kickstart configuration file:
- The following problem ocurred on line 6 of the kickstart file:
- selinux option: --disabled
- exited abnormally [1/1]
- When executing the mount -a command, I received the following errors:
- [mntent]: line 19 in /etc/fstab is bad
- [mntent]: line 20 in /etc/fstab is bad
- Something strange is happening when the commands above are copied into a terminal. The copy looks OK but the command fails on a syntax error. It appears that there is an invisible colon at the front of the command lines above (several, but not all). You don't see it when you paste, but bash apparently sees it.
NOTE: DO NOT copy and paste directly into terminal. Copy into notepad or similar text editor to ensure special characters are stripped. This is a known problem with the templates used in the wiki.
