I’m working over the integrated Dell serial console(ssh->idrac) with no external serial connectivity.
I expect the port to take about 2 hours, I am very wrong.
The installation via PXE + kickstart works fine, serial output is seen throughout, BUT upon reboot. The system is bricked and non-bootable. The system POSTs, then fails to show a grub boot menu and hangs indefinitely. I PXE netbooted then examined the disks. The installation looks good, MBR looks good. grub.conf looks good.
After digging around on the internet, I found I was not the only person running into this:
This is the postmorten of what I found.
Default behavior or Redhat 6.5’s Anaconda installer leaves a grub bootloader configuration which causes bios/serial interaction conflict. The result of this conflict is a non-bootable system. Tweaking the installed grub.conf in kickstart’s post-installation allows for a workaround.
The Longer Version
No matter what bios COM settings were selected, it seemed post kickstart, grub.conf would contain serial –unit=1. The Documentation confirms this –unit=1 setting on pages 131-132 at: http://topics-cdn.dell.com/pdf/idrac8-with-lc-v2.05.05.05_User’s%20Guide_en-us.pdf. With –unit=1, the system would be unbootable with a message of ‘Booting from Hard drive C:’ Then nothing regardless of bios serial COM settings.
Further reading suggested grub.conf would be happier with only ‘console’ on the grub.conf terminal line, rather than ‘serial console’ which was the post kickstart installed option.
“Grub essentially should see a single console, called “console”, as the BIOS will take care of sending any output also to the serial line. If you would configure grub now to also talk to the serial (SoL) port, they’ll fight for the input, and you will have to wait for a very, very long time. Actually, you can wait forever, infinitely long.”
Tweaking both the ‘serial –unit=’ setting and the ‘terminal’ line yielded a working grub.conf. With this tweaked grub.conf, serial console shows boot time output over serial console, the kickstart output over serial console, and an installed r430 which will boot.
Difference between working grub.conf and Kickstart generated grub.conf
diff grub.conf.works grub.conf.ORIG
< serial –unit=0 –speed=115200
< terminal –timeout=2 console — > serial –unit=1 –speed=115200
> terminal –timeout=5 serial console
The working bits
– BIOS config
– PXE menu config
– Kickstart append lines
– Kickstart grub.conf %post tweaking
– Complete r430 working grub.conf
There were a couple of BIOS configurations which in conjunction with kickstart/pxe menu settings and %post tweaks would work with the r430s, one on COM1, one on COM2. The below config works, and is most similar to our previous Dell configurations.
/admin1-> racadm get bios.SerialCommSettings
PXE menu config
menu label tstr430
append initrd=media/rhel6u5/images/pxeboot/initrd.img ks=http://192.168.0.240/r430tstsimple.cfg ksdevice=eth0 console=ttyS1,115200 biosdevname=0
Kickstart append lines
bootloader –location=mbr –driveorder=sda
This was sensitive. Adding a bootloader –append with “console=ttyS1” per our previous kickstarts put multiple console= lines in the resultant grub.conf’s kernel append lines. This would net a non bootable system.
# old settings were # bootloader --location=mbr --driveorder=sda --append="console=ttyS1 biosdevname=0" # ^^^^ This would fail
Kickstart grub.conf %post tweaking
From the %post section of the kickstart, make sure grub.conf had the proper terminal and serial lines.
cp /boot/grub/grub.conf /boot/grub/grub.conf.ORIG
sed -i ‘s/^terminal.*/terminal –timeout=2 console/g’ /boot/grub/grub.conf
sed -i ‘s/^serial.*/serial –unit=0 –speed=115200/g’ /boot/grub/grub.conf
Complete r430 working grub.conf
Important bits in bold and italic.
Having multiple console= lines in grub.conf would result in bios+serial confict and a non booting system.
serial –unit=0 –speed=115200
terminal –timeout=2 console
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=fd18b121-a814-4b67-8475-96148770db91 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto console=ttyS1,115200 rd_NO_LVM rd_NO_DM
For reference, the r430 tested
Dell PowerEdge r430
Perc 730 Mini raid controller
2 x 480GB SSDs
4 x 6TB HDDs
System BIOS Version 1.5.4
OS Version Redhat 6.5 (Santiago) Kernel 2.6.32-431.1.2.el6.x86_64
Perc 730 mini
Package Version 25.3.0.0016
Firmware Version 4.250.00-4402
NVDATA Version 3.1411.00-0019