My JavaScript book is out! Don't miss the opportunity to upgrade your beginner or average dev skills.

Friday, July 31, 2015

ArchLinux UEFI and Dell XPS 2015

unrelated important thing first: I am blogging on my own website too, you can read my very first public entry in there!
I will keep posting here less web-centric related issues, or mostly rants, and will post there interesting stuff about HTML5, JavaScript, client/server and Mobile Web development ... now, back to the topic ...

archibold and my Dell XPS Developer Edition

So they changed my motherboard today, it suddenly stopped recognizing the Hard Drive, and even trying other drives didn't work at all.
Kudos to Dell for their assistance: the day after a person with already all necessary pieces arrived at my door and substituted the Motherboard with a very quiet and professional attitude.
... when I've asked assistance for a Lenovo Yoga Pro 3 they never even come back ...

If you've never heard about archibold, it's an installer which aim is to simplify ArchLinux and, optionally, GNOME configuration. Since I already backed up my Dell, and even if it was working like a charm, I've decided to erase it and see if I could make it work via UEFI.
Apparently this BIOS could be quite problematic and while efibootmgr seems to work without problems, it actually doesn't: it puts the EFI label into the list of Legacy boot-able devices so it won't work!

Not only the boot manager

If you have tried my installer before, I suggested to use UEFI=NO and enable Legacy mode on the bios. This was because not only I couldn't figure out how to install via UEFI, but I was using genfstab generated /etc/fstab during the installation and it was storing wrong UUIDs.

Finally Managed to install with UEFI boot!

The TL;DR story is that if you have an EFI partition created through gparted, and you have Syslinux on it, you should go in the part of the bios where you can add UEFI partitions manually, selecting syslinux/syslinux.efi file to boot from.

I know this sucks, but it's something you eventually do "once in a lifetime" so I believe it's OK.
Another setting change I made was the following one: disable secure boot and be sure legacy is off.

Installing archibold

The full installation procedure I've done is actually the following one and bear in mind this will fully erase your disk
# enable USB boot and start ArchLinux dual iso from USB
# once reached the console
ip addr
# search for a wifi or ethernet card
# if you don't see it, use an USB WiFi dongle
# in my case I had `wlp2s0` card ('cause I've put an Intel WiFi card in it: it's $25 well worth)

# configure the wifi
wifi-menu wlp2s0
# pick your network and login

curl -L -O http://archibold.io/sh/archibold.sh

# be sure you have the disk available
lsblk
# there should be a sda disk

# substitute username with your name
# substitute userpass with your pass
# it will be used for sudo and root too
USER=username PASSWD=userpass DISK=/dev/sda SWAP=8GiB GNOME=NOEXTRA sh archibold.sh
For the whole list of configuration flags, you can read the related paragraph on the site.
In about 20 minutes, accordingly with the speed of your WiFi network, you should reach the Congratulations part. Feel free to shutdown -h now and go to the bios once you reboot and configure it as shown in previous images.

Your Broadcom bloody WiFi thing

In case you still have the default Broadcom WiFi module, you can use archibold to install drivers too.
This means that whatever network interface/dongle/device you have used to install archibold, will be still useful to install drivers once for all for your WiFi.
Be sure you select from the top right menu your WiFi and you connect to it, then open the terminal (window key and type terminal or go top left with your mouse)
archibold install broadcom-wl-dkms
For the very first time, and once only, you will be asked to be careful using a sudo password. Use the one you specified during the installation, wait for the package to be fully installed, feel free to shutdown your machine and finally remove the dongle or the netwrok device you have used until now.
Congratulations, you have now a beautiful Dell XPS on ArchLinux, booting from UEFI in seconds, and directly into wonderful GNOME!