Bug 209284 - ksdevice=bootif option broken
ksdevice=bootif option broken
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: anaconda (Show other bugs)
5.0
All Linux
high Severity high
: ---
: ---
Assigned To: David Cantrell
: OtherQA, Regression
: 229627 (view as bug list)
Depends On:
Blocks: 197865 227613
  Show dependency treegraph
 
Reported: 2006-10-04 06:56 EDT by Terje Rosten
Modified: 2010-10-22 02:15 EDT (History)
8 users (show)

See Also:
Fixed In Version: RHBA-2007-0644
Doc Type: Bug Fix
Doc Text:
When booting Anaconda with PXE using the parameter ksdevice=bootif, you will still be prompted for the ethernet interface to use during installation. If only one ethernet device is plugged in, use the parameter ksdevice=link instead. Alternatively, you can also specify the interface manually.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-11-07 12:18:15 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch to loader in RHEL-5 to handle BOOTIF args correctly (1.24 KB, patch)
2007-03-08 17:07 EST, David Cantrell
no flags Details | Diff
Updated anaconda SRPM for RHEL-5-Client (3.78 MB, application/x-rpm)
2007-03-09 12:10 EST, David Cantrell
no flags Details
Updated anaconda SRPM for RHEL-5-Server (3.78 MB, application/x-rpm)
2007-03-09 12:12 EST, David Cantrell
no flags Details
New netboot initrd.img for i386 on RHEL-5 Client (4.69 MB, application/octet-stream)
2007-03-09 12:13 EST, David Cantrell
no flags Details
New netboot initrd.img for x86_64 on RHEL-5 Client (4.90 MB, application/octet-stream)
2007-03-09 12:15 EST, David Cantrell
no flags Details
New netboot initrd.img for i386 on RHEL-5 Server (4.69 MB, application/octet-stream)
2007-03-09 12:16 EST, David Cantrell
no flags Details
New netboot initrd.img for ia64 on RHEL-5 Server (8.13 MB, application/octet-stream)
2007-03-09 12:17 EST, David Cantrell
no flags Details
New netboot ramdisk.image.gz for ppc on RHEL-5 Server (5.57 MB, application/x-gzip)
2007-03-09 12:18 EST, David Cantrell
no flags Details
New netboot initrd.img for s390x on RHEL-5 Server (11.70 MB, application/octet-stream)
2007-03-09 12:22 EST, David Cantrell
no flags Details
New netboot initrd.img for x86_64 on RHEL-5 Server (4.90 MB, application/octet-stream)
2007-03-09 12:23 EST, David Cantrell
no flags Details

  None (edit)
Description Terje Rosten 2006-10-04 06:56:12 EDT
Description of problem:

The kickstart option ksdevice=bootif is not working.

Version-Release number of selected component (if applicable):

Install image of RHEL5 Beta 1

How reproducible:

Use kickstart to install a server with multiple network cards,
use the pxelinux "ipappend 2" feature and ksdevice=bootif kickstart
option to let kickstart pick up the correct network interface.

Actual results:

kickstart stops and asks for which network interface to use.

Expected results:

kickstart to find correct network interface and continue with no stop.


Additional info:

Identical setup is working just fine with RHEL4 Update 4.
Comment 1 Terje Rosten 2006-10-13 07:46:06 EDT
More info:

 o works in RHEL 4 Update 4, here eth1 is picked up by ksdevice=bootif, 
   kickstart file has: network --device=eth0 ...

 o does not work in RHEL 3 Update 8.

 o ksdevice=link works in RHEL 3 Update 8, kickstart file has:
   network --device=eth0 ...

 o ksdevice=link don't work in RHEL 5 Beta 1 when network section 
   in kickstart file has --device=eth0 while link device during install
   is eth1. Seems like when the installler get --device=eth0 from kickstart
   file it try to set it up eth0 *during* install, but eth1 already has that IP 
   address and routes etc becomes confused.
Comment 2 Fabio Olive Leite 2006-10-16 03:22:29 EDT
Setting flags...
Comment 3 RHEL Product and Program Management 2006-10-26 15:32:40 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.
Comment 4 Daniel Riek 2007-01-04 08:59:05 EST
As far as I can see this is fixed. Please re-test with Beta2
Comment 6 Terje Rosten 2007-01-05 07:14:37 EST
> As far as I can see this is fixed. Please re-test with Beta2

Still not working, hardware is SunFire V20z with two onboard broadcom nics and
a extra Intel nic (PCI).

The pxeboot is from first Broadcom nic with MAC: 0:9:3d:13:50:d6.

Logging from console:

PXELINUX 3.31 0x4518b206  Copyright (C) 1994-2005 H. Peter Anvin                
UNDI data segment at:   00090590                                                
UNDI data segment size: 4CA0                                                    
UNDI code segment size: 4CFC                                                    
UNDI code segment size: 4CFC                                                    
PXE entry point found (we hope) ootdata ok (command line is
initrd=initrd.img-rhas5.0b2-x86_64 ksdevice=bootif noipv6 network
ks=http://webserver/ks/         
console=tty0 console=ttyS0,9600n8 root=/dev/ram0 ide0=noprobe ide1=noprobe
BOOT_IMAGE=vmlinuz-rhas5.0b2-x86_64 BOOTIF=01-00-09-3d-13-50-d6 )              
       
Linux version 2.6.18-1.2747.el5 (brewbuilder@hs20-bc1-6.build.redhat.com) (gcc
ve        
rsion 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Thu Nov 9 18:52:11 EST 2006     
BIOS-provided physical RAM map:4..................................              
 BIOS-e820: 0000000000000000 - 0000000000099c00 (usable)........................
 BIOS-e820: 0000000000099c00 - 00000000000a0000 (reserved)                      
 BIOS-e820: 00000000000d2000 - 0000000000100000 (reserved)                      
 BIOS-e820: 0000000000100000 - 000000007ff70000 (usable)
 BIOS-e820: 000000007ff70000 - 000000007ff77000 (ACPI data)
 BIOS-e820: 000000007ff77000 - 000000007ff80000 (ACPI NVS)
 BIOS-e820: 000000007ff80000 - 0000000080000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fec00400 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
DMI present.
SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 1 -> APIC 1 -> Node 1
SRAT: Node 0 PXM 0 0-a0000
SRAT: Node 0 PXM 0 0-40000000
SRAT: Node 1 PXM 1 40000000-80000000
Bootmem setup node 0 0000000000000000-0000000040000000
Bootmem setup node 1 0000000040000000-000000007ff70000
ACPI: PM-Timer IO Port: 0x8008
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:5 APIC version 16
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1 15:5 APIC version 16
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 17, address 0xfec00000, GSI 0-23
ACPI: IOAPIC (id[0x03] address[0xfd000000] gsi_base[24])
IOAPIC[1]: apic_id 3, version 17, address 0xfd000000, GSI 24-27
ACPI: IOAPIC (id[0x04] address[0xfd001000] gsi_base[28])
IOAPIC[2]: apic_id 4, version 17, address 0xfd001000, GSI 28-31
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
Setting APIC routing to physical flat
ACPI: HPET id: 0x102282a0 base: 0xfed00000
Using ACPI (MADT) for SMP configuration information
Nosave address range: 0000000000099000 - 000000000009a000
Nosave address range: 000000000009a000 - 00000000000a0000
Nosave address range: 00000000000a0000 - 00000000000d2000
Nosave address range: 00000000000d2000 - 0000000000100000
Allocating PCI resources starting at 88000000 (gap: 80000000:7ec00000)
SMP: Allowing 2 CPUs, 0 hotplug CPUs
Built 2 zonelists.  Total pages: 515540
Kernel command line: initrd=initrd.img-rhas5.0b2-x86_64 ksdevice=bootif noipv6
ne        
twork ks=http://webserver/ks/ console=tty0 console=ttyS0,9600n8 root=/        
dev/ram0 ide0=noprobe ide1=noprobe BOOT_IMAGE=vmlinuz-rhas5.0b2-x86_64
BOOTIF=01-00-09-3d-13-50-d6 
ide_setup: ide0=noprobe
ide_setup: ide1=noprobe
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 32768 bytes)
start_kernel(): bug: interrupts were enabled early
Console: colour VGA+ 80x25

[snip]

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ÿÿserial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ÁÁéÁéÑÑåMÁ…с%½=Áá͙ၡ¥ÉŁõÑ¥¥Í…ÅÙÕÕÁ5)ÿRAMDISK driver initialized: 16
R        
AM disks of 16384K size 4096 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Welcome to Red Hat Enterprise Linux Server                                      
                                                                                
                                                                                
                                                                                
       +---------------------+ Networking Device +----------------------+       
       |                                                                |       
       | You have multiple network devices on this system. Which        |       
       | would you like to install through?                             |       
       |                                                                |       
       | eth0 - Intel Corporation 82557/8/9 [Ethernet Pro 100]          |       
       | eth1 - Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet |       
       | eth2 - Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet |       
       |                                                                |       
       |            +----+                         +------+             |       
       |            | OK |                         | Back |             |       
       |            +----+                         +------+             |       
       |                                                                |       
       |                                                                |       
       +----------------------------------------------------------------+       
                                                                                
                                                                                
                                                                                
                                                                                
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen


Comment 7 David Cantrell 2007-01-09 11:33:46 EST
I just checked and this bug is still present in the RHEL-5 nightly trees,
today's tree being the one I checked.  Will investigate this problem for RHEL 5.1.

Setting flag.
Comment 9 RHEL Product and Program Management 2007-01-29 16:04:33 EST
This bugzilla has Keywords: Regression.  

Since no regressions are allowed between releases, 
it is also being proposed as a blocker for this release.  

Please resolve ASAP.
Comment 10 Fabio Olive Leite 2007-01-29 16:09:01 EST
We need something in the release notes for this. Setting flag.
Comment 16 David Cantrell 2007-03-06 16:46:09 EST
An update...

The code for ksdevice=bootif in both RHEL-4 and RHEL-5 require the user to
provide the BOOTIF= parameter specifying the MAC address of the interface to
use.  Loader has no code to determine the boot interface used for PXE.

The ksdevice=link parameter instructs loader to find the first network interface
with an active link.

So, to use ksdevice=bootif, you must also pass BOOTIF with the MAC address of
the interface to use:

ksdevice=bootif BOOTIF=xx:xx:xx:xx:xx:xx

The capitalization of the the arguments is important, BOOTIF must be written in
upper case.
Comment 19 Terje Røsten 2007-03-08 15:25:05 EST
> So, to use ksdevice=bootif, you must also pass BOOTIF with the MAC address of
> the interface to use:
>
> ksdevice=bootif BOOTIF=xx:xx:xx:xx:xx:xx

No! 

This is not the case, it's *pxelinux* job to add the BOOTIF parameter,
and it do nicely, see the log in comment #6:

command line is
initrd=initrd.img-rhas5.0b2-x86_64 ksdevice=bootif noipv6 network
ks=http://webserver/ks/         
console=tty0 console=ttyS0,9600n8 root=/dev/ram0 ide0=noprobe ide1=noprobe
BOOT_IMAGE=vmlinuz-rhas5.0b2-x86_64 BOOTIF=01-00-09-3d-13-50-d6
Comment 20 David Cantrell 2007-03-08 15:40:43 EST
Right, my mistake.  Was unclear in my description.

OK, so digging back through the RHEL-4 code and comparing it to the RHEL-5 code,
it looks like this is what happened:

The sanitizeMacAddr() function in libisys would automatically convert every
third character in the MAC address in BOOTIF to a colon so it could be used
directly as a MAC address later.  That's not present in the RHEL-5 code.

Sorry for all the confusion from me.  Was trying to fully understand what was
happening and the one line that handled the transposition of - to : in RHEL-4
was hiding well.

Patching RHEL-5 anaconda.  Will post patch shortly.
Comment 21 David Cantrell 2007-03-08 17:07:27 EST
Created attachment 149648 [details]
patch to loader in RHEL-5 to handle BOOTIF args correctly

Patch for loader in RHEL-5's anaconda.	The argument handed to us in the
BOOTIF= parameter is taken as is.  This patch converts the hyphens to colons. 
Very trivial.

If you'd like an initrd.img to test this patch with, let me know and I can
prepare one for you for the RHEL-5 GOLD tree.
Comment 22 Terje Rosten 2007-03-08 17:18:02 EST
> If you'd like an initrd.img to test this patch with, let me know and I can
> prepare one for you for the RHEL-5 GOLD tree.

Yeah, that would be great!
Comment 23 David Cantrell 2007-03-09 12:10:47 EST
Created attachment 149701 [details]
Updated anaconda SRPM for RHEL-5-Client

Updated anaconda source RPM with the loader patch.  This is for the RHEL-5
Client platform.
Comment 24 David Cantrell 2007-03-09 12:12:08 EST
Created attachment 149702 [details]
Updated anaconda SRPM for RHEL-5-Server

Updated anaconda source RPM with loader patch.	This is for the RHEL-5 Server
platform.
Comment 25 David Cantrell 2007-03-09 12:13:52 EST
Created attachment 149703 [details]
New netboot initrd.img for i386 on RHEL-5 Client

New netboot initrd.img for i386 on RHEL-5 Client.
Comment 26 David Cantrell 2007-03-09 12:15:07 EST
Created attachment 149704 [details]
New netboot initrd.img for x86_64 on RHEL-5 Client

New netboot initrd.img for x86_64 on RHEL-5 Client
Comment 27 David Cantrell 2007-03-09 12:16:14 EST
Created attachment 149705 [details]
New netboot initrd.img for i386 on RHEL-5 Server
Comment 28 David Cantrell 2007-03-09 12:17:10 EST
Created attachment 149706 [details]
New netboot initrd.img for ia64 on RHEL-5 Server
Comment 29 David Cantrell 2007-03-09 12:18:38 EST
Created attachment 149707 [details]
New netboot ramdisk.image.gz for ppc on RHEL-5 Server
Comment 30 David Cantrell 2007-03-09 12:22:29 EST
Created attachment 149708 [details]
New netboot initrd.img for s390x on RHEL-5 Server
Comment 31 David Cantrell 2007-03-09 12:23:38 EST
Created attachment 149709 [details]
New netboot initrd.img for x86_64 on RHEL-5 Server
Comment 32 David Cantrell 2007-03-09 12:24:41 EST
I've generated new netboot images for all RHEL-5 platforms.  Please select the
appropriate netboot image and test it out.
Comment 33 David Cantrell 2007-03-12 16:19:39 EDT
*** Bug 229627 has been marked as a duplicate of this bug. ***
Comment 34 Terje Rosten 2007-03-13 11:07:15 EDT
> New netboot initrd.img for x86_64 on RHEL-5 Server

It works. Thanks!
Comment 35 Justin Hochstetler 2007-03-13 12:32:02 EDT
I filed bug 229627, which was for Fedora Core 6, rather than RHEL. Since it's a
 different distribution, effectively, this seems like it would not be a direct
duplicate of this bug.  I see this bug includes numerous initrd images for
RHEL5.  Are these usable with FC6?  Will this bug be addressed in FC7?

Confused, but thanks,
Justin
Comment 36 David Cantrell 2007-03-13 13:50:11 EDT
(In reply to comment #35)
> I filed bug 229627, which was for Fedora Core 6, rather than RHEL. Since it's a
>  different distribution, effectively, this seems like it would not be a direct
> duplicate of this bug.  I see this bug includes numerous initrd images for
> RHEL5.  Are these usable with FC6?  Will this bug be addressed in FC7?
> 
> Confused, but thanks,
> Justin

The RHEL5 initrd images will not work with FC-6.  I'm not making an update image
for FC-6.  The fixes for this problem are present in rawhide, so the fix will be
included in F7.

Sorry if it's confusing, but the bugs are dupes from an engineering standpoint.

-David
Comment 50 errata-xmlrpc 2007-11-07 12:18:15 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0644.html
Comment 52 Don Domingo 2008-08-12 00:37:41 EDT
Release note added. If any revisions are required, please set the 
"requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

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