[ home ]
Dec 2015: Version 4 is out in alpha. I'm using it with the xfce4 desktop environment and Libreoffice, GIMP, Audacity, Audacious, Hugin, Inkscape, Xsane, Scribus, R, RStudio, Eclipse, Openjdk-7, PSPP, Midori, Evince and Iceweasel.
October 2015: X60 with wifi card removed (improves thermal performance) and used with Netgear WG111v3 USB wifi adaptor that does not require binary firmware - driver is in the fully free kernel as a module.
Aknowledgement: Harry Prevor's feedback has improved this page.
gNewSense is a GNU/Linux distribution that is sponsored by the Free Software Foundation. gNewSense is free in the sense that the kernel has no binary blobs or proprietary firmware present. Version 3 is based on Debian Squeeze, a change from version 2 that was based on Ubuntu. This page describes installing gNewSense from the version 3.1 live ISO.
I find the distribution fast and responsive on the X61s and X200s Thinkpad laptops. The distribution provides a copy of the Squeeze 'main' repository so there is a huge range of software to install. Some of the packages are a little old. The default Iceweasel Web browser is at version 3.5, and some Web sites won't display properly. It is possible to compile Icecat 17.0.1 from source on gNewSense 3.
You can read a review of gNewSense 3 from Distrowatch, and a discussion on the Trisquel GNU/Linux list will help you to decide if gNewSense is for you. The experience of using gNewSense 3 has been described as going back to 2010 in a recent review - that vintage actually suits my older hardware.
Gluglug is selling Thinkpad X60 laptops with an alternative BIOS called CoreBoot that has had the binary blobs and proprietary firmware removed. The FSF has recognised these modified Thinkpads as being free. A user has posted some impressions of a modified laptop on the Trisquel forum. I came across the Gluglug page the day after I purchased a recycled Lenovo Thinkpad X61s from Ebay!
X60. I removed the wifi card because of heat problems on the right of the palm rest - this is a known issue with the early 32-bit only X60. I use the Netgear WG111v3 USB wifi adaptor which has a Realtek radio using the RTL8187 driver which is fully free and requires no blobs. Using an external adaptor when I want to use the Internet makes my use of the Internet more of an active decision so I find my focus on writing increases!. All my usual functions (brightness, volume keys and pause, suspend) work out of the box. Fan is constantly rotating but fairly quiet especially without the internal wifi radio so I have not installed thinkfan. htop tells me that the X60 is 'quiet' (load averages less than 0.06 and processor percentages around 2 to 3%) when inactive - much quieter than Debian Jessie/MATE or Gnome on this hardware.
X61s. The built in WiFi using the ath5k free WiFi driver, suspend, hibernate to disk, the volume, pause, play buttons all work. I haven't tried an external monitor or projector yet but that is on the list. Audacity can record from the internal microphone fine. The fan is always on and a little noisy. This happens with any GNU/Linux or *BSD operating system on this machine, so I just install the thinkfan script.
X200s: All common functions work, but you need to use a USB wifi adaptor as the built in WiFi needs a proprietary Intel driver. I also can't record audio from the built in microphone, but an external USB microphone works fine with Audacity. The fan is quiet and battery life is good at around 4 to 5 hours.
You should read the gNewSense Installation Manual. It walks you through the installation step by step using the visual installer.
Burning the 3.1 ISO image to a CD-ROM and then installing from the CD-ROM will be easier than booting from a USB drive if you are using Windows. If you are already using a GNU/Linux distribution, then the best way to create a bootable USB stick is to use the dd or cat command.
I was installing over a previous Debian GNU/Linux installation. I just used the following commands from a root terminal to check the device name of my USB stick, and to copy the ISO to the USB stick. The command
$su #fdisk -l
checks for the device name of your USB stick, assumed to be /dev/sdX, usually the last entry. On my X61s I get the following entry for the USB stick
Disk /dev/sdb: 4039 MB, 4039114752 bytes 16 heads, 36 sectors/track, 13696 cylinders Units = cylinders of 576 * 512 = 294912 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
So then I used the dd command to overwrite the USB stick with the gNewSense ISO image
# dd if=gnewsense-live-3.0-i386-gnome.iso of=/dev/sdb bs=4M; sync
I used dd with the bs=4M option to copy the ISO in large chunks for speed. I added the sync command to ensure that the disk copy buffers are flushed after the copy has finished.
The gNewSense 3.1 ISO includes a desktop with application programs including the network-manager and wpa-supplicant packages. If your WiFi card uses a free driver you will be able to connect to wifi during a live session.
I tried the software, checked suspend to RAM by closing the lid. I noticed that the screen display was working at the correct resolution. The X61s and X200s laptops both date from before Debian Squeeze, and the supplied kernel has the required drivers. If you use newer hardware you might find that some functions don't work well. You might want to explore installing a more recent free kernel after installation.
I boot straight into the text installer when I'm ready to install. I have had problems when trying to install from the live session with Debian based installers in the past.
I chose to boot off the USB stick and selected the text installer and specified the language and keyboard layout.
The installer found my wired connection and configured networking using DHCP. I could not use the WiFi connection to install, even though the WiFi led was on.
I bought a 500Gb hard drive for the X61s laptop together with a 7800mAH battery. I decided to use whole hard drive encryption on the X61s to protect my email and other files should I leave the laptop on a bus. After specifying a root password and a username and password the disk partitioner starts. I simply chose the Guided - use entire disk and set up an encrypted LVM option, and let the partitioner run. The partitioner took 8 hours to 'erase data' on the hard drive. I gather it actually writes random numbers to the hard drive to make it harder to tell where the encrypted data is on the drive. You can 'cancel' that step to save a considerable amount of time.
Once the 'erasing data' stage had completed, the installer set up an LVM group with partitions. I confirmed the choices and the installation files copied to the hard drive. The text installer did not ask me to select a repository mirror, and I was left with the 'beta' repositories configured in the /etc/apt/sources.list file (see later). After this step, Grub files were copied to the MBR of the new hard drive. Then the installer asked me to reboot into the new system. I think you have to have an Internet connection available to complete the Grub installation stage. I have noticed that if I try to install without an Internet connection active, this stage seems to fail. This is true of Squeeze and Wheezy based installers.
Rebooting into the newly installed operating system reveals the log-in screen, and typing your password allows access to the default Gnome 2.30 desktop. There are a few post installation tweaks that you need to apply to ensure a fully functional operating system.
I found that the gNewSense 3.1 installer still provides a repository file that points to beta repositories having not offered a choice of repositories. A repeat installation on an old Samsung Netbook resulted in a repository file that pointed back to the master repository ('archive'). I conclude that the original problem was some kind of glitch.
I need to comment out a line in fstab that is added when installing from a live ISO that has been copied to a USB stick in Debian Squeeze or Wheezy. The X61s has a fan that howls like a banshee under any GNU/Linux or BSD system, so I need to enable acpi/ibm and then install the thinkfan fan control script. Finally, I sometimes set my user account as autologin.
I found that the gNewSense 3.1 text installer did not ask me to choose a repository location and supplies a sources.list file that points to a beta repository. If you see this behaviour as well then you will need to modify the /etc/apt/sources.list file as root. Set your local secondary repository using the two letter country code for your country. First you need to edit /etc/apt/sources.list
$su #nano /etc/apt/sources.list
And then you add the appropriate secondary repository. I'm in the UK so I use the uk country id as shown below.
deb http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes main deb-src http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes main deb http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes-updates main deb-src http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes-updates main deb http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes-security main deb-src http://uk.archive.gnewsense.org/gnewsense-three/gnewsense parkes-security main
I just issue the usual commands from a terminal running as root
$su #apt-get update #apt-get upgrade
As you would expect from a recently released installer, there were no updates
When you install from a USB stick using a Debian Squeeze or Wheezy live hybrid iso, an entry for the USB stick is added to the last line of /etc/fstab. This prevents you from mounting NTFS formatted external hard drives, and it also means that USB sticks are always mounted with the name USB0. The gNewSense installer does the same thing.
Just edit /etc/fstab from root in a terminal and comment out the last line as shown below...
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # / was on /dev/sda1 during installation UUID=big-long-hex-numbers / ext3 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=big-long-hex-numbers none swap sw 0 0 # When installing from a live iso using a usb stick, the stick # gets a line added in fstab. This prevents ntfs external hard # drives mounting, and gives funny names to usb thumb drives # just comment out! # /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
Put fans under acpi control by creating the file /etc/modprobe.d/thinkpad_acpi.conf
$su #nano /etc/modprobe.d/thinkpad_acpi.conf
and adding the one line
options thinkpad_acpi fan_control=1
and then saving the file. Edit the file /etc/default/thinkfan to ensure that the thinkfan service starts up
$su #nano /etc/default/thinkfan
Change START=no to START=yes, so the first few lines of that file look like this...
# Should thinkfan be started automatically on boot? # Only say "yes" when you know what you are doing, have configured # thinkfan correctly for *YOUR* machine and loaded thinkpad_acpi # with fan_control=1 (if you have a ThinkPad). START=yes # Additional startup parameters DAEMON_ARGS="-q"
Then tweak the temperatures at which the fan starts and stops in /etc/thinkfan.conf
$su #nano /etc/thinkfan.conf
For the X61s, I comment out the existing temperatures and add these...
sensor /proc/acpi/ibm/thermal (0, 0, 0, 0, 0, 0, 10, 0) (0, 0, 65) (1, 62, 68) (2, 64, 70) (5, 68, 74) (7, 70, 32767)
I've been using this conf file on this X61s for a couple of months it hasn't melted yet! This laptop does get warm. The X200s runs cool under all loads.
The result of all these tweaks is a robust and responsive operating system on which I can install a lot of software.
I usually enable Autologin to my default user account (System | Administration | Login Screen) then set a blank password in SeaHorse to prevent the 'keyring' error when you enable a WiFi connection. I have decided not to do this on the X61s with its encrypted hard drive. I have used strong passwords for root and user.
Parkes comes with the GNU flashplayer (Gnash) installed along with the Fluendo mp3 decoder so you can watch YouTube and listen to your mp3s out of the box. You can't rip to mp3 (my Blackberry phone can play .ogg files, and I rip those to quality 0.6 for superb audio). I installed Rhythmbox for easier searching of music.
I install Audacity, Rhythmbox as mentioned, the Hugin photo stitching and panorama generator, and Shotwell to manage my snaps, the Splix printer driver pack for Samsung printers, and finally the lftp and curl command line programs, in all a 350Mb download from the UK gNewSense repository mirror.
If you need to process statistical data then you can install the R statistics environment for interactive data analysis and statistics programming. I used the Synaptic package manager to install r-base, texlive, and gnuplot. The r-base package includes the r-base-dev package as a dependency, and this package in turn will bring in the GCC compiler and most of the utilities needed for building software. R has the capacity to source and build packages from the CRAN repository, so you can add a considerable number of R packages for many special purposes in statistics. The R version in the repositories is 2.11.1 which is slightly old but still very useful. Most R textbooks and tutorials were written for this generation of R, and the language is fairly stable.
RStudio desktop, a really good graphical front end for R, will install in gNewSense, and supports R version 2.11.1. The RStudio .deb must be downloaded from the Web site and installed using dpkg, but RStudio is released under the AGPLv3 license and the source code is available. RStudio rstudio-0.97.320-i386.deb [32bit] installs fine, later versions require a C++ library newer than the one in gNewSense 3.1 and will install without error but not run.
GNU Icecat is a free version of Firefox. It does not offer to install non-free extensions, and has had the copyright restricted branding and logos stripped out. gNewSense is based on Debian Squeeze. Squeeze backports contain Iceweasel 17, based on Firefox 17. I assumed that it would be possible to install Icecat 17, but the compiled binary available from the FSF has been compiled against a later version of the gclib. I decided to compile from source using instructions on the gNewSense wiki as a guide. Those instructions work fine for Icecat 17, just leave out the source code patches that are not required as gNewSense 3 has gcc 4.4 installed.
The gNewSense wiki pages are marked as obsolete, so I'm summarising the main instructions here...
First, you need to download the source code for Icecat 17 from the GNUzilla repository. Allow time for a 100+ Mb file to download...
wget -c http://ftp.gnu.org/gnu/gnuzilla/17.0/icecat-17.0.1.tar.gz
Then extract the source code (I'm assuming you are using the top of your home drive here, but it does not matter).
tar -zxf icecat-17.0.1 tar.gz
Next, you need to install some source code libraries (-dev suffix)
$su ## apt-get install libgtk2.0-dev libnotify-dev libasound2-dev libiw-dev libxt-dev mesa-common-dev exit
Icecat also needs the YASM assembler, but the version in gNewSense 3.1 is 0.8x and Icecat needs 1.2x. So just compile the command from source code...
$wget -c http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz $tar -xzf yasm-1.2.0.tar.gz $cd yasm* # enter the yasm source code directory $./configure -prefix=/usr $make $su #make install #exit $cd ../ # leave the yasm source code directory
Once you have the dependencies required, you can just compile and install;
$cd icecat-17* # enter the Icecat source code directory $./configure -prefix=/usr $make $chmod +x ./build/unix/run-icecat.sh $su #make install #exit $ cd ../ # leave the Icecat source code directory
The ./configure and make commands may take some considerable time (45 minutes on the Core Duo 2 based X61s) and generate lots of impressive warnings - run Gnome terminal full screen with green against black for the full bladerunner style.
You can start Icecat from the command line as follows
Check for any error messages or failure to start. Icecat will make its own configuration folder within the ~/.mozilla folder in your home directory, so configuration and add ons will be independent of your Iceweasel install. Icecat picks up the Gnash plugin however.
If all goes well, you can create a custom menu entry in Gnome by right clicking on the Main Menu and selecting Edit Menus. I clicked New Item and added icecat as the name and as the command. I also added a custom application launcher for the bottom panel. I found an icon on the wikipedia page for icecat and popped that in my home drive. The result is a Web browser that is slightly more recent than the default version of Iceweasel.
Updates are not frequent, lets face it these are stable applications with plenty of patches applied through the life of Debian Squeeze. I'll be monitoring security alerts and updates. I'm really noticing the range of software available in the gNewSense Main repository compared to CentOS, where you have to add a range of repositories to put together a modern desktop.
Keith Burnett, Last update: Thurs Jul 23rd 2015