RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1086931 - [GSS 7.0] kernel command line ip=auto reccomended by man page but doesn't work
Summary: [GSS 7.0] kernel command line ip=auto reccomended by man page but doesn't work
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: dracut
Version: 7.0
Hardware: All
OS: Linux
medium
high
Target Milestone: rc
: ---
Assignee: dracut-maint
QA Contact: Release Test Team
URL: http//
Whiteboard:
Depends On:
Blocks: 1064025 1081283
TreeView+ depends on / blocked
 
Reported: 2014-04-11 20:50 UTC by Ben Woodard
Modified: 2015-03-05 08:20 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-05 08:20:27 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Requested output from lsinitrd (6.67 KB, application/gzip)
2014-05-23 15:54 UTC, Ben Woodard
no flags Details
dracut debug log (400.27 KB, application/gzip)
2014-05-23 16:09 UTC, Ben Woodard
no flags Details
rdsosreport (163.57 KB, application/gzip)
2014-05-23 20:29 UTC, Ben Woodard
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0375 0 normal SHIPPED_LIVE dracut bug fix and enhancement update 2015-03-05 12:50:34 UTC

Description Ben Woodard 2014-04-11 20:50:26 UTC
Description of problem:
In the dracut man page it says:

       If you specify ip=auto on the kernel command line, then dracut asks a dhcp server about the ip adress for the machine. The dhcp server can
       also serve an additional root-path, which will set the root device for dracut. With this mechanism, you have static configuration on your
       client machine and a centralized boot configuration on your TFTP/DHCP server. If you can’t pass a kernel command line, then you can inject
       /etc/cmdline.d/mycmdline.conf, with a method described in the section called “Injecting custom Files”.

however when you try to use that to do a netboot the system won't boot up:

[    5.474907] dracut: FATAL: For argument 'ip=auto'\nSorry, unknown value 'auto'
[    5.483506] dracut: Refusing to continue


Version-Release number of selected component (if applicable):
dracut-033-147.el7.x86_64

How reproducible:


Steps to Reproduce:
1. try to netboot a machine with ip=auto on the kernel command line

Additional info:
I think that this is best handled as a documentation bug and the man page should be fixed.

Comment 2 Harald Hoyer 2014-04-29 13:18:14 UTC
(In reply to Ben Woodard from comment #0)
> Description of problem:
> In the dracut man page it says:
> 
>        If you specify ip=auto on the kernel command line, then dracut asks a
> dhcp server about the ip adress for the machine. The dhcp server can
>        also serve an additional root-path, which will set the root device
> for dracut. With this mechanism, you have static configuration on your
>        client machine and a centralized boot configuration on your TFTP/DHCP
> server. If you can’t pass a kernel command line, then you can inject
>        /etc/cmdline.d/mycmdline.conf, with a method described in the section
> called “Injecting custom Files”.
> 
> however when you try to use that to do a netboot the system won't boot up:
> 
> [    5.474907] dracut: FATAL: For argument 'ip=auto'\nSorry, unknown value
> 'auto'
> [    5.483506] dracut: Refusing to continue
> 
> 
> Version-Release number of selected component (if applicable):
> dracut-033-147.el7.x86_64
> 
> How reproducible:
> 
> 
> Steps to Reproduce:
> 1. try to netboot a machine with ip=auto on the kernel command line
> 
> Additional info:
> I think that this is best handled as a documentation bug and the man page
> should be fixed.

yeah, this should be "ip=dhcp" or "root=dhcp" rather than ip=auto

Comment 3 Ben Woodard 2014-05-01 20:08:19 UTC
ip=dhcp doesn't seem to work either.

the kernel command line is:
   initrd=initramfs console=tty0 console=ttyS0,115200n8 crashkernel=256M enforcing=0 rd.debug ip=dhcp root=nfs:192.168.81.156:/tftpboot/images/rhel7-ben-cn.latest

but after it drops you into the dracut emergency shell you can see that it doesn't have an IP address:

dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f4 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f5 brd ff:ff:ff:ff:ff:ff

if you remove the ip=dhcp then you get the same thing:

dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f4 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f5 brd ff:ff:ff:ff:ff:ff
dracut:/# cat /proc/cmdline 
initrd=initramfs console=tty0 console=ttyS0,115200n8 crashkernel=256M enforcing=0 root=nfs:192.168.81.156:/tftpboot/images/rhel7-ben-cn.latest BOOT_IMAGE=vmlinuz BOOTIF=01-00-1e-67-23-f9-f4 

if you use root=dhcp and then try to specify the sysroot on the kernel command line in the ip=  option as suggested in parse-nfsroot.sh it doesn't even seem to bring up the ethernet:

dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
dracut:/# cat /proc/cmdline 
initrd=initramfs console=tty0 console=ttyS0,115200n8 crashkernel=256M enforcing=0 root=dhcp ip=nfs:192.168.81.156:/tftpboot/images/rhel7-ben-cn.latest BOOT_IMAGE=vmlinuz BOOTIF=01-00-1e-67-23-f9-f4 

There seems to be some problem here.

Comment 4 Ben Woodard 2014-05-01 20:26:08 UTC
Some additional notes:

the legacy format using root=/dev/nfs and nfsroot= doesn't work either:

dracut:/# cat /proc/cmdline 
initrd=initramfs console=tty0 console=ttyS0,115200n8 crashkernel=256M enforcing=0 root=/dev/nfs nfsroot=nfs:192.168.81.156:/tftpboot/images/rhel7-ben-cn.latest BOOT_IMAGE=vmlinuz BOOTIF=01-00-1e-67-23-f9-f4 

dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f4 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f5 brd ff:ff:ff:ff:ff:ff

and it is not DHCP because we just got a DHCP address which allowed us to pull the kernel and the initramfs over tftp. Plus:
dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f4 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f5 brd ff:ff:ff:ff:ff:ff
dracut:/# ifup eth0
[  203.811298] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  208.162497] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[  208.176173] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Starting dhcp for interface eth0
dracut:/# ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:1e:67:23:f9:f4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.81.155/20 brd 192.168.95.255 scope global dynamic eth0
       valid_lft 43194sec preferred_lft 43194sec
    inet6 fe80::21e:67ff:fe23:f9f4/64 scope link 
       valid_lft forever preferred_lft forever
3: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:1e:67:23:f9:f5 brd ff:ff:ff:ff:ff:ff

So it appears like there is something wrong with dracut-network's ability to fetch the DHCP ip address it needs to get to the sysroot.

Comment 6 Harald Hoyer 2014-05-12 11:47:04 UTC
1. do you have dracut-network installed
2. how do you build the initramfs image?
3. what is the output of:

# lsinitrd <initramfs-image>

Comment 7 Ben Woodard 2014-05-23 15:32:45 UTC
Of course I have dracut network installed.
I made the initrd using: 
dracut -f /boot/netboot-3.10.0-110.el7.x86_64.img 3.10.0-110.el7.x86_64
I'll get you number 3 shortly.

May I request that you actually try net booting a rhel7 host. It seems pretty obvious to me by the number of problems and the state of the documentation that this hasn't been tested recently. I would love to be shown that I'm wrong about that.

Comment 8 Ben Woodard 2014-05-23 15:54:18 UTC
Created attachment 898717 [details]
Requested output from lsinitrd

Comment 9 Ben Woodard 2014-05-23 16:09:23 UTC
Created attachment 898723 [details]
dracut debug log

Comment 10 Ben Woodard 2014-05-23 20:29:11 UTC
Created attachment 898794 [details]
rdsosreport

This was captured after consulting with Harald. 

initramfs built with:
dracut -f /boot/netboot-3.10.0-110.el7.x86_64.img-m "nfs network  base systemd ifcfg debug"  3.10.0-110.el7.x86_64

Kernel cmdline was:
initrd=initramfs console=tty0 console=ttyS0,115200n8 crashkernel=256M enforcing=0 root=nfs:192.168.81.156:/tftpboot/images/rhel7-ben-cn.latest rd.debug

Seems to still be having a problem finding the root.

Comment 11 Harald Hoyer 2014-05-27 14:43:45 UTC
[   67.741492] localhost systemd-udevd[869]: error changing net interface name eth0 to eno1: File exists

this is the culprit. Your BIOS or the kernel driver is kind of broken.

Workaround for now: add "net.ifnames=0" to the kernel command line

Maybe try to update the BIOS?

Test:
$ grep . /sys/class/net/e*/index
$ grep . /sys/class/net/e*/acpi_index

should report different numbers for the different network interfaces.

If they are the same, then it's most likely a crappy BIOS.

Comment 12 Ben Woodard 2014-05-27 16:11:46 UTC
just checked Intel's website, this is still the latest and greatest.

# hype356 /root > syscfg -i

       System Configuration Utility Version 12.0 Build 8
       Copyright (c) 2013 Intel Corporation

System BIOS and FW Versions:
BIOS Version.............. SE5C600.86B.02.02.0002

BMC Version
Boot Code............... 01.17
Op Code................. 1.20.5446

Comment 13 Ben Woodard 2014-05-27 19:56:12 UTC
Yea that got me much farther. Now I've got to a new problem which is likely with my image. 

[root@fox sys]# grep . /sys/class/net/*/device/{index,acpi_index}
/sys/class/net/eth0/device/index:1
/sys/class/net/eth1/device/index:1
grep: /sys/class/net/*/device/acpi_index: No such file or directory

I asked the sysadmin to ask for a fixed bios I do believe that udev needs to handle this scenario better. Do you know of a udev bug for this issue or should I file one.

Comment 14 Harald Hoyer 2014-05-28 11:23:02 UTC
(In reply to Ben Woodard from comment #13)
> Yea that got me much farther. Now I've got to a new problem which is likely
> with my image. 
> 
> [root@fox sys]# grep . /sys/class/net/*/device/{index,acpi_index}
> /sys/class/net/eth0/device/index:1
> /sys/class/net/eth1/device/index:1
> grep: /sys/class/net/*/device/acpi_index: No such file or directory
> 
> I asked the sysadmin to ask for a fixed bios I do believe that udev needs to
> handle this scenario better. Do you know of a udev bug for this issue or
> should I file one.

https://bugzilla.redhat.com/show_bug.cgi?id=1093485#c21 has the same problem.

We should probably open 2 bugzillas. One against component kernel, if the same "index" number is a kernel or firmware bug, and one against udev, that it continues after the renaming failed.

Comment 15 Ben Woodard 2014-05-28 18:44:22 UTC
systemd-udev bug opened in BZ#1102135

Comment 16 Ben Woodard 2014-05-28 19:19:51 UTC
Harald, re it potentially being a kernel or a driver bug. I tracked down where the index sysfs attribute is coming from. 
http://lxr.free-electrons.com/source/drivers/pci/pci-label.c#L117 and http://lxr.free-electrons.com/source/drivers/pci/pci-label.c#L102 

and it looks like it is pulling it right out of the SMBIOS tables and so there is little possibility that the kernel would get it wrong. Therefore, I'm not sure what purpose a bz for the kernel component would have. As the dmidecode(8) man page states:

BUGS
       More often than not, information contained in the DMI tables is inaccurate, incomplete or simply wrong.

--- 

Why don't we let this BZ be the one about the ip=auto documentation bug as it originally was before I took it off scope. Then we will let BZ#1102135 be the one about the udev problem.

Comment 20 errata-xmlrpc 2015-03-05 08:20:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0375.html


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