PDA

View Full Version : Error trying to boot knoppix image through NFS over PXE



cpp_is_fun
03-08-2008, 11:48 PM
I'm trying to just load the standalone knoppix over PXE so that I can use it as a thin terminal server and I've gotten DHCP/PXE to work to bring up the pxelinux.0 image and I'm able to boot the vmlinuz file thats on the isolinux directory of the knoppix cd, but when it tries to go out to the NFS Server which is the same as the tftp server, it fails to mount to the media. I can't see anything wrong in the /var/log/messages and I'm able to mount this NFS share through another linux machine. I was wondering if anyone has ran into this issue before, here are my current configurations:

/etc/exports


/knoppix *(async,no_root_squash,subtree_check)


/knoppix (nfs share) holds the contents from KNOPPIX directory from the ISO Image

pxe configuration (default file)



LABEL boot
KERNEL linux
append secure nfsdir=192.168.0.2:/knoppix nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=poweroff nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix


I'm using KNOPPIX_V5.1.1CD-2007-01-04-EN.iso with the miniroot.gz for Knoppix TerminalServer Client from http://knoppix.manty.net/

Like I said before, I'm able to pxeboot from another server, Knoppix kernel/ramdisk launches but when it tries to mount the NFS share, it just says failed and asks to try again. It's able to obtain an IP Address before it tries to mount and on the NFS Server, /var/log/messages sees the request with "authenticated mount request from 192.168.0.3:996 for /knoppix (/knoppix)"

Any help would be much appreciated, I think I'm close, but not sure what I'm missing

vukoxx
03-11-2008, 05:37 PM
try to boot /tftpboot/vmlinuz instead of /boot/vmlinuz...
this could be a solution if your error message tells something like unknown filesystem when "mounting root-fs on nfs"
boot in verbose mode (remove kernel-option "quiet" when booting) and post your exact error-message (Kernel Panik?)

cpp_is_fun
03-12-2008, 01:50 AM
Actually you're referring to the Knoppix ramdisk/kernel section that actually boots fine, its after it obtains a DHCP address from within the Terminal Server Client it's unable to mount to the NFS Server. I've found other posts on the internet stating similar issues, but I have not seen a valid solution. The only case that seems to make the most sense is the miniroot.gz is unable to mount to NFS because it doesn't have the components to which was discovered at:

http://www.matt-j.co.uk/page/2/

Even with this individual's solution, I was still unable to mount to the NFS Server, I assume he's on the right track that the default Knoopix kernel can not mount NFS with any parameters passed to it, but following his procedures of loading up the Terminal Server on the knoppix release and extracting the miniroot.gz and vmlinuz kernel still gave me the same error. I'm sure this is something that many people are using, but I've yet to see a response on how to remediate the issue. [/quote]

vukoxx
03-12-2008, 11:32 PM
Well, you're using koppix 5.1.1
Latest problems i had where with knoppix 5.3. The pxe-client doesn't boot because apparently it gets the "servers" kernel (the knoppix-one when booting to knoppix-os, found in /boot).
In my case, and if i'm right, this is a bug in knoppix 5.3 (unlikely, but maybe, in older versions as well).

To pxe-boot a client, an pxe-dedicated kernel is needed. Some options, e.g. "Root-on-nfs", must to be chosen built-in (not as module) when compiling the pxe-kernel. (When i created initrds for such kernels, i had to adivse yaird to create pxe-capable too.)

1. When i booted with a bad initrd i got an error message telling the filesystem is not been recognized. It tried to mount as ext, raiser,... but not nfs... (same error message as with knoppix 5.3)

2. An other error i've noticed in my pxe-survey so far was that sometimes the client hangs with a message like "Connection ...(timed out or something about response or so)". But then the 2nd try to boot works :)

3. And i hardly can remember strange messages about nfsmount: "Permission not ..." - long ago

I still don't know YOUR error message. Did you boot with kernel-boot-option: verbose? (-> append secure nfsdir=192.168.0.2:/knoppix nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=poweroff nomce vga=791 initrd=miniroot.gz ***quiet***verbose*** BOOT_IMAGE=knoppix )
If you post your error message literally, i would try to reconstruct your issue.

cpp_is_fun
03-13-2008, 01:43 AM
Thanks for the response.

1. I don't have that issue, as I'm using the kernel thats provided after mounting the primary knoppix terminal server, which is what that linked had provided

2. I never saw a connection timeout and if this works for your second boot, this is something I've seen with network booting and specifically kickstarts where spanning tree port fast is not enabled on the switchport and the port shuts off before you can get your tcp/ip stack going, but if you try again it'll work. Enabling STP will fix that issue, it was a known issue in RHEL3

3. I'm able to mount to the NFS Server from another linux server and from the NFS Server, /var/log/messages says its a success and I don't get any permission errors


Here is the error that I see on my PXE boot test, it's able to get a DHCP address after boot the ramdisk/kernel provided from the /tftproot when I started the Knoppix Terminal Server. You can see it's able to load up the NIC and then start portmapper, the issue is again, it's unable to mount to the NFS Server. It's good on both sides, but for some reason it fails.


http://img141.imageshack.us/my.php?image=knoppixerrortm6.jpg

vukoxx
03-13-2008, 02:09 PM
ok, thank you for the hint on my "connection reject errors"!

maybe you should check your network configuration on the terminalserver:

the pxe-client obtains an ip within 172.x.x.x range
but then it should mount root from a server in 192.x.x.x range
(seen in your screenshot)

did you start terminalserver regularely from k-menu, maybe 2nd try without modifiing standard-options?

vukoxx
03-13-2008, 02:29 PM
hmm, i think you just changed from 192 to 172 while doing some tests...and i was wrong in my last post... and your conf is not bad in this matter.
well, i've just started downloading KNOPPIX_V5.1.1CD-2007-01-04-EN.iso, if i have enough time i'll try this in the evening.

Are you booting the knoppix-terminalserver and the pxe-client within VMware?
If there's some more of your configuration i should reconstruct, please let me know.

btw i had a look at mantly miniroot.gz, isn't it needed to replace "nfs-root" with "smb-root"? if so, you should forget mantly's initrd and leave the servers config pointing to default nfs-pxe-capable initrd in /tftpboot.

cpp_is_fun
03-13-2008, 03:37 PM
I've tried this with both 4.2.0 and 5.1.1. Also no, I'm not booting this through knoppix-terminalserver. What I did on a separate Virtual Machine was boot up knoppix-terminalserver and configure it as if I was and it dumps a copy of the vmlinuz + miniroot.gz that's able to boot via NFS. I then scp those two files over to my real TFTP Server. Technically, this should work from the guide I had pasted back 2 posts ago, since the normal server vmlinuz + miniroot can not mount an NFS share.

Also, no I'm not using "samba" so I would not be using "smb-root" , I'm using and NFS Server, so it should be either "nfsroot" or "nfsdir", I'm not exactly sure, but these are the two options that float around on the Internet when googling for PXE Knoppix. Remember, I can boot everything up, it just won't mount that darn NFS Server and there aren't any useful messages stating the reason.

vukoxx
03-19-2008, 12:05 PM
Sorry i didn't answer since last weekend,
i found some old pxe-equipment for knoppix on my own boot-server, these were the knoppix-terminalserver kernel/initrd and pxelinux-configuration files from a formally running knoppix4.0.2-dvd with activated terminalserver, found in its /tftpboot.
Using this old files on my server, it was enough to loop-mount a newly downloaded knoppix-4.0.2-dvd.img and export it through the nfs-server, to bring it up again in my local network.
And now it really works, again. (v4.0.2)
I remember i've tried this later with 5.x versions and some failed because obviously they had no nfs-root-capable kernel in /tftpboot. Maybe i'm wrong, but for some versions my method worked and for some it did not.
In your last posting you wrote about versions 4.2.0 and 5.1.1, sure you ment 4.0.2 and 5.1.1...
So today or tomorrow i'll try to get a 5.x version running.

If you even couldn't get 4.0.2 working, let's start with this one, i used the following configuration:

in dhcpd.conf:
next-server 192.168.77.252; # my all-in-one server
filename "/tftpboot/pxegrub"; # common bootfile
option grubconf "/tftpboot/menu.lst"; # to autoload common grubmenu

since i use a modified endian firewall i can easily add fixed clients through endian-webinterface with:
custom filename "/tftpboot/pxegrub_splash"; # bootfile for some computers to provide bootmenu with nice splashimages (found in pxes, http://2x.com/)
custom grubconf "/tftpboot/menu_laptop.lst"; # to autoload a dedicated grub/menu.lst that fastboots into a specified system, for example

i think this were all dhcp-configs...

in fstab:
/file/vuko/linux/distris/knoppix402de.iso /srv/iso/knoppix402de/ iso9660 loop,ro

in exports:
/srv/iso/knoppix402de *(ro,sync,no_root_squash) # i didn't check for better nfsoptions...

that's all?! i think so...
afaik the difference between de and en versions are only bootoptions, but if you want i'll try the same with 4.0.2_en

if you really have no chance to pxe-boot your knoppix, we could also use vnc-desk to follow the other's bootprocess...
o, and so far i used virtualbox instead of vmware as you do, to test the bootserver. boot fails because of unknown virt. amd-lance-nic...
shall i install vmware? i think so...

and are you really using the miniroot.gz for Knoppix TerminalServer Client from http://knoppix.manty.net/
as you wrote before? it seems to be the smb replacement for nfs-root! Don't use it for our simple linux-only configuration[/b]

vukoxx
03-19-2008, 12:10 PM
i've forgotten to paste grub's menu.lst, i'm working on it, not all of the entries are working!
/tftpboot/menulinuxlive.lst, look for knoppix4.0.2

default 0
#timeout 5
foreground FFF536
background 333333
#splashimage (nd)/tftpboot/pxes2-splash.xpm
splashimage (nd)/tftpboot/splash/guitar.xpm.gz
#splashimage (nd)/tftpboot/robin.xpm.gz
title + linux-Livesysteme (einklappen)
configfile (nd)/tftpboot/menuboot.lst

title |- Knoppix 5.3
kernel (nd)/tftpboot/knoppix53/vmlinuz nfsdir=192.168.77.252:/srv/iso/knoppix53 nodhcp lang=de ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 quiet BOOT_IMAGE=knoppix
initrd (nd)/tftpboot/knoppix53/miniroot.gz
title |- Knoppix 5.01 DVD
kernel (nd)/tftpboot/knoppix501/vmlinuz nfsdir=192.168.77.252:/srv/iso/knoppix501 nodhcp lang=de ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal splash quiet BOOT_IMAGE=knoppix
initrd (nd)/tftpboot/knoppix501/miniroot.gz
title |- Knoppix 4.02 DVD
kernel (nd)/tftpboot/knoppix402de/vmlinuz nfsdir=192.168.77.252:/srv/iso/knoppix402de nodhcp lang=de ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=795 verbose BOOT_IMAGE=knoppix
initrd (nd)/tftpboot/knoppix402de/miniroot.gz
title |- Debian Rescue System 3.1
kernel (nd)/debian/2.6/linux vga=normal ramdisk_size=10275 root=/dev/ram rw rescue/enable=true
initrd (nd)/debian/2.6/initrd.gz
title |- SuSE Rescue System
kernel (nd)/linux splash=silent rescue=1 showopts
initrd (nd)/initrd
title |- Movix2 0.3.1rc2
kernel (nd)/tftpboot/movix2/isolinux/kernel/vmlinuz ramdisk_size=13000 rw root=/dev/ram0 max_loop=16 LABEL=MoviX2 video=vesa:ywrap,mtrr vga=0x317 MEDIA=net MS=192.168.77.254 MD=/myconf/boot/movix2
initrd (nd)/tftpboot/movix2/isolinux/initrd.gz
title `- Movix 0.8.3
kernel (nd)/tftpboot/movix/isolinux/kernel/vmlinuz ramdisk_size=13000 rw root=/dev/ram0 LABEL=MoviX video=vesa:ywrap,mtrr vga=0x314 MEDIA=net MS=192.168.77.254 MD=/myconf/boot/movix
initrd (nd)/tftpboot/movix/isolinux/initrd.gz

title + Spezielle Systeme
configfile (nd)/tftpboot/menuboot.lst

title |- Desk -> Debian
kernel (nd)/tftpboot/desk/vmlinuz-2.6.21-desk-nfs root=/dev/nfs vga=0x0318 nfsroot=192.168.77.252:/file/nfsroot/desk/debian dhcp ip=192.168.77.1:192.168.77.252:192.168.77.254:255. 255.255.0:desk
initrd (nd)/tftpboot/desk/initrd.img-2.6.21-desk-nfs

title |- TV -> MythTV
kernel (nd)/tftpboot/nfsboot/bzImage root=/dev/nfs nfsroot=192.168.77.250:/file/tv dhcp ip=192.168.77.8

title |- Tire -> Debian
kernel (nd)/tftpboot/tire/vmlinuz-2.6.23.14-tire-nfs root=/dev/nfs vga=0x0318 nfsroot=192.168.77.252:/file/nfsroot/tire/debian dhcp ip=192.168.77.7:192.168.77.252:192.168.77.254:255. 255.255.0:tire
initrd (nd)/tftpboot/tire/initrd.img-2.6.23.14-tire-nfs

title |- Tire -> Debian KDE4
kernel (nd)/tftpboot/tire/vmlinuz-2.6.23.14-tire-nfs root=/dev/nfs vga=0x0318 nfsroot=192.168.77.252:/file/nfsroot/tire/rescue dhcp ip=192.168.77.7:192.168.77.252:192.168.77.254:255. 255.255.0:tire
initrd (nd)/tftpboot/tire/initrd.img-2.6.23.14-tire-nfs

title |- kboot -> testing
kernel (nd)/tftpboot/kboot/bzImage root=/dev/nfs nfsroot=192.168.77.250:/tftpboot/kboot dhcp ip=192.168.77.7
initrd (nd)/tftpboot/kboot/kboot-root.cpio.gz

title |- Tire -> Debian old
kernel (nd)/tftpboot/tire/vmlinuz-2.6.22-tire-nfsroot root=/dev/nfs nfsroot=192.168.77.252:/file/nfsboot dhcp ip=192.168.77.7 vga=0x0318

title + os-Installation
configfile (nd)/tftpboot/menuinstall.lst

title + Hardware-Diagnose
configfile (nd)/tftpboot/menudiag.lst

title dieser PC
configfile (nd)/tftpboot/menupc.lst

title alle
configfile (nd)/tftpboot/menualle.lst

vukoxx
03-19-2008, 12:19 PM
ehm, pxegrub is a bit different from pxelinux, but sure you can easily adapt its config, and it shouldn't affect to nfs-boot process at all

Matt-j
04-21-2008, 09:29 PM
Hey,

Did you guy's ever get this sorted out?
cpp_isfun said my solution at http://www.matt-j.co.uk/2007/10/27/pictureframe-pc/ did not work,
however it seemed to work for me so maybe comparing configs and boot line params would be a good idea.

Anyway if you need a hand let me know!
//Matt J