biosdevname

Red Hat Enterprise Linux 6, update 1 introduced biosdevname:

... optional convention for naming network interfaces. biosdevname assigns names to network interfaces based on their physical location. biosdevname is disabled by default, except for a limited set of Dell systems.

The biosdevname convention is designed to replace the older, inconsistent “eth#” naming scheme. The new standard will be very helpful when it is fully adopted, but that is still in the future.

In this release, biosdevname is not supported by Content Gateway.

Disabling biosdevname

If while installing Content Gateway the installer finds non-eth# interface names, the installer quits and provides a link to instructions for modifying system startup files.

There are 2 ways to disable biosdevname:

  1. During operating system installation.
  2. Post-operating system installation through modification of several system files and other activities.

The easiest way to disable biosdevname is to do it during operating system installation. This is the recommend method.

Disabling biosdevname during operating system installation:

When the installer starts, press Tab and alter the boot line to add biosdevname=0 and, when installing on Red Hat Enterprise Linux 7.x, net.ifnames=0 as follows:

Proceed through the rest of the installer as usual.

Disabling biosdevname after operating system installation:

Log on to the operating system and verify that non-eth# names are present.

ifconfig -a

If only “eth#” and “lo” names are present, you are done. No other actions are required.

If there are names like “emb#” or “p#p#” perform the following steps.

  1. Log in as root.
  2. Navigate to the network-scripts directory:

    cd /etc/sysconfig/network-scripts

  3. Rename all “ifcfg-<ifname>” files except “ifcfg-lo” so that they are named ifcfg-eth#.
    1. Start by renaming ifcfg-em1 to ifcfg-eth0 and continue with the rest of the “ifcfg-em#” files.
    2. When the above are done, rename the “ifcfg-p#p#” files.

      If there are multiple ifcfg-p#p1 interfaces, rename all of them in the order of the lowest ifcfg-p# first.

      For example, if the initial set of interfaces presented by ifconfig -a is:

      em1 em2 em3 em4 p1p1 p1p2 p2p1 p2p2

      Then:

      em1 -> eth0

      em2 -> eth1

      em3 -> eth2

      em4 -> eth3

      p1p1 -> eth4

      p1p2 -> eth5

      p2p1 -> eth6

      p2p2 -> eth7

    3. Make the ifcfg-eth# files linear so that if you have 6 interfaces you have eth0 through eth5.
  4. Edit all the ifcfg-eth# files.
    1. Update the DEVICE= sections to refer to the new name: “eth#
    2. Update the NAME= sections to refer to the new name: “System eth#
  5. Remove the old udev device mapping file if it exists:

    rm -f /etc/udev/rules.d/70-persistent-net.rules

  6. Modify the grub.conf file to disable biosdevname for the kernel you boot:
    1. Edit the /boot/grub/grub.conf file.
    2. Add the following to the end of the “kernel /vmlinuz” line:

      biosdevname=0

  7. Reboot the machine.
  8. Reconfigure the interfaces as required.