Bug 374181

Summary: PXE / NFS installation fails to find .iso file in NFS directory
Product: [Fedora] Fedora Documentation Reporter: stefan keller-tuberg <fedora>
Component: install-guideAssignee: Paul W. Frields <stickster>
Status: CLOSED CURRENTRELEASE QA Contact: Paul W. Frields <stickster>
Severity: medium Docs Contact:
Priority: low    
Version: devel   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: 9.0.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-28 19:04:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description stefan keller-tuberg 2007-11-10 00:59:37 UTC
Description of problem:

I have a 'working' PXE / NFS installation setup that I have been using to
auto-deploy fedora on many computers since (I think) FC4. I have the fedora
installation DVD iso on an NFS share. The anaconda kickstart file is accessible
via HTTP on the same server. I have a working tftp/grub/PXE boot process to feed
the fedora rescue CD kernel and ramimage via TFTP.

The process is presently working with F7 images and I have double checked F7 /
PXE / NFS is working but F8 is broken on three different computers.

When performing an F8 i386 installation using PXE boot, the
Fedora-8-i386-DVD.iso image cannot be found on the NFS server. The error
reported by the installer is "That directory could not be mounted from the server"

If instead of PXE boot, I boot the rescue image from CDROM
(Fedora-8-i386-rescuecd.iso), the NFS installation proceeds normally and works.

How reproducible:

Steps to Reproduce:

1) Extracting F8 rescue CD kernel and ram image: I mounted the
Fedora-8-i386-rescuecd.iso and copied the /isolinux/vmlinuz and
/isolinux/initrd.img files to an accessible location on my TFTP server and named
the files vmlinuz.F8-rescue and initrd.F8-rescue.img

2) I added the following lines into my PXE boot options file
LABEL F8
KERNEL vmlinuz.F8-rescue
APPEND nfsdir=172.16.1.1:/netboot/pxe initrd=initrd.F8-rescue.img dma
method=nfs:172.16.1.1:/nfsroot/images ksdevice=bootif

3) I copied the Fedora-8-i386-DVD.iso file into the /nfsroot/images directory
(where all my other FC7 and earlier NFS-installable ISO images reside)

4) I PXE booted three different target computers (2xDell D600, 1xAsus P5B
desktop) and selected 'F8' at the PXE/grub boot prompt

5) The F8 installer starts. I choose my language and TCP config in the first two
questions. (I have also tried using an anaconda kickstart file served via HTTP -
this avoid the questions but still bombs same as below)

6) The installer goes searching for an IP address using DHCP. It then says its
resolving the hostname, then for a SECOND TIME, it goes searching for an IP.
(Using the F7 installer, it doesn't search for an IP address the second time)

7) Next, the installation bombs out telling me "That directory could not be
mounted from the server" which, when I OK it, brings up the standard prompter
box for me to fill in the IP and path for the NFS server and ISO directory

I've done a wireshark capture on the NFS server - all seems above board and the
installation directory DOES appear to be correctly mounted.

I've looked at DHCP and firewall logs. The NFS server is providing DHCP address
properly and the firewall is not dropping any packets (as evidenced by the
wireshark trace too).

I moved the F8 iso file into its own directory and repeated.... same problem.

I burned a rescue CD and booted from it (rather than PXE). If I feed a kickstart
via HTTP or if I manually answer the '20 questions', the NFS installation works
OK (ie choosing NFS installation method and pointing to the server and directory
containing the F8 DVD iso).

Additional info:

The last two lines on the Alt-F3 log on the failed installation computer tell me
host is 172.16.1.1, dir is /nfsroot/images, opts are '(null')
mounting nfs path 172.16.1.1:/nfsroot/images

Full discussion here: http://forums.fedoraforum.org/showthread.php?t=171238

Comment 1 stefan keller-tuberg 2007-11-11 21:11:22 UTC
***Success*** - I've kludged a work around following a tip from somebody else
experiencing the same issue (see fedoraforum thread).

The following grub config works properly with a PXE / NFS installation (note
removal of the 'method' and 'nfsdir' directives)...

LABEL F8-auto
KERNEL vmlinuz.F8-rescue
APPEND initrd=initrd.F8-rescue.img dma
ks=nfs:172.16.1.1:/nfsroot/images/kickstart.cfg ksdevice=bootif



Comment 2 stefan keller-tuberg 2007-11-12 00:35:26 UTC
(In reply to comment #1)
Just to clarify comment #1, I successfully worked around the problem, but there
appears to be a bug in the way that 'nfsdir' and / or 'method=nfs' are handled.


Comment 3 Jeremy Katz 2007-11-12 18:54:33 UTC
nfsdir isn't something that anaconda has ever looked at or supported -- try
adding back the method= and see if it works.  Also, what are the installation
source related lines in the kickstart config you're pointing at?

Comment 4 stefan keller-tuberg 2007-11-13 07:22:34 UTC
Yes, you're right,...

The presence of an 'nfsroot=' parameter on the grub line is specifically what
hosed the F8 PXE installation.

Strange. My first NFS / PXE boot server was for net-booting knoppix. The nfsdir
parameter was required for this and I copied over to all my subsequent Fedora
PXE boot installers. It has worked fine with previous fedora versions, even
though (I note now) that the iso image was not located in that particular
directory. However the F8 installer, for the first time, is thrown by the
presence of this parameter.

So the ticket can be closed with my thanks for your response. May I suggest the
ticket be re-directed as a documentation request to provide an example grub
config in the 'alternate installation methods' section of the Fedora
installation guide??? Something such as the following....

In order to PXE-install Fedora, a grub bootloader should be loaded onto the
target computer during the PXE boot process. The following grub.conf examples
may be used to initiate a fedora installation... 

# Anaconda kickstart file nfs accessible at 172.16.1.1:/nfsroot/kickstart.cfg
# Fedora-8-i386-DVD.iso nfs accessible in 172.16.1.1:/nfsroot/
LABEL F8-ks-PXE-install
KERNEL vmlinuz.F8-rescue
APPEND initrd=initrd.F8-rescue.img ks=nfs:172.16.1.1:/nfsroot/kickstart.cfg

# Fedora-8-i386-DVD.iso nfs accessible in 172.16.1.1:/nfsroot/
LABEL F8-manual-PXE-install
KERNEL vmlinuz.F8-rescue
APPEND initrd=initrd.F8-rescue.img method=nfs:172.16.1.1:/nfsroot

The vmlinuz and initrd files referred to above may be obtained from the
/isolinux/vmlinuz and /isolinux/initrd.img files on the
Fedora-8-i386-rescuecd.iso image.

Comment 5 Chris Lumens 2007-11-13 15:21:54 UTC
The page http://fedoraproject.org/wiki/Anaconda/Options describes all the
possible options that can be used with anaconda, including method=.  However,
the installation documentation does not appear to describe them or link to the
wiki page.  Reassigning.

Comment 6 Paul W. Frields 2008-06-28 19:04:47 UTC
Now referenced in the appendix:

http://docs.fedoraproject.org/install-guide/f9/en_US/ap-admin-options.html