[CentOS] Kickstart with multiple eth devices

Wed Feb 25 20:37:17 UTC 2015
Jason Warr <jason at warr.net>

Starting back in RHEL/Cent 5 I found that the only way to make sure your  
interface enumeration was consistent after install with what you had  
during install was to create a udev rules file using the mac addresses as  
the key.  It is easy to run a short script in postinstall to create it  
based on how anaconda has seen them.

In order for this to work on Cent 6 you have to set biosdevname=0 on the  
kernel boot for the installed system.

PXE boot options:

label c6inst-sda
     kernel /linux-boot/cent6-x64/vmlinuz
     append initrd=/linux-boot/cent6-x64/initrd.img ksdevice=bootif ip=dhcp  
ks=http://xx.xx.xx.xx/install/linux/ks/basic-cent6-sda.cfg
     ipappend 2

In kickstart:

BOOTOPTS="biosdevname=0"

Also in kickstart I do not specify the config for ANY network interfaces.   
I let anaconda pull in only the config for the boot interface from PXE.  I  
manually configure everything else.  The only thing I do to non-boot  
interfaces is set the DHCP and ONBOOT to no.


On Wed, 25 Feb 2015 14:21:18 -0600, Ashley M. Kirchner <ashley at pcraft.com>  
wrote:

> Version 6.6 ...
>
> On Wed, Feb 25, 2015 at 1:17 PM, Jim Perrin <jperrin at centos.org> wrote:
>
>> <overly trimmed>
>>
>> On 02/25/2015 01:56 PM, Ashley M. Kirchner wrote:
>> > Ok, so some of this now works, but I'm still having problems. With the
>> > bootif option, the system now correctly configures and uses the same
>> > interface to get its kickstart file. However, when the system is done  
>> and
>> > boots up, the interfaces are still messed up. So this is what I have  
>> in
>> the
>> > kickstart file:
>>
>> What version of CentOS 6 is this?
>>
>> > In the PXE config file I have:
>> >
>> > IPAPPEND 2
>> > APPEND ks=http://192.168.x.x/ks/portico.ks
>> initrd=centos/x86_64/initrd.img
>> > ramdisk_size=100000 ksdevice=bootif
>>
>> > As soon as I *remove* the additional ethernet card, the system will  
>> boot
>> up
>> > with the ports configured correctly (port 1 = eth0, port 2 = eth1). So
>> why
>> > is it that as soon as there is an additional one, all things go to  
>> hell?
>> > Why must the boot process shuffle them? More importantly, how do I
>> prevent
>> > this so that the system comes up properly after a kickstart install?
>> >
>>
>> The reason I ask the version, is this is exactly the sort of thing that
>> biosdevname is designed to solve. With biosdevname, you get devices like
>> 'em1, em2, p6p1', which aren't as friendly as 'eth0' but also keep names
>> sane and avoid the hair-tearing issues you're experiencing currently.
>> You don't appear to be adding anything via your append line that would
>> disable biosdevname, so I must assume you're using a much older 6 base
>> install.
>>

In my experience biosdevname creates just as many problems as it solves.   
Dell can keep it.

>>
>> --
>> Jim Perrin
>> The CentOS Project | http://www.centos.org
>> twitter: @BitIntegrity | GPG Key: FA09AD77
>> _______________________________________________
>> CentOS mailing list
>> CentOS at centos.org
>> http://lists.centos.org/mailman/listinfo/centos
>>
>>
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos