PDA

View Full Version : F8 NFS installation problem



skellert
9th November 2007, 05:52 AM
I've a working NFS-installer for F7 and have today downloaded the F8 ISO files. I can't get NFS installation working.

Here's the steps I've taken...

1) 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 called 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 then 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 then PXE boot the target computer and select the F8 option at the PXE/grub boot prompt

5) The fedora installer starts, I choose my language and TCP config in the first two questions

6) The installer goes searching for an IP address using DHCP

7) It 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

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

The NFS directory in question is readable and mountable by all my other FC7 boxes. A wireshark packet capture shows that the NFS mount from the system undergoing installation is indeed working. However I don't know how to actually see (or know how to look at) the NFS filenames that are being accessed so I can't confirm the installer actually tried to read a file or not.

Does anybody know the filename that the F8 installer goes looking for within the NFS directory??? It seems that it is NOT Fedora-8-i386-DVD.iso (which is the exact file in the F8 bittorrent download). I've tried renaming to F-8-i386-DVD.iso to match the format of the name used for the F7 iso image, but that didn't work either.

Cheers,
Stefan

scottro
9th November 2007, 06:08 AM
One thing I found (at some point, and it hasn't been consistent) is that sometimes with an NFS install, I had to give the ISO its own directory. That is, if I had /iso and in there, several different ISO files, it would give me that error you're getting, the directory could not be mounted.

I then created a new directory in iso called fedora and put the DVD iso in there. Then, this time when I did the path it was server:/iso/fedora and it found it. So, that's a bit of a stab in the dark, but ya never know.

skellert
9th November 2007, 06:20 AM
Scottro - thanks for the quick response.

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

I can see on the Alt-F3 log that its trying the new sub-directory. There is only ONE file in this sub-directory and its Fedora-8-i386-DVD.iso

I guess it must be looking for a different filename - but how can I work this out????

Stefan

scottro
9th November 2007, 07:22 AM
Hrrm. Ok, is there any way you can (temporarily) remove kickstart from the equation? That is, just boot from any CD, linux askmethod, choose NFS and give the directory and see if it starts to install? Then, we know we have to look at the kickstart file.

This is, like the other suggestion, somewhat of a stab in the dark. However, it then begins the install, we know that the place to look is at the kickstart file rather than the NFS share.

You haven't gotten so aggravated you forgot to start nfs, have you? It's never happened to me of course, but it errm, uh, yeah--that's it, it happened to a friend of mine. Yup, that's the story. :)

All kidding aside, sometimes, it's some stupid little thing we always do, and simply overlook, such as for some reason, forgetting to start the nfs and friends daemons. (Though from your description, I doubt that's the issue.)

skellert
9th November 2007, 08:19 AM
Good thinking. I burned a rescue CD and booted from it, chose 'install or upgrade', chose the NFS option and away the installation went....

This seems to suggest that the NFS server needs to feed more than the vmlinuz and initrd files from the rescue CD at boot time in order to kick off an NFS installation. I can certainly hear the CDROM whirr up again just after I manually type in the NFS IP address and path name.

So my question then changes.... what other than the kernel and ram image from the rescue disc and the ISO of the installation disc do you need to make available via the network in order do perform a PXE / network installation???

Stefan

brr872002
9th November 2007, 09:21 AM
I've a working NFS-installer for F7 and have today downloaded the F8 ISO files. I can't get NFS installation working.

Here's the steps I've taken...

1) 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 called 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 then 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 then PXE boot the target computer and select the F8 option at the PXE/grub boot prompt

5) The fedora installer starts, I choose my language and TCP config in the first two questions

6) The installer goes searching for an IP address using DHCP

7) It 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

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

The NFS directory in question is readable and mountable by all my other FC7 boxes. A wireshark packet capture shows that the NFS mount from the system undergoing installation is indeed working. However I don't know how to actually see (or know how to look at) the NFS filenames that are being accessed so I can't confirm the installer actually tried to read a file or not.

Does anybody know the filename that the F8 installer goes looking for within the NFS directory??? It seems that it is NOT Fedora-8-i386-DVD.iso (which is the exact file in the F8 bittorrent download). I've tried renaming to F-8-i386-DVD.iso to match the format of the name used for the F7 iso image, but that didn't work either.

Cheers,
Stefan

It seems NFS installation may require installation -tree instead of DVD.iso . System may be searching stage2.img as like in ftp/http install

Try HD install insted of NFS

skellert
9th November 2007, 10:11 AM
It seems NFS installation may require installation -tree instead of DVD.iso. System may be searching stage2.img as like in ftp/http install.

Don't think so. The ISO file is definitely being used for the install when I boot the rescue CD locally and run an NFS install. So I don't think an installation tree is required.

For past versions of fedora, I've not had to put stage2.img onto the network and the documentation doesn't seem to say this should be necessary.... but when in the installation process does stage2.img get pulled in and run? I wonder what would happen if I substituted stage2.img for the initial ramdisk??


Try HD install insted of NFS

I could, but that won't solve my particular need to PXE install a bunch of computers without CD/DVDs ;-)

scottro
9th November 2007, 01:12 PM
No, NFS definitely works with iso files, we do it at work all the time. Since we've narrowed it down to kickstart, I'd try this. (I had other obscure kickstart problems and fixed it this way.)

Temporarily add /tmp to your /etc/exports. Put the kickstart file in /tmp and change its perms to 777. (/tmp is already 777, I mean change ks.cfg to 777).

Now, leaving everything else as is, the ISO where you have it, the kickstart pointing to the ISO as it is, try again, this time, at boot, using the ks=nfs:server_address:/tmp/ks.cfg

(Of course, after moving and exporting /tmp, be sure to restart NFS and make sure that /tmp is listed when you do /usr/sbin/showmount -e)

See if that works. If it does, then you know the problem had to do with some obscure permissions thing. I didn't think permissions were the issue in my case, as everything could access my NFS mounts, but for some reason, the ks.cfg file caused problems. Doing what I just mentioned, putting it in /tmp and giving it 777 perms fixed it. <shrug>.

Worth a shot.

skellert
9th November 2007, 11:28 PM
Scottro,

Thanks for the suggestions again. When the PXE/NFS install first bombed on me, I stopped specifying a kickstart file and have been commencing the '20-questions' process manually. Following your suggestion, kind-of, I went back to my kickstart process - but I always use HTTP kickstart, not nfs.

Here's the modified grub config line (only the addition of the HTTP kickstart file)....

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

Using this, the first few questions about language, keyboard and installation method are avoided - so I am sure that the kickstart file is being read and used, but it still bombs the same way saying "That directory could not be mounted from the server".

Out of frustration, I tried my working F7 installation (to compare) via PXE / NFS using the following grub config....

LABEL F7-auto
KERNEL vmlinuz.F7-rescue
APPEND nfsdir=172.16.1.1:/netboot/pxe initrd=initrd.F7-rescue.img dma ks=http://172.16.1.1/kickstart.cfg method=nfs:172.16.1.1:/nfsroot/images ksdevice=bootif

Lo and behold, the installation proceeds and works. There seems to be a difference between the two however....

With F8 using kickstart, I see the kernel and ram image load, boot and anaconda starts. I see a prompted box saying 'Sending request for IP information for eth0', a second prompter saying 'determining hostname', and then a third saying 'Sending request for IP information for eth0' again, and then it fails with the "That directory could not be mounted from the server".

With F7, the 'Sending request for IP information for eth0' and 'determining hostname' flash very briefly (ie more quickly than with F8) and the reprise of 'Sending request for IP information for eth0' doesn't happen - it gets straight into the installation-proper.

To me, its looking more like a bug or some change in the installation process. What do I try next?

RHamel
9th November 2007, 11:37 PM
What are your firewall settings on your NFS box?

skellert
9th November 2007, 11:54 PM
What are your firewall settings on your NFS box?

I'm running a shorewall firewall. Here's the shorewall macro I'm using to open the NFS ports on the relevant interface...

PARAM - - tcp 111
PARAM - - udp 111
PARAM - - tcp 2049
PARAM - - udp 2049
PARAM - - tcp 4000:4004
PARAM - - udp 4000:4004

Here's the /etc/sysconfig/nfs

STATD_PORT=4000
LOCKD_TCPPORT=4001
LOCKD_UDPPORT=4001
MOUNTD_PORT=4002
RQUOTAD_PORT=4003
STATD_OUTGOING_PORT=4004

Together, this shorewall macro and nfs config file allow the F7 installer I've still got sitting on the machine to proceed fine.

RHamel
10th November 2007, 12:01 AM
My suggestion would be to temporarily allow all traffic to the NFS server, and see if that changes anything.

skellert
10th November 2007, 12:17 AM
My suggestion would be to temporarily allow all traffic to the NFS server, and see if that changes anything.

Arggg. Just tried to disable the firewall via ssh and locked the server ;-)

I had a better idea.... I log all non-conforming packets to a firewall log and other activities in /var/log/messages.

I can see the machine installing F8 ask for an IP address and being allocated an address. The firewall log shows no packets dropped. I did a wireshark trace on the port yesterday and saw that NFS appears to be running normally and that the F8 machine IS connecting successfully to the required NFS directory, even though it reports that it can't.

RHamel
10th November 2007, 12:21 AM
Sorry man, **** happens. Not sure your problems are NFS, but most likely PXE. Are both the DVD and emergency disk ISO's in the share?

RHamel
10th November 2007, 12:25 AM
You probably needed to reboot your firewall anyway. :D

skellert
10th November 2007, 12:27 AM
Sorry man, **** happens.
;-) We're back up again now. My wife was on a VOIP call at the time and wondered what was going on. I think she was talking to nobody for a few minutes ;-)


Not sure your problems are NFS, but most likely PXE. Are both the DVD and emergency disk ISO's in the share?
Both the DVD and rescue CD isos are in the same share.

RHamel
10th November 2007, 12:32 AM
Did you try?


ksdevice=link

RHamel
10th November 2007, 12:33 AM
or


IPAPPEND 2
APPEND ksdevice=bootif

skellert
10th November 2007, 12:38 AM
Did you try?


ksdevice=link

Just tried it. No difference.

So far, I've been trying to get the F8 to install onto two DELL D600 laptops (which work OK with the F7 installer). I'll reboot *this* desktop machine I'm using now and see if the F8 installer will start properly on different hardware.... stay tuned.

RHamel
10th November 2007, 12:43 AM
How about my second suggestion?

skellert
10th November 2007, 12:52 AM
or


IPAPPEND 2
APPEND ksdevice=bootif

Hmmm. Kernel barfed on boot with this option.

I just tried PXE / NFS on my asus P5B motherboard and it fails in exactly the same way as the Dell D600s. It does it **really quickly** by comparison though ;-)

I don't think this is an NFS issue. Its PXE related - because if I boot from CDROM and then point it at the NFS directory, the installation works fine. Its only if I PXE load the kernel and ramdisk rather than load off CDROM that it fails.

Its starting to sound to me like a bug in the rescue CD image

RHamel
10th November 2007, 12:54 AM
I'm out of ideas.

RHamel
10th November 2007, 01:00 AM
According to the installation instructions PXE requires port 69.

skellert
10th November 2007, 01:03 AM
According to the installation instructions PXE requires port 69.
See. You're not out of ideas.

Port 69 is tftp. Its open on my firewall via a TFTP macro I didn't post above and I know that port 69 is in fact working, because PXE wouldn't get past go if 69 wasn't open.

Thanks for the suggestion though.

scottro
10th November 2007, 04:34 AM
I'm afraid I ran out of ideas several posts ago. I should have mentioned that my suggestions come from experience with CentOS and Fedora 4 (some legacy servers) as far as kickstart.

For what it's worth--I *was* able to install via NFS (using the askmethod and going through a normal install) with Fedora 8, but haven't done anything with Fedora 8 and kickstart.

skellert
10th November 2007, 05:15 AM
When you say you WERE able to do an F8 NFS installation, do you mean using PXE boot (which is what is failing for me) or by booting from the rescue CD and choosing an NFS installation (which works for me)??

fc8user
11th November 2007, 12:31 PM
I've just tried pxe and nfs too. It's broken. Had to use pxe and http instead.

Everything looks fine in wireshark, it mounts the directory successfully, but just doesn't realise that it has done. It behaves exactly the same if I specify a non-exported mount point that returns a mount failure. Exact same pxe configuration works fine with other FC versions.

fc8user
11th November 2007, 02:05 PM
Hmm, it works if I don't specify an installation method, but only specify a ks file:

label linux
kernel fc8vmlinuz
append initrd=fc8initrd.img ks=nfs:172.31.21.1:/build/fc8.cfg

scottro
11th November 2007, 02:55 PM
skellert, sorry to take so long to answer--no, I used a CD, not PXE.

skellert
11th November 2007, 09:47 PM
Hmm, it works if I don't specify an installation method, but only specify a ks file:

label linux
kernel fc8vmlinuz
append initrd=fc8initrd.img ks=nfs:172.31.21.1:/build/fc8.cfg
Thanks for the tip. I'll report the bug.

Out of interest, this worked

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
but this didn't (i.e. with nfsdir specified as such)

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

hokousha
15th November 2007, 12:15 PM
Hmmmm... For what it's worth, I'm having a similar problem. No PXE involved, and all is fine up through entering the NFS server address and directory. After about 10 seconds I get "That directory does not seem to contain a Fedora installation tree."

The message log on the server shows a successful mount of the share directory. What I see in the ALT-F3 screen is interesting, though:

INFO : mounting nfs path 192.168.0.5:/opt/export
WARNING : unable to access /mnt/source/images/stage2.img

This seems strange since I used exactly the same ISO file (burned onto a DVD) to upgrade the NFS server itself. As the original poster mentioned, I've done this with previous Fedora releases and had no problems.

Running tcpdump on UDP 2049 I see the NFS readdirplus command and a reply from the server listing the ISO file (Fedora-8-i386-DVD.iso). There are no other files at all in /opt/export.

Any ideas?

Tim

skellert
15th November 2007, 10:30 PM
I reported this 'bug' to bugzilla and, after some back and forth, worked out that my use of 'nfsdir' wasn't supported and was the cause of the trouble I was seeing. (i.e. something must have changed between F7 and F8 that alters behavior if nfsdir is specified)

There's a list of all supported kernel options here which I'd not been aware about.
http://fedoraproject.org/wiki/Anaconda/Options

I suggested that some additional information be added to the alternate installation methods section of the fedora installation manual outlining the basic process for getting a PXE boot server running andsome basic information about these boot options.

For the record, here's the basic process...

1) You need to get the following services working on the boot server: DHCP server, TFTP, NFS

2) Set up your DHCP server to feed out boot information to clients. You do this by (eg) using 'next-server' and 'filename' fields that specify the IP address of the boot server and the filename of the boot file.

3) In the /tftpboot directory (or wherever your tftp server is going to go looking for files), you need to place the kernel and ramdisk image files that you've taken from your fedora rescue disc.

4) You need a working grub / pxe binary that will be tftped to your terminals. I fetched mine from knoppix by first starting a knoppix terminal server, then fetching the pxelinux.0 binary - which is the grub bootloader and then creating a /tftpboot/pxelinux.cfg/default grub config pointing to the fedora kernel and ram images.

5) Finally, place the fedora installation iso into an accessible nfs directory. For a manually configured installation, use the 'method=nfs' kernel parameter to point to the directory that contains the iso. If you want to specify an anaconda kickstart file, use the 'ks=nfs' directive to point to the file itself. If you put the kickstart file in the same place as the iso, you only need to point to the kickstart file and the iso will be discovered automagically.

Lastly, the easiest way to generate a kickstart file is to run an installation manually, then copy the kickstart configuration file out of the /root directory in the new fedora system to use during subsequent installations. You'll need to modify this kickstart file a little, for example remove the 'cdrom' directive (if you installed from cdrom) and manipulate the hard drive partitioning section to suit your requirements.

A final warning: beware with partitioning using your kickstart file if you have more than one hard drive (or partition) on the target system and you would like to keep some drives (or partitions) intact without destroying data. The only reliable way I've found to deal with this is by physically removing the drive I want to preserve prior to installation!

l82CR38
28th November 2007, 06:14 AM
Try copying the contents of the ISO into a folder like Fedora8, share it with NFS, then specify that NFS share path during the installation. It should work then. The folder and ISO disk usage are about the same. I did that same process for FC6 and Fedora7 and it worked fine.