LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 06-04-2010, 02:21 PM   #1
yotamhc
LQ Newbie
 
Registered: Jun 2010
Posts: 2

Rep: Reputation: 0
Unhappy PXE diskless boot fails on ethernet configuration


Hi,

I am trying to setup a server for a diskless boot of a computer class (with ubuntu)
I followed the guidelines in https://help.ubuntu.com/community/DisklessUbuntuHowto

I have two computers: one is the server I installed and the other is my macbook on which I run a virtual machine (using VMWare fusion) that does the net boot. I have additional VM on it with ubuntu 10.4 installed on it for other tests. The server runs ubuntu 10.4 server and the client image for network boot is ubuntu 10.4 desktop that I previously prepared as explained in the link above on a VM on my laptop.

The problem is that after loading the kernel and initrd (and outputting many things that I can't read because it happens too fast) I get the following error:
Code:
IP-Config: eth0 hardware address 00:0c:29:79:86:c1 mtu 1500 DHCP
[    2.775718] eth0: link up
IP-Config: no response after 60 secs - giving up
/init: .: line 3: can't open /tmp/net-eth0.conf
[   69.073555] Kernel panic- not syncing" Attempted to kill init!
[   69.073859] Pid: 1, comm: init Not tainted 2.6.32-22-generic #35-Ubuntu
< call trace - if it can help I can grab a screenshot >
At first I thought it means that the NFS is not accessible but I was able to mount it and access its files from the other VM so it is not the problem.

I have no idea what this error practically means, I saw in some google hits that it means that the network driver is missing. However, I created the initrd file on the same VM that now tries to boot and as explained in the tutorial. I tried both ways (mkinitramfs and update-initramfs) with no success.

Anyone can help? I'm desperate...

Thanks!
Yotam
 
Old 06-05-2010, 06:29 AM   #2
hda7
Member
 
Registered: May 2009
Distribution: Debian wheezy
Posts: 252

Rep: Reputation: 31
Quote:
Originally Posted by yotamhc View Post
/init: .: line 3: can't open /tmp/net-eth0.conf
Looks like a file /tmp/net-eth0.conf is supposed to exists at some point in the boot process and isn't there. I'm not familiar with the ubuntu boot process, so I can't tell you much more. Try scanning through the startup files and see if you con find what's supposed to create it.
 
Old 06-05-2010, 06:37 AM   #3
yotamhc
LQ Newbie
 
Registered: Jun 2010
Posts: 2

Original Poster
Rep: Reputation: 0
Thanks
Actually I recently found that there is some program called 'ipconfig' that tries to re-acquire DHCP in this specific point and for some reason it sends requests that the server ignores. So it waits 60 seconds and fails.

This is the DHCP request sent initially on PXE boot:
Code:
03:32:00.255217 IP (tos 0x0, ttl 20, id 1, offset 0, flags [none], proto UDP (17), length 576)
    0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:0c:29:79:86:c1 (oui Unknown), length 548, xid 0x2a7986c1, secs 4, Flags [Broadcast] (0x8000)
      Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
And this is the answer from server:
Code:
03:32:00.317616 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
    yotam-server.local.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 300, xid 0x2a7986c1, secs 4, Flags [Broadcast] (0x8000)
      Your-IP 192.168.1.3
      Server-IP yotam-server.local
      Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
Now, this is the request ipconfig sends later that gets no answer:
Code:
03:32:19.957269 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 299)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [no cksum] BOOTP/DHCP, Request from 00:0c:29:79:86:c1 (oui Unknown), length 271, xid 0xb4b70b15, secs 1, Flags [none] (0x0000)
      Client-Ethernet-Address 00:0c:29:79:86:c1 (oui Unknown) [|bootp]
I managed to partially overcome it by setting a different PXE config file for each client, in which I set:
Code:
APPEND root=/dev/nfs initrd=initrd.img-2.6.32-22-generic nfsroot=192.168.1.115:/nfsroot ip=192.168.1.3:192.168.1.115:192.168.1.1:255.255.255.0:::none rw
(in addition to KERNEL) - this is instead of setting 'ip=dhcp'.
This way clients do not wait for DHCP in this stage and continue to boot normally.

However, I would like to avoid configuring each client separately...
 
Old 10-11-2011, 11:42 PM   #4
deadsamurai
LQ Newbie
 
Registered: Oct 2011
Posts: 1

Rep: Reputation: Disabled
I see the same issue. One system successfully loads diskless client and another fails because of timeout on IP-Config. DHCP server doesn't see DHCP request. Did you ever find out the answer?

Thank you
 
Old 10-14-2018, 11:09 PM   #5
Qchan
LQ Newbie
 
Registered: Oct 2018
Posts: 2

Rep: Reputation: Disabled
So, here's the log and short of it...

When booting up a PXE diskless client, if that client happens to have multiple networking interfaces, the kernel may either crash into a kernel panic, or IP-Config will hang.

The reason this happens is because there's a bug in IP-Config and nobody really cares to fix it. Essentially, IP-Config is hitting the DHCP server too quickly and repetitively. Because of that, the DHCP doesn't respond the second (or third) time the IP-Config hits it. Therefore, IP-Config is unable to resolve a DHCP and without an IP, the root directory can't be set up and then the kernel crashes.

The work around is this (if you're using iPXE):

Code:
kernel ${base-url}vmlinuz-4.4.0-43-generic boot=nfs netboot=nfs quiet splash panic=30 nfsroot=10.0.0.1/root network ksdevice=bootif BOOTIF=${netX/mac} ip=${ip}:192.168.1.1:192.168.1.1:255.255.255.0:::none
initrd ${base-url}initrd.img-4.4.0-43-generic
If you're using regular PXE:

Code:
KERNEL vmlinuz-4.4.0-43-generic
IPAPPEND 2
APPEND vga=794 boot=nfs root=/dev/nfs initrd=initrd.img-4.4.0-43-generic quiet splash panic=30 -- nfsroot=192.168.1.1:/root ip=192.168.1.2:192.168.1.1:192.168.1.1:255.255.255.0:::none
I don't expect that your entries will look exactly like this. These are just __examples__. So, edit yours accordingly.

1) You need to set a static IP address directly in the kernel params (or the append). If you don't, IP-Config is going to try to run DHCP and __you don't want that__.

2) You want to force PXE to only query from one NIC interface and not from all of them. To force it to only use one interface, you use "network ksdevice=bootif BOOTIF=${netX/mac}" in iPXE and you use "IPAPPEND 2" in regular PXE. Write it exactly as shown above.

That's it! Two easy steps and you'll be on your way.

The BOOTIF forces PXE to only use the primary interface that the PXE was loaded on. It'll ignore all the other interfaces. IPAPPEND does the exact same thing.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Fedora diskless workstation - boot via PXE always fails kbs1 Linux - Server 12 05-15-2010 08:35 AM
Help please! Installing Slackware 12.2 by PXE boot fails! beyond291 Slackware 4 01-15-2009 08:21 AM
mount NFS fails on successful PXE boot ale99 Linux - Networking 0 11-03-2008 12:16 PM
how to setup thin client just for telnet or ssh client use using boot diskless PXE. hocheetiong Linux - Newbie 3 05-21-2008 07:02 PM
Howto: Diskless client Linux-machine with extra old AMD <300Mhz, without PXE&USB boot frenchn00b Linux - General 1 11-13-2007 04:34 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 01:53 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration