![Sydney Opera House 2013](/images/52255cbed8c439cb232b1f84a8e84115e61983bb.jpg)
CrunchBang on Thinkpad X220
Desktop Replacement
_ Hardware Modifications_
_ Upgrade BIOS From USB_
_ About CrunchBang_
_ System Modifications_
It has been over two and a half years since my last Debian-related post so I thought it necessary to provide an update. I have since donated my desktop machine to a worthy cause in favour of the more-mobile Thinkpad platform. My semi-retired Debian desktop is now providing headache-free internet access at the local library, where one of the librarians had long been toying with the idea of using open source. The successful implementation of my machine prompted their acquisition of a further two Ubuntu machines.
My new Thinkpad, on the other hand, has been running CrunchBang Linux (#!) for over a year and a half, and I could not be happier. Although not a pure Debian system, #! is still a lean derivative.
Hardware changes I’ve made so far include: installing an Intel 30GB 525s MLC mSATA SSD drive to act as my system drive; and running 2 x 4 GB Corsair PC3-10600 DDR3-1333 RAM in dual channel mode.
After grabbing the latest BIOS-update bootable iso from the Lenovo support site, it is necessary to extract its [otherwise hidden] contents via a perl script called geteltorito.pl
.
To fetch the script:$ wget 'http://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito.pl'
Then, extract the contents of the downloaded *.iso file to any new target file:$ perl ./geteltorito.pl /path/to/_bios_update_cd.iso > /path/to/_target_image_.img
To write the image to your USB (located at /dev/sdX):$ sudo dd if=/path/to/_target_image_.img of=/dev/sdX bs=512K
Then hit F12 at bootup to choose the bootable medium.
Out-of-the-box, #! does everything I need it to do on a laptop (wifi management; power-saving; keyboard accessibility-support,) at a fraction of the resources required were I to customize a larger/slimmer distribution to suit my needs. Were I to install Debian, I would have arrived at my ideal setup at a much later date.
Crunchbang provides a superb arsenal of open-source productivity applications, and I found myself bored witless during post-install. It defaults to using Openbox - which is not exactly a tiling WM that I’m accustomed to using - but I have made peace with that by implementing split-panes in tmux which, considering the smaller LCD screen real-estate, works reasonably well.
For work-purposes, I have implemented KVM + Qemu to manage a guest Windows XP OS - the guide I used can be found here - and I have been able to leverage the power of this fantastic little unit to conduct business.
System changes I’ve made so far include: switching from grub2 to syslinux (see here); colourizing init feedback (see here); mounting system paths on the SSD drive with TRIM support (with fstab: -o discard
); enabling Thinkpad-specific battery savings (with tlp
and thinkpad-smapi
); relocating /var paths and browser profiles to tmpfs (with profile-sync-daemon
).
To get wifi working again after a system suspend-resume event, my executable /etc/pm/sleep.d/20_fix_wifi
contains:case "${1}" in resume|thaw) rmmod iwlwifi && modprobe iwlwifi ;; esac
Additionally, I had CrunchBang show verbose shutdown messages by modifying /etc/slim.conf
to show:
xserver_arguments -nolisten tcp -novtswitch
As my Crunchbang box is essentially a Debian Wheezy machine, I will henceforth address it as my debian box in all future blog entries.
Address Merged Ports
My most recent # portmaster -Da
revealed a package conflict: py-setuptools was merged with py-distribute.
From FreshPorts:
2013-03-05
Affects: users of devel/py-setuptools (i.e you)
Author: rm@FreeBSD.org
Reason: devel/py-setuptools was replaced with devel/py-distribute. py-setuptools port will be removed shortly.
To fix this:# portmaster -o devel/py-distribute devel/py-setuptools
From man 8 portmaster
:
-o new port dir in /usr/ports installed port:replace the installed port with a port from a different origin
Relocate iOS Backups
There are currently 3 different iPhones and 2 different iPads in my household that need updating - from iOS versions 3.x, 4.x, and 5.x. In order to make the transition to iOS version 6.0.1 (current), I first have to back up each device via iTunes. Unfortunately, my meagre 60GB SSD system drive will not suffice. I have decided to use NTFS’ junction
function to link directories on separate hard drives. I had to move %APPDATA%\Apple Computer
from my system drive to a separate D:\
, using cmd.exe:
move "%APPDATA%\Apple Computer" D:\
then issue the following command in cmd.exe (as admin):
mklink /J "%APPDATA%\Apple Computer" "D:\Apple Computer"
For the curious, %APPDATA%
contains the full path to the Application Data folder of the logged-in user, e.g., C:\Users\ootput\AppData\Roaming
NES Nostalgia
![](/images/5cd1299343eb332066db11696f3710a460030757.png “NintendoLogo”)
A throwback to the NES days of old, this video has recently become a favourite of mine. It features Anamanaguchi - Jetpack Blues, Sunset Hues,
Anamanaguchi is a chiptune indie rock band from New York City that “makes loud, fast music with a hacked NES from 1985.” Akin to other chiptune artists, Anamanaguchi creates music using synthesizers, albeit unconventional ones: namely a hacked NES and Game Boy.
CouchPotato on FreeBSD
For CouchPotato
in FreeBSD, firstly acquaint yourself with my previous blog entry on Sabnzbd+Sickbeard on FreeBSD, and then perform the following additional steps:
At Step 3, fetch CouchPotato’s source code:
# cd /usr/local && git clone git://github.com/RuudBurger/CouchPotato.git couchpotato
Also, it is advisable to change the permission and ownership of the CouchPotato folder:
# chown root:_sabnzbd /usr/local/couchpotato
# chmod g+w /usr/local/couchpotato
At Step 4, add the following to /etc/rc.conf:
1 |
|
.. and create /usr/local/etc/rc.d/couchpotato
containing:
1 |
|
NTFS-Write in FreeBSD
NTFS-write in FreeBSD is possible with NTFS-3G
from ports. From tuxera.com
:
NTFS-3G is a stable, full-featured, read-write NTFS driver for Linux, Android, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku, and other operating systems. It provides safe handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server 2008 and Windows 7 NTFS file systems.
To install NTFS-3G, do:
# portmaster sysutils/fusefs-ntfs
Next, create a symbolic link from the newly-installed /usr/local/bin/ntfs-3g
into /usr/sbin/
:
# ln -s $(which ntfs-3g) /usr/sbin/mount_ntfs-3g
Modify your /etc/rc.conf
to contain:
1 |
|
Provided you know on which hard-disk (based on make/model/capacity of the device) your NTFS partition resides, you can figure out it’s exact device node in FreeBSD:
# egrep 'ad[0-9]|cd[0-9]|da[0-9]' /var/run/dmesg.boot
ad0: 35303MBat ata0-master ad2: 57240MB at ata1-master ad4: 286168MB at ata2-master
My NTFS partition resides on a 300GB WD Velociraptor drive, ad4
. To confirm that /dev/ad4
does indeed contain the NTFS partition, do:
# gpart show -p ad4
=> 34 586072064 ad4 GPT (286G) 34 586072064 ad4p1 ntfs (286G)
To mount the partition manually, do:
# ntfs-3g /dev/ad4s1 /mnt/windows7
Finally, add the appropriate line to /etc/fstab
to have the NTFS partition mounted at the next system boot. For instance, my /etc/fstab
contains:
/dev/ad4s1 /mnt/windows7 ntfs-3g rw,late 0 0
Flickr and WordPress and Bub
Flickr makes it easy to share uploaded photos in WordPress blogs, and I couldn’t resist taking the opportunity to share a photo of my beautiful son.
For instructions on how to compose blog entries from Flickr, go here. Also, there is a Flickr widget available that will show thumbnails of your latest Flickr photos in your sidebar.