Booting to Graphical UI Desktop Oracle UEK4 Kernel on Lenovo P70 Thinkpad

Summary

This page is about getting the Graphical Desktop UI to boot correctly and load with normal high-resolution on the Lenovo P70 Mobile Workstation Laptop.  My work on this was ultimately successful so I'm documenting the steps here for others in hope that this same method will work for other owners of this and P70/P50 and/or other Lenovo ThinkPad models who want to run Oracle UEK4 on their laptops (ok, granted, that's probably not a big subset of Lenovo owners, but still...there might be one or two others out there). 

This has only been tested on Lenovo P70 Mobile Workstation model 20ER002KUS  running i7 6700 HQ processor. YMMV.  Here's what the final successful result looks like in terms of screen resolution etc.


Description of Issue

I want to do some development work running Oracle databases in  LXC Linux containers on the Oracle UEK kernel and I'm going to be doing some comparative benchmarking with SLOB2, so I want bare metal setups and performance, and so, I want to run Oracle UEK kernel in a Desktop UI environment on my Lenovo P70 mobile workstation laptop.

I found that Oracle UEK3 kernel would seemingly not boot at all on the Lenovo P70 (it turned out to be a video driver issue - read on...).  It gives a message "systemd[1]: Failed to insert module 'autofs4'".  This problem seems to be preventing Oracle UEK3 from booting on my Lenovo P70 hardware.  There is a sketchy documentation note provided by Oracle here which indicated that this issue was solved in Oracle UEK4 which has just been released recently as noted by Tim Hall here.  So I decided to give UEK4 a try and see if the P70 would boot it.

Fortunately, the Oracle Linux RedHat Compatible Kernel that comes with the Oracle UEK distro booted beautifully, with no issues at all, and to add to the real joy, it even had wireless networking fully-functional after running the yum update.  This was very fortunate indeed because it gave me the route by which I could add the repo information to the Oracle Public Yum repo file for UEK4 as described here.  So I was able to make the required edit to the repo file and then run a yum update and get Oracle UEK4 installed successfully.

However, when I went to boot UEK4, it seemed to work but at the splash screen it just fizzles out.  You get the linux 7 oxidized green screen but the login never appears and it gets stuck there.  After some research I found some indications that the nouveau open source nvidia driver might be the issue.

Solution of Issue

First I tested the fix carefully by booting the laptop and at the grub menu of kernels to choose from for boot, selected the UEK4 kernel, then "e" on the keyboard to edit the kernel parameters, and added the following parameter for a test boot after the "rhgb quiet" etc. as shown below.

rdblacklist=nouveau nouveau.modeset=0

This first part of the fix was successful!  The UEK4 GUI Desktop loaded, albeit in a low-resolution mode.  Now to see if there was a fix to get better resolution.

The second part of the fix required a change in the BIOS of the laptop.  It is necessary to change from "Discrete Graphics" to "Hybrid Graphics". 

Once these two changes are made, the UEK4 kernel boots beautifully with no issues and the screen resolution is high and good as normally one would expect.

To make the change permanent, edit the following file as shown below to add the kernel parameter and then implement it in grub2 as shown below.  In my case, I am using EFI boot, so my command is as shown below for the grub2-mkconfig.  For details on which grub2-mkconfig command to use check here.

[root@ol72 redhat]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet rdblacklist=nouveau nouveau.modeset=0"
GRUB_DISABLE_RECOVERY="true"
[root@ol72 redhat]#
[root@ol72 redhat]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.1.12-61.1.10.el7uek.x86_64
Found initrd image: /boot/initramfs-4.1.12-61.1.10.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.36.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.36.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.8.13-118.11.2.el7uek.x86_64
Found initrd image: /boot/initramfs-3.8.13-118.11.2.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-3.8.13-98.7.1.el7uek.x86_64
Found initrd image: /boot/initramfs-3.8.13-98.7.1.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1831ee19ed0e4d2c99eeaf2a5f23281e
Found initrd image: /boot/initramfs-0-rescue-1831ee19ed0e4d2c99eeaf2a5f23281e.img
done
[root@ol72 redhat]#


And that should do it. 

But Wait There's More!

Place your order for a UEK4 kernel UI Desktop environment on a Lenovo ThinkPad in the next 5 minutes, and we'll triple your order and include the UEK3 kernel UI Desktop environment and even also the Oracle Red Hat Compatible kernel UI Desktop environment FREE!  Just pay shipping and handling.  That's right, this nouveau fix enables all the kernels to boot just fine with excellent video resolution as shown in the screenshot above (UEK4 kernel shown).  Note, the good folks at RedHat have some extra mojo in their Oracle Red Hat Compatible kernel because it also boots in Discrete Graphics mode which is how I got it to boot the RHEL kernel in the first place.

Conclusion

Unfortunately, as is often (always?) the case with Oracle UEK kernels, there's no support out-of-the-box for wireless networking (as there is for example in the Oracle Linux RedHat Compatibile Kernel).  The fix for that is here

If you have comments send them to gilstanden@hotmail.com because I've never figured out how to enable comments on google sites for non-contributors to the site!  Sorry!

Comments