Kudos to Dell for running Project Sputnik! We now have a state of art laptop hardware platform that runs GNU/Linux software without compromising on hardware driver compatibility. Even better, you can buy the XPS 13 laptop from Dell with Ubuntu 12.04 LTS pre-installed. I ordered a machine a few days after Dell announced availability, and I had it in my hands by early December 2012. It will replace my Lenovo Ideapad, a machine that served me well but is limited by a small screen, a small keyboard, and the limited computational ability of its Atom processor. The XPS 13 is in a different league: the Intel Core i7 processor, 8G of RAM, and the 256G SSD makes it a pretty reasonable developer machine.
The Ubuntu based XPS 13 was delivered in what is clearly the Windows 8 packaging. Nothing in the delivered documentation (really just a quick start guide) suggests you will be running Linux. On powering up the machine I was dropped into the tail end of the Ubuntu Ubiquity installer and was asked to set up preferences (time zone, language etc.) and a user account. I was also given the option of creating recovery media on a USB stick during this process, or told to do it later by using the "system tool." Dell does not ship any recovery media in the box. Since I did not have a USB stick handy at the time, I chose to create recovery media later. I was then logged into a very nice looking destop where everything just worked.
It is worth nothing that When I bought this laptop it came with a 1366 by 768 display. The hardware has since been revised to a proper 1080p version. So my one and only serious complaint about the hardware has been addressed, but I'm stuck with the older configuration. Being an early adopter sucks sometimes!.
The decision to not generate recovery media on a USB stick on the initial power up of the machine led me to the only thing that did not "just work" on this machine! As it turned out I could not find any "system tool" that helped re-generate the recovery media. I made the mistake of assuming there was a GUI tool in a menu somewhere to do this. This bias probably came from the fact that the default desktop feels command line unfriendly to a long time Unix user (a terminal is not even to be seen in the default desktop).
The short answer to generating recovery media if you did not chose to do so at installation: run
dell-recoveryat a command prompt. The rest of this section might be of interest if you want to understand how Dell delivers your SSD to you.
Until I realized I should use command line completion to find a
dell-recovery, my searching on the web
for how to generate the recovery media led to
the Sputnik ISO
image. After downloading it I found that it did not actually
work - it seems to be lacking a working touchpad driver which
makes the installer unusable (on my hardware anyway). Also, it
seemed pretty clear that that ISO was not the official Dell
distribution anyway, so I was still without recovery media and
feeling quite reluctant to experiment with my machine.
After a while I noticed that the recovery media is actually on it's own partition! This is what the delivered machine's SSD partition table looks like:
$ sudo parted -l Model: ATA SAMSUNG SSD PM83 (scsi) Disk /dev/sda: 256GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 316MB 315MB primary fat32 diag 2 316MB 2885MB 2569MB primary fat32 lba 3 2885MB 240GB 237GB primary ext4 boot 4 240GB 256GB 16.3GB extended 5 240GB 256GB 16.3GB logical linux-swap(v1)Mounting /dev/sda2 suggested that it was basically an installer image. So, now the only question was how to boot into it. The nice folks at Canonical seem to make it impossible to easily get to a Grub prompt on boot. After much reading of files in /etc/grub.d/ it became clear that holding down or tapping on the Shift key during the boot sequence would drop me into the grub menu. This method turns out to be very timing dependent, but it will work. The last item in the grub menu, when it finally shows up, allows you to restore the factory settings.
Well, not quite the factory settings. What this installer does
is re-install Ubuntu on /dev/sda3. But in the process it will
ask you if you want to generate the recovery media. This time I
said I wanted it and found that I actually ended up with two
copies of the recovery media: one on the USB stick, and the
other was left in
Now I felt it was safe to really start messing with my shiny new
machine without fear of bricking it!
At around this time I discovered
which does all this, but in a much simpler manner. To my chagrin
man -k recovery found it immediately!
The recovery ISO that is created must be written
to produce a bootable USB key. I found this mildly annoying
since I'm not a big time Ubuntu user, and I know I will lose the
USB stick before I lost my one and only Ubuntu hard disk. So,
instead I backup the ISO file elsewhere, and when I need to make
a USB key on a regular Linux system I can do this:
$ mount -o loop factory_image.iso /mnt $ grub-mkrescue -o bootable_factory_image.iso /mnt $ sudo cp bootable_factory_image.iso /dev/sdX # sdX being the USB keyThis is good enough to restore my system, though you will not get the cool persistence features that the usb creator live image will give you.
This is pretty straightforward. A few observations:
Note: Since I did all this Wheezy has become the stable release. I suspect any of the stable Debian Installer Images will work just fine. There are also unofficial images available with the non free firmware that can make life easier, like this one. Finally, as I found out, the installer detects my Accel (Type A) USB 2.0 Gigabit Ethernet adapter so if you have something like that you don't have to worry about the non free wifi malarkey!
I initially installed only the base installation with 'SSH Server', 'Laptop Utilities', 'Base Installation' selected during installation. This was mostly because I was debugging a few issues with the installer and I don't have a local package mirror or a super fast internet connection that allows me to install the full desktop environment over and over again. The annoying thing about this is on booting into my brand new console prompt I'm left with an unconfigured wireless connection. For this machine I decided to go with network manager instead of using wpa_supplicant and /etc/network/interfaces to manage my wireless connections manually. But I'm still left with the problem of getting that software, and I don't have a wireless connection configured by default!
Now it is relatively straightforward to bring up a wireless connection manually, but only if you remember how to do it! Here is my manual hack for a WPA WiFi network:
# wpa_passphrase "My ESSID" "My Passphrase" > /tmp/wpa.conf # ifconfig wlan0 up # wpa_supplicant -i wlan0 -c /tmp/wpa.conf -f /tmp/wpa.log -B # dhclient wlan0This brings up a DHCP connection that let me get on with the business of installing the rest of the tools I required. Note though that the steps above leave your passphrase stored in the log file in the clear!
As a console user the one thing I really needed to do was edit /etc/inputrc and set the bell-style to visible. Otherwise the machine beeps really loud. More notes coming soon!
I finally did get around to installing the default desktop (using tasksel) around the time Wheezy was finally released. It's GNOME 3, but I figure I'll give it a try. I had to use gnome-tweak-tool to get "focus follows mouse" going, and for the first time I'm going to try to live with NetworkManager. On the whole I'm still able to tolerate it. On the good news side, I found that my Accell USB 2.0 Gigabit USB adapter seems to work fine with the stock kernel. Now just to get that trackpad to work perfectly....
This is the first Linux machine I've seen that might just work for people who need to get stuff done on a computer but don't care for technical details. Everthing seemed well put together, everything seems to work. The one thing that was truly startling was how quickly the machine starts. Even when powered off it will boot into the GNOME desktop within 10 seconds or so. This is how computers should have been from day one! Why we put up with a long boot up period has always been a mystery to me.
Personally, I've been using Debian GNU/Linux for well over a decade now. I like the high technical standards of the distribution, its open development process, the dedicated volunteers who build the distribution, the commitment to wide variety of software and architectures, and most of all the adherence to free software principles. I've been a card carrying FSF member from back when the FSF started handing out cards, and have tried to use free software exclusively since the early 1990's. Having said all that, while I recommend Debian to any one with a passion for Linux I am acutely aware that Debian systems could be the wrong choice for people who don't write software (or even software for Unix systems).
Ubuntu seems to solve this problem. It is a Debian based distribution that, as far as I can tell, focuses on delivering a integrated, usable distribution for personal computers to users who may or may not have a strong software background. It's a much narrower focus than Debian, but it allows for a completely different quality standard. Based on my experience with the XPS 13 the Ubuntu team seems to have done a great job! I would give this computer to my (very computer un-savvy) Mom in a heart beat.
As a software developer though I will stick with Debian. The reasons are many, but they are largely personal and political and have nothing to do with the quality of Ubuntu. In the end contributions to one help the other, and I've decided I will continue with Debian on the XPS 13.Shyamal