Thursday 10 December 2009

How to install Slackware 13.0 on a emachines e525 using an internet connection and a USB memory device

Download a DVD image. Get the 64-bit version. I got the 32-bit version, but it didn't work completely right.

Repartition the hard drive. I used the GParted image on a USB stick, which you can boot by editing the BIOS settings. However - this is important - do not actually use the "gparted" program once booted up. Use the instructions in /root/resize-windows.txt - but with an important difference! Make sure you change the units first in fdisk, otherwise you get rounding errors! This happened to me but thankfully I had copied the partition table information down on a piece of paper beforehand.

Now go back to Windows. You need to extract the contents of the Slackware DVD image to a folder on your Windows partition, and make a Slackware USB image using the "usbboot.img" file, as described in the "usb-and-pxe-installers" directory. Reboot to the USB device, and proceed with the installation as normal.

When putting the images onto the USB stick (once each for GParted and Slackware), the following programs may be useful: unetbootin, WinImage.

If you got the 32-bit image, you may have a problem. I have explained how to fix this problem here:
I have successfully installed the Slackware 13.0 32-bit DVD distribution on my computer. Like the others above, I found that it hung on the fc-cache screen; however, it is not the font script which is crashing it, but a later script. To install you can run "setup" and the first time it goes onto the configuaration part automatically, and then crashes. Then reboot your computer (which for me required holding the power button in for 5 seconds). After rebooting the slackware installer medium, do "mount /dev/[your target partition here] /mnt", and then do "chmod -x /mnt/var/log/install/setup.80.makebootdisk" - this is the script which is crashing the computer, which is supposed to ask you if you want to make a USB boot disk. Re-run "setup" and go straight to the "Configure" option (or if that doesn't work, you can do a simple "A series" install to get through the installer quicker.)

I don't know if there will be other problems with running a 32-bit distribution on a 64-bit processor - I only got the 32-bit one because I didn't realise I had a 64-bit processor.


Issues after Installation



Touchpad



Clicking with the touchpad in X11 doesn't work by default. You need to use the "synaptics" driver, as follows in /etc/X11/xorg.conf:


Section "InputDevice"
Identifier "Mouse1"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "LockedDrags" "off"
Option "TapButton1" "1"
Option "FastTaps" "on"
Option "Device" "/dev/input/mice"
EndSection

Screen brightness

You cannot change the screen brightness. To fix this, add "acpi_osi=Linux" as a kernel parameter in lilo. (see http://ubuntuforums.org/showthread.php?t=1173732). Now Fn+(left or right) works as in Windows.


Wireless



A major nuisance. There are three ways of getting the wireless card to work:

  • Load the Windows XP driver with ndiswrapper

  • Use the vendor-provided Linux driver

  • Use another Linux driver


After a lot of frustration, I finally got the ndiswrapper option to work (with a router running on WPA security).

Make sure that you have the correct password for your wireless router, as the messages you get from wpa_supplicant are hard to understand and you probably won't realize if it is saying that this is the problem.

You need to download the driver. Make sure you get the newer version. If you download the driver but it doesn't work, it could be because you have the wrong version.

To set this up in harmony with the Slackware system, one should edit /etc/rc.d/{rc.inet1.conf, rc.wireless.conf} with the correct information. I am sure this is possible, but at the moment I make do with the following scripts which I run as root:


./Internet:
modprobe ndiswrapper
modprobe lib80211_crypt_tkip
wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant.conf -D wext -B
dhcpcd -d wlan0 up

./RestartTheInternet:
killall wpa_supplicant
killall dhcpcd

modprobe -r ndiswrapper
modprobe lib80211_crypt_tkip
ndiswrapper -r bcmwl5
ndiswrapper -i sp37951a/bcmwl5.inf
modprobe ndiswrapper

wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant.conf -D wext -B
dhcpcd -d wlan0 up


Using the first script to start the internet, and if it stops working, try the second one. Sometimes I can't get it to work at all if I haven't been used the wireless network connection for a while, but it almost always works after rebooting. This is not ideal but better than nothing.

Note that no call to "iwconfig" is made in the scripts, as wpa_supplicant takes care of everything. It may be different with a different type of security to WPA.

Conclusion



If you successfully or unsuccessfully followed these instructions, feel free to leave a comment.