CentOS7 USB Boot Install Fail

Jul 2017

Introduction

We have some servers that we have been using for test systems using CentOS 6.x. These have been mainly running MFEL. When I tried to install (or upgrade) to CentOS 7, the units would always fail to boot from the USB Sticks.
I would see the boot screen and it would like like the following:

/var/log/messages-20161113:Nov 13 02:16:16 localhost kernel: BUG: soft lockup - CPU#0 stuck for 22s! [rcuos/4:22]
/var/log/messages-20161113:Nov 13 02:26:40 localhost kernel: BUG: soft lockup - CPU#10 stuck for 22s! [rcuos/4:22]
/var/log/messages-20161113:Nov 13 02:27:09 localhost kernel: BUG: soft lockup - CPU#0 stuck for 22s! [rcuos/4:22]
/var/log/messages-20161113:Nov 13 02:46:28 localhost kernel: BUG: soft lockup - CPU#10 stuck for 22s! [rcuos/2:20]
/var/log/messages-20161113:Nov 13 02:46:56 localhost kernel: BUG: soft lockup - CPU#0 stuck for 22s! [rcuos/2:20]
/var/log/messages-20161113:Nov 13 02:54:04 localhost kernel: BUG: soft lockup - CPU#10 stuck for 22s! [rcuos/7:25]
/var/log/messages-20161113:Nov 13 02:54:32 localhost kernel: BUG: soft lockup - CPU#0 stuck for 22s! [rcuos/7:25]
/var/log/messages-20161113:Nov 13 03:00:25 localhost kernel: BUG: soft lockup - CPU#10 stuck for 22s! [rcuos/2:20]

The server would never boot, and I was doomed to stay on CentOS 6.x forever, which was a shame because these were capable servers, but the products were all moving to CentOS 7.
Then I found this. When you boot from the USB stick, you get a boot menu that looks something like the following:
If you select the menu entitled Install CentOS Linux 7 and press <TAB> on your keyboard, you will see the command line that this menu launches at the bottom of the page, in my example I see the following;

vmlinuz initrd=initrd.img ins.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

At the end of this command, just after quiet enter the command nomodeset. Your full command line should now look like the following:

vmlinuz initrd=initrd.img ins.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet nomodeset