Bug 21211 - PXE Boot on Server with Two NICs Requires User Intervention
Summary: PXE Boot on Server with Two NICs Requires User Intervention
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: anaconda   
(Show other bugs)
Version: 7.0
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Erik Troan
QA Contact: Brock Organ
Depends On:
TreeView+ depends on / blocked
Reported: 2000-11-22 00:03 UTC by Mark Skarpness
Modified: 2007-03-27 03:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2000-12-06 21:41:22 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Mark Skarpness 2000-11-22 00:03:00 UTC
The basic problem presented with headless (i.e. PXE boot) installation of 
RedHat 7.0 on any platform with multiple NICs is due to a design change in 
the Anaconda installer.  

The installer now checks for multiple network devices and, if more than 
one network device is found, it pops up a requestor (on the system being 
installed) asking which network device you would like to install through.  
Naturally, if this happens on a client system being installed with no 
keyboard, mouse or video, the install hangs with no clue to the user of 
what is happening.  

This check is done before the kickstart configuration file is obtained 
through the network connection, therfore there are no kickstart 
switches/options that would help overcome this problem.  The offending 
code is located in the Anaconda source in the "loader.c" file.  This code 
is compiled into the pxeboot/initrd image and causes this issue.  

Specifically, the function "ensureNetDevice" in the file "loader.c" has 
the following code which causes the problem:
    deviceNum = 0;
    rc = newtWinMenu(_("Networking Device"), 
		     _("You have multiple network devices on this system. "
		       "Which would you like to install through?"), 40, 
10, 10, 
		     deviceNums < 6 ? deviceNums : 6, devices,
		     &deviceNum, _("OK"), _("Back"), NULL);
    if (rc == 2)
	return LOADER_BACK;

Comment 1 Michael Fulbright 2000-11-22 17:24:36 UTC
Assigning to developer.

Comment 2 Erik Troan 2000-11-22 17:29:29 UTC
You can pass ksdevice=eth0 (for example) as a kernel parameter (same place you
pass "ks") to tell anaconda which device to use.

Comment 3 Mark Skarpness 2000-12-01 21:06:38 UTC
The suggested kernel parameter works fine.  However, the proposed solution 
breaks the headless installation because it still requires a monitor and 
keyboard for the end-user to input kernel parameters for each PXE client(s).
By definition, "headless" means no monitor, keyboard or mouse ... just plug in 
an RJ45 and power on the system and grab a cup of coffee.  That's how headless 
works on Red Hat 6.1, Red Hat 6.2 and Red Hat 6.2 SBE2.

Is there a way to pass the kernel paramter during PXE boot to accomplish a 
truly headless boot?

Comment 4 Erik Troan 2000-12-06 21:41:19 UTC
Put the ksdevice=eth0 bit in the same place you're putting the main 'ks'
argument. You can specify this right in the syslinux.cfg file, or the pxe

Note You need to log in before you can comment on or make changes to this bug.