If installing Ubuntu 18.04 on a 15″ Dell XPS 9560 would be easy, I probably wouldn’t be writing an article about it. There are a few things that will prevent you from properly installing it, and this guide will show you how I managed to consistently install it. I’m assuming you’re already familiar with the basics of installing Ubuntu, so I’m not going to explain how to create a bootable install disk (plenty of resources on the internet that can help you with that).
So, the first thing you’ll notice is that when you boot from the installation media (to boot from USB/DVD, press F12 when the Dell logo is showing to bring up the temprary boot menu), is that at some point the installer will hang on the Ubuntu splash screen. This is because of the Nvidia graphics card that doesn’t play well with the default Nouveau drivers. To fix this, you’ll need to alter the kernel boot parameters. On the bootloader menu, select the “Install Ubuntu” menu item and press “e” to edit the boot parameters. On the line that says “linux …“, replace the “quiet splash” options with “nomodeset“. This will instruct the kernel not to load graphics drivers, but stick with the BIOS modes. Now press F10 to boot with the modified parameters.
So now you’ll be able to get into the installer and start installing Ubuntu… until you reach the part where you need to select the partition layout. You’ll see that your hardisk isn’t listed and you’re stuck with the USB drive you’re booting from. This is beause by default, the Dell is configured to use RAID mode for the SATA drives, and this doesn’t work for Ubuntu. To fix this, you need to change the SATA mode in the BIOS. So reboot, F12, enter setup and find the option to change the SATA mode from RAID to AHCI. While we’re in the BIOS, now would also be a good time to disable safe-boot. This will save you some time, as you’ll otherwise need to disable it later to install 3rd party drivers. Now reboot and get back to the installer. Oh yeah, don’t forget to add nomodeset 😉
So now you’ll be able to completely run through the installer and some time later it’s time to boot into your freshly installed Ubuntu. Upon reboot, you’ll notice you’re not getting any boot menu that allows you to add the nomodeset to the kernel parameters and you’re probably once more stuck in the boot process. This is because GRUB 2 will hide the menu from you. To show the menu, you need to press ESCAPE once, right when the Dell logo disappears and the background turn into that dark-purple color. You’ll now be presented with the boot menu, and you can use the same select + “e” method to edit the kernel parameters and add nomodeset.
Once you finally reach you’re desktop, you’ll want to install the Nvidia drivers. Open a terminal and do an “apt search nvidia-driver“. You should see a handful of entries, one in the form “nvidia-driver-XXX” where XXX is a number. In my case, that would be nvidia-driver-390. Install the package and reboot your computer. If you didn’t disable safe-boot, you’ll be asked to enroll a new key. Provide a password and select the “enroll MOK” when prompted during the reboot.
Once rebooted, you’ll be using the Nvidia propriatery drivers and should not have any boot issues anymore. Speaking of booting, did you notice that the entire boot process (POST + bootloader + booting) probably took you a minute or so? If you run dmesg, you’ll notice that there is a 30 second gap at the start, right before mounting the root filesystem. This is because initramfs is trying to access a device for resuming, but the device isn’t available so it times-out after just sitting there for 30 seconds. Let’s fix that as well. Open the file /etc/initramfs-tools/conf.d/resume. There’s one line in there, “RESUME=<some-long-id>“. Change the <some-long-id> to “none“. Save the file and close the editor, and issue the “update-initramfs -u” command to regenerate initramfs with the new configuration. Now reboot, and you’ll notice that the 30 second delay is gone.
Hi there! My name is Tom. I’m a Linux System Administrator and PHP Developer. My job is to keep PHP websites running as smooth as possible. Being both on the ‘dev’ and ‘ops’ side gives me a broad skillset across the entire stack.