GNU/Linux Desktop Survival Guide
by Graham Williams |
|||||
Ganesha Maintenance |
20201011 Ganesha is a Dell Inspiron 6400. See Section 36.19 for details.
29 Apr 2006
Standard install (see Section 4.5.3). Choose boot media with F12 on boot. MS/Windows XP Professional is already installed, so use the Debian GNU/Linux installer to reduce the NTFS partition size, but keep it, and repartition the remainder, ending up with a dual boot machine.
Install: lang=English, location=Australia, kb=American English, network through DHCP, hostname=ganesha, resize NT partition.
The repartitioning of the pre-existing MS/Windows NTFS partition is handled directly by the Debian GNU/Linux installer. To resize the NTFS partition, select the partition:
#2 primary 95.2GB ntfs |
Then partition the new free space as a Desktop Machine. The default
Desktop partition was then:
/ | 7G | sda5 |
---|---|---|
/home | 65G | sda7 |
swap | 3G | sda6 |
Grub automatically noticed MS/Windows XP and added an appropriate entry for booting.
The machine is now rebooted. Rebooting into MS/Windows resulted in a dirty volume being noticed, and MS/Windows ran chkdisk to verify files, indexes, and security, and all was okay.
Reboot back into Debian.
Set root passwd, user account, apt install.
Package installs: exim4 (smarthost with no local delivery).
Point apt to unstable and install sudo and wajig, and all the rest!
StartX (choosing defaults for setup) seems okay (choosing vesa driver). Replace with i810 driver.
Install kernel-image-2.6.16-1-686-smp. In /etc/fstab change the /dev/hda to /dev/sda and tell Grub to boot from /dev/sda5:
# kopt=root=/dev/sda5 ro |
21 April 2011
This laptop is now a FreedomBox server for my home network. See Chapter 30 for details.
15 December 2013
Set up the laptop as a prototype server for ecosysl.com.
Download the Ubuntu 13.10 image for 32bit install and burn to DVD on Nyx.
Backup the current full disk (16 GB) to a USB disk
$ sudo rsync -av . kayon@nyx:/media/sabrina/ganesha.131211 |
Reboot and choose F12 to boot from DVD. Test Ubuntu out from DVD. Noted the screen resolution looks great — 1600x1050 — running the i915 video modules. Interaction just fine and network connected.
Clean install of Ubuntu 13.10 from DVD using dash icon. Choose English. Choose to download updates while installing. Choose to install third-party software. Replace Debian GNU/Linux (7.2) with Ubuntu. Choose to encrypt the new Ubuntu installation for security—a passphrase will be required for each reboot—as a server we would want it to reboot without a passphrase after a power failure, but since the battery is kept charged, a power failure is unlikely to require a reboot anyhow. Choose to use LVM with the new Ubuntu installation. Enter a passphrase. Choose to overwrite empty disk space. Choose English (US) keyboard. Enter Name, computer name, username, password, encrypt home folder. Log into Ubuntu One.
To now set it up as ecosysl.com. Install wajig and ensure everything is up to date. Install apps:
$ wajig install lamp-server^ ssh nfs-kernel-server meld most emacs $ wajig install bzr bzr-email ssmtp mailutils $ wajig install fail2ban python-gamin |
Enter password for mysql. Notice I install ssmtp as a very simple sendmail since all I want is to be able to send mail via smtp and not receive email on this server (at least for now). I can send email via my ISP directly using SMTP without additional username and password log on. Also needs mailutils to provide the mail program.
Troubleshooting
Useful resources include: http://jackyvuillemin.free.fr/dellinspiron6400.html.
Kenrnel hda to sda
Kernel 2.6.16 was installed early on but the machine would not boot. It sat at some stage in the boot process while it seemed to be trying to access the disk. The problem seems to have been that the hard disk that was recognised under the 2.6.8 kernel as IDE (/dev/hda5) was now SCSI (/dev/sda5). So I edited /boot/grub/menu.lst assuming that newer kernels will have the same behaviour, and the default 2.6.8 will have the old:
# kopt=root=/dev/sda5 ro # kopt_2_6_8=root=/dev/hda5 ro |
Unfortunately I then lost the CD/DVD driver!
XOrg
The vesa video driver was chosen by default, but i810 should be used. To get a proper 1680x1050 (8:5) resolution install the 915resolution package and edit /etc/default/915resolution to set MODE to 32, XRESO to 1680, and YRESO to 1050. Then:
$ wajig restart 915resolution |
SubSection "Display" Depth 24 Modes "1680x1050" "1280x1024" "800x640" "600x400" EndSubSection |
Wireless
The required wireless module for the kernel is available as a Debian package from kernel version 2.6.18. You will want to install ipw3945-modules-2.6.18-3-686, firmware-ipw3945, and ipw3945d.
If you are using a kernel version without such a module pre-compiled for you, it is easy to build one for your kernel:
$ wajig install ipw3945-source $ sudo module-assistant prepare ipw3945 $ sudo module-assistant auto-install ipw3945 $ sudo modprobe ipw3945 |
For older kernels, to get the wireless card working a bit of manual labour is needed to obtain and install the ipw3945 driver from http://ipw3945.sourceforge.net/. The web site indicates that version 1.1.11 or newer of ieee80211 is needed — older Debian versions had an older version so we illustrate the install of the module from scratch. This is for historic purposes, and should no longer be necessary.
From http://ieee80211.sourceforge.net/ download ieee80211-1.1.13.tgz. From http://ipw3945.sourceforge.net/ download ipw3945-1.0.0.tgz, ipw3945d-1.7.18.tgz, and ipw3945-ucode-1.13.tgz. Install it:
$ tar zxvf ieee80211-1.1.13.tgz $ tar zxvf ipw3945-1.0.0.tgz $ tar zxvf ipw3945d-1.7.18.tgz $ tar zxvf ipw3945-ucode-1.13.tgz $ cd ieee80211-1.1.13 $ sudo make (answer yes to all questions) $ sudo make install $ cd ../ipw3945-1.0.0 $ sudo make $ sudo make install $ cd ../ipw3945-ucode-1.13 $ sudo cp ipw3945.ucode /lib/firmware $ cd ../ipw3945d-1.7.18 $ sudo cp x86/ipw3945d /sbin $ cd ../ipw3945-1.0.0 $ sudo ./load |
This resulted in:
ieee80211_crypt: registered algorithm 'NULL' ieee80211: 802.11 data/management/control stack, 1.1.13 ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com> ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.0.0 ipw3945: Copyright(c) 2003-2006 Intel Corporation ACPI: PCI Interrupt 0000:0b:00.0[A] -> GSI 16 (level, low) -> IRQ 169 PCI: Setting latency timer of device 0000:0b:00.0 to 64 ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection ipw3945: Detected geography ABG (13 802.11bg channels, 4 802.11a channels) ipw3945: Radio Frequency Kill Switch is On: Kill switch must be turned off for wireless networking to work. |
In /etc/network/interfaces add:
iface eth2 inet dhcp wpa-conf managed wpa-ssid belkin54g wpa-key-mgmt WPA-PSK wpa-psk 123456789abcdef787f44b6611bf17ba...... |
Then:
$ sudo sh ipw3945-1.0.0/load $ sudo ifup eth2 |
I reconfigured the Debian package laptop-net to indicate the MII is supported, so that the system can automatically detect that there is no Ethernet cable connected and so won't try to start up networking on boot (and hence time out with DHCP after multiple attempts).
Some other useful wireless commands:
$ iwlist eth2 scan # List any found wireless access points |
The network-manager-gnome package provides a simple applet that monitors available wireless networks and allows you to select one to connect to. This is now (since kernel version 2.6.17) the recommended path, but make sure there are no netwrok interfaces configured in /etc/network/interfaces since if there are, the network manager will not manage those networks.
Power Management
CPU frequency scaling works following the advice on http://tkrat.org/d810/ and the README.Debian in the powernowd package. Ensure the relevant modules are loaded at boot by adding the following to /etc/modules
cpufreq_userspace speedstep_centrino |
The powernowd daemon measures the CPU load and based on this will step the frequency of the CPU to slow it down if the CPU is not being used, and thus saves power. By default, once the package is installed, the daemon will switch to full power once the CPU usage goes above 80%.
SATA CD/DVD
The CD/DVD drive is attached to the SATA, and support for this in the 2.6.16 kernel requires setting atapi_enabled=1 for libata. The default, after my installation, was to load ide-generic, and when this is loaded the IDE is trying to get hold of the devices already claimed by ATA, and we get the message:
$ sudo modeprobe ide-generic $ demsg | tail -4 ide0: I/O resource 0x1F0-0x1F7 not free. ide0: ports already in use, skipping probe ide1: I/O resource 0x170-0x177 not free. ide1: ports already in use, skipping probe |
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15 ata2: dev 0 cfg 49:0b00 82:0210 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407 ata2: dev 0 ATAPI, max UDMA/33 ata2: dev 0 configured for UDMA/33 scsi1 : ata_piix ata2(0): WARNING: ATAPI is disabled, device ignored. |
To enable ATAPI, and since the module is loaded very early at boot time (since it needs to access the hard disk), you need to create a new initrd with the appropriate option to be loaded at boot time. I attempted kernel command line via grub setting libata.atapi_enabled=1 and also setting it in /etc/modprobe.d/ but neither took effect). Edit /etc/mkinitrd/modules to add the line:
libata atapi_enabled=1 |
$ cd /boot $ sudo mv initrd.img-2.6.16-1-686-smp initrd.img-2.6.16-1-686-smp-orig $ sudo mkinitrd -o initrd.img-2.6.16-1-686-smp $ sudo reboot |
$ dmesg ... ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15 ata2: dev 0 cfg 49:0b00 82:0210 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407 ata2: dev 0 ATAPI, max UDMA/33 ata2: dev 0 configured for UDMA/33 scsi1 : ata_piix Vendor: PHILIPS Model: DVD+-RW SDVD8820 Rev: AD15 Type: CD-ROM ANSI SCSI revision: 05 ... |
The alternative of adding libata.atapi_enabled=1 to the kernel boot parameters in Grub by adding the following in /boot/grub/menu.lst:
\# kopt_2_6_16=root=/dev/sda5 ro libata.atapi_enabled=1 |
Kernel command line: root=/dev/sda5 ro libata.atapi_enabled=1 Unknown boot option `libata.atapi_enabled=1': ignoring |
According to http://tkrat.org/d810/ support for CD-ROM devices on a SATA bus is still experimental in the kernel (at least 2.6.15) and they compiled their own kernel to turn on the support (and to support software suspend 2). Also see http://www.sirlab.de/linux/debian_dell_d610.html
USB
This just works! Add a Disk Mount applet to your Gnome panel, plug in a USB Flash Stick, and you will see a mount button for the device appear. Click it to pop up a menu, and then Mount it to access the device. Older versions of GNU/Linux required some setting up to get this functionality working — now it is automatic!
External Beamer
When using with an external beamer the image originally shimmered. Under MS/Windows it reset the resolution on Alt-F8 toggle automatically (which seems like a nice idea) to bring it down from the 1600x1050 to whatever the projectors normally handle. And while the image was solid, it generated an image that did not fill the projectors full area.
The XOrg configuration was changed (/etc/X11/xorg.conf) to turn on Clone and to add the MonitorLayout option to show both the lcd and the crt:
Section "Device" Identifier "Generic Video Card" Driver "i810" Option "MonitorLayout" "CRT,LFP" Option "Clone" "true" EndSection |
Sound
Sound words just fine with at least kernel 2.6.18 using the snd-hda-intel module.
Sound did not originally work with kernel 2.6.16 — the card is recognised, and the driver seems to be working (applications run just fine and claim to be working) but no sound (and not muted!).
It appears (and is corroborated with other comments) that this sound driver doesn't work with 2.6.16 kernel!
The front panel media buttons were mapped using the Gnome Keyboard Shortcuts utility to appropriate functions in Gnome (mute, decrease and increase volume). The keyboard function keys are also mapped. They seem to work (but still can't get sound to work).
Flash Card Reader
The sdhci driver for the Ricoh SD Card Reader has been merged in the main kernel tree starting with 2.6.17-rc1. See http://individual.utoronto.ca/jaelle_kitty/inspiron6400/. With kernel 2.6.18 the card reader just works!
Software Suspend
According to http://tkrat.org/d810/ you need to compile your own kernel to turn on the support for software suspend 2.
As suggested in http://copland.udel.edu/~doke/dell_d810/, you can get the cpu temperature from /proc/acpi/thermal_zone/THM/temperature. When the laptop is at rest, I get about 38C. When it is active, I get around XXC. When it is active, and on my lap (with my legs blocking the air vents on the bottom), it goes up to XXC. The safety auto-shutdown threshold seems to be 95C?
Lid
Originally, closing the lid and reopening it rendered the laptop unusable. The screen remains blank, although it is still functioning. If it is network connected it is still alive, and presumably anything I am doing on the keyboard or mouse, is going through! The solution mentioned in http://www.sirlab.de/linux/debian_dell_d610.html did not work.
On moving to kernel 2.6.18, at least, the problem disappeared.
TV Out S-Video
Not yet tested.
Keeping the Machine Quiet
As a notebook that is taken around while travelling, and used in public areas (like whilst listening to presentations at conferences) it is not so nice to have the computer making any noise whilst booting or shutting down, or any other time, unexpectedly. It is always annoying hearing MW/Windows booting with its familiar opening signature tune (and I wish those users would find the configuration option to turn the sound off on a boot). The apparently uncontrollable beep emitted by Ganesha on booting (which seems to be around the starting up of hald) was an annoyance!
Trying lots of alternatives and searching, I finally have several places where I quieten things down so that I now have a quiet system, unless I run a music player, but that is purposeful noise!
The first task was to get rid of any beeps from any daemons as they start up. As best I could tell, there is just one that was emitting an audible beep during the boot, and it was around the time the following message appears, but I could not track it down specifically:
Starting Hardware Abstraction Layer: hald |
modprobe -r pcspkr |
I have also seen a suggestion (081116, http://debian.helicroc.com/inspiron.html) that we just need to edit /etc/modprobe.d/blacklist to add:
blacklist pcspkr |
Also, to tell gdm not to beep on starting up the display manager, I added the following to the end of /etc/gdm/Init/Default:
xset -b |
Peace and quiet at last!