Lenovo ThinkPad X230 for OpenBSD and Linux

Back at the beginning of September, I ordered a Lenovo ThinkPad X230. I have been using mostly desktop systems but decided to get back to using laptops more due to some changes coming next year. I chose the X230 for a few different reasons. I also picked exactly the options I wanted since this laptop will be used for OpenBSD and Linux and will not see Windows at all.

Configuration

I configured the X230 with the following options direct from Lenovo:

  • Intel Core i7-3520M (2.9GHz with 4MB of Cache, up to 3.6GHz Turbo, HD 4000 Graphics)
  • 12.5-inch Premium IPS HD LED Screen (1366x768) with 3x3 Antenna
  • 4GB of 1600MHz DDR3 (the minimum)
  • Backlit Keyboard
  • UltraNav without FingerPrint Reader
  • 320GB Hard Drive, 7200RPM
  • 9 Cell ThinkPad Battery X44++
  • Bluetooth 4.0
  • Intel Centrino Ultimate-N 6300 AGN Wireless

As is obvious from my system choices, 4GB of memory will not be enough but astronomical memory upgrade prices from Lenovo make third party memory the only reasonable choice. The hard drive is also likewise useless to me and was never even powered on before its removal from the X230. Due to the slim size of the X230 I also elected not to have a webcam built into the display bezel and instead chose the 3x3 Wireless Antenna option which allowed me to choose the Intel 6300 AGN Wireless card. I have other systems to use for video conferencing and I would rather have better wireless performance.

Memory

I ordered the Corsair Vengeance 1600MHz Laptop 16GB (2 x 8GB) memory kit which maxed out the memory capacity of the X230. This makes more sense for my virtualization projects. I just make it a practice to max out the memory on whatever system I purchase these days.

SSD Storage

After the memory, the next major upgrade is storage. Since I had already removed the 320GB drive, I needed to put two SSDs into the system. When I removed the 320GB drive I discovered it was a Seagate Momentus Thin drive. This means it has a 7mm z-height. The majority of 2.5-inch drives have a z-height of 9.5mm. Some older, high-capacity drives had a z-height of 12.5mm and a few oddball large storage 2.5-inch drives have a z-height of 15mm.

The 7mm z-height posed an immediate problem. I was planning to install my 512GB Crucial M4 or my 240GB Intel 520 SSD in the X230 but neither would fit properly. The 240GB Intel 520 SSD could be made to fit by removing the plastic bumper but this also required removing the screws which hold the SSD's cover on. Within the X230's hard drive bracket this posed no issue but I wasn't really comfortable with that solution. The Crucial M4 SSDs I had were all 9.5mm. At this point I discovered that there are 7mm versions of the Crucial M4 SSDs in the form of the SSD1 models. The 512GB I had was model CT512M4SSD2. The very similar but 7mm z-height version is model CT512M4SSD1.

At this point, I decided to sell both my Intel 520 SSD and the 512GB Crucial M4. I started researching the best large 7mm SSDs. I came to the conclusion that the Plextor M5 Pro would be a superb option. Plextor has done a great job with their M3 Pro series of SSDs and the M5 Pro would be even better.

I ended up ordering the PX-512M5P SSD which is a 512GB 7mm z-height SSD. I'll have some followup on this SSD in a future article but so far I think Plextor has done a fantastic job with the M5 Pro series.

I mentioned that I was going to install two SSDs rather than just one. Very few slim laptops support two SSDs but the X230 has the advantage of a Mini-PCIe slot that also supports mSATA SSDs. This slot is normally intended for 3G/4G mobile broadband cards such as the Gobi 3000 or Gobi 4000 cards offered by Lenovo. Since I am not running Windows, the usefulness of such a card would be diminished. I already have several mobile broadband routers from CradlePoint and a MiFi unit as well.

Since the mSATA/mPCIe slot is unused, I decided it would be a perfect place to install a Crucial M4 mSATA SSD. The largest available size is the 256GB size which is model number CT256M4SSD3. I wish a 512GB version were available but perhaps one will come as flash chips shrink.

Operating Systems

I have never been a fan of multi-boot installations on one storage device. The risks of corrupting one or both installations is very high as upgrades are done. On systems where I have been using multiple operating systems, I always dedicate a storage device to each operating system. The ability to install a 2.5-inch SSD and an mSATA SSD in the X230 allows me to do the same thing with this system.

I immediately installed OpenBSD on the 256GB Crucial M4 mSATA SSD. As I've noted before, OpenBSD is my favorite open source operating system and the operating system I would use nearly full time if I were able to.

Because of my virtualization work, I need to use an operating system that can run VMware Workstation 9. This means one of the Linux distributions for now. (I wish VMware would support FreeBSD again as they did in the past.) I initially installed Ubuntu Desktop 12.04 LTS which seemed to work all right at this start. Within a few days I started running into problems with system freezes due to the 3.2 kernel not having very mature support for Intel HD 4000 Graphics. This forced me to move to Ubuntu Desktop 12.10 Beta which brought its own sets of problems including an incompatibility with the 3.5 kernel and VMware Workstation 9. This has since been corrected in VMware Workstation 9.0.1.

As is typically expected with a beta, I also experienced many crashes of various programs. After the final release of Ubuntu Desktop 12.10, I erased the SSD and reinstalled. Unfortunately, no matter what I did, I still experienced crashes in various elements of the Ubuntu install. Most were just annoying but I got tired of the dialog boxes popping up indicating a crash had happened. I also found that system settings did not stick across reboots and the init scripts for VMware Workstation stopped the login screen from loading unless I disabled the VMware scripts and started them manually after login.

A few weeks ago I decided enough was enough. I have used Gentoo Linux in the past but wasn't sure I wanted to sign up for that many hours of compiling. I also didn't want to put in the time to figure out exactly what optimized set of USE flags I needed. I had briefly installed Arch Linux in a virtual machine but had heard it offered many of the advantages of Gentoo but without quite as much work.

I went ahead and installed Arch Linux with the December install media. This installed kernel 3.6.9 to begin with and has now been upgraded to 3.6.10. One of my favorite parts of OpenBSD is using the cwm window manager and I can do the same with Arch by installing cwm from the AUR.

My OpenBSD and Arch environments are now nearly identical for desktop tasks. My shortcuts are the same, my applications are the same, and everything looks almost identical. My typical environment includes running multiple xterms with vim, tmux, and mutt. Chromium is running in my second workspace and then additional applications in my third and fourth workspaces. VMware Workstation 9 is running in my third workspace with my OpenBSD install on the mSATA SSD running as a VM.

I am actually writing this article from a terminal session in my OpenBSD install that I accessed via SSH from my Arch Linux install. There are a few things to get used to with Arch like systemd but I'm pretty happy with my choice. As I use it more I will get more familiar with its quirks.

I am actually pretty disappointed in Ubuntu. I thought Ubuntu might be a viable alternative to OS X on the desktop but, at least in my case, it is so unstable that I could never depend on it for my work. Perhaps it is because the X230 is using the latest Ivy Bridge integrated graphics rather than a discrete graphics card or an older integrated graphics chipset but, whatever the issue, the constant crashes are a show stopper for me.

Arch, on the other hand, has not crashed in any way since I installed it. Battery life is superb since I'm running a very low resource window manager rather than a complete desktop environment and still everything works great for my needs. No, I don't have a fancy file manager to drag and drop files in but I don't need it. The tried and true mv command works just fine for me.

I should note that it is possible to configure an Arch Linux system with a full desktop environment similar to what Ubuntu uses but I have no interest in this configuration since I prefer cwm.

Conclusion

In the end, the ThinkPad X230 is a superb system that I am very happy with. Running both OpenBSD and Arch Linux has turned out to be a great combination. The X230 will not supplant my OS X systems for media and other related tasks but for system administration and writing, the X230 setup works perfectly. VMware Workstation 9.0.1 also works perfectly and allows me to run a variety of other environments without fully committing to the operating system by directly installing it on a storage device. I am especially happy that I can use the same OpenBSD install on the mSATA SSD natively and also through VMware Workstation. I highly recommend the Lenovo ThinkPad X230.