Note: the last update of this documentation is 2004-02-05. Thus it is old, the links might be broken, etc. This document is from Vincent Poirriez, I added details along the way here and there.

The computer, the system, the goal

A Labtop SONY PCG-GRT896HP bought in november 2003, comes with XP-PRO and initially two partitions, 30G each.

I wish to install Linux Debian, using Knoppix 3.3 (19/11/2003) with a double-boot (sometimes I need Windows). I also wish to share data between Linux and Windows.

Preliminaries

The first requirement is to partition the disk. I prefer to do it out of the linux installation process.

What I have done: part my disk using partition magic. A few other softs (qparted,...) are available.

Here is the resulting state of the disk:

Name type size Remark
hda1 Ntfs 9,76 Go the partition with Win XP
hda2 -extended - Because hda1 is the principal partition
hda5 Fat32 18.19 Go Fat32 and not NTFS because Linux can't write on NTFS
hda6 ext3fs 3.91 Go The /
hda7 swap 1.95 Go  
hda8 ext3fs 1.95 Go /var
hda9 ext3fs 20.14 Go /home

The choice of the size doesn't seem realy important. The only requirement is to reserve enough place for the / partition. Knoppix is said to require at least 2 Go for the whole system (I know other version are lighter but place is not a problem here).

Update : actually, you can make knoppix-installer aware of multiple target partitions. All you have to do is do the configuration after launching knoppix-installer, save it, quit the installer, edit the configuration (accordingly to this site), launch knoppix-installer again, load the modified configuration, and let the installer do what is left.

Installing with Knoppix3.3

Just insert the knoppix disk, then reboot. Cautious: you have to type in QWERTY, while the keyboard is in AZERTY.

At the boot prompt type: fb1280x1024 noapic lang=fr alsa screen=1280x1024

This is required with this version of knoppix, of course adapt lang= to your favorite language.

At this point, I've got the linux system running on cd-live mode, and every thing seems to work, except the Wifi54g built-in card which is not recognized. Thus I decide to install the system on the disk. For this I follow the guide http://thefredsite.free.fr

Be aware to go through the partition step, even if you have done it before, the script seems to write something. So select the item 3 and then I did not modified the partitions and exit qtparted.

Every thing goes fine, except that the /var directory wasn't mounted on the /hda8 partition and the computer will not boot linux on the disk. So to obtain this I follow this process:

  • Reboot on cd-live
  • open a console and type su to become root

Now, every thing is ok. I can reboot with linux on the disk. Just be aware that at the lilo boot prompt, I have to type linux noapic.

And it boot fine, everything is ok. If I want to have sound, it is required to type sudo alsa_init in a console (see Sound to avoid that). As I don't want to have to type something at the lilo boot prompt, I edit /etc/lilo.conf and add noapic to the variable append. Then type in a console sudo lilo.

It's finished, I have a correct running debian linux, thus I can do the apt-get install xxx I wish to load the application xxx I need.

Switching between to ip connections

I need to switch the connection if I am at home or at office. In both cases I use fixed IP addresses. I use the following trick:

  • At home: configure the correct /etc/network/interfaces and the correct /etc/resolv.conf wich contains the DNS (eventually using the knoppix netcardconfig utility) Rename these files /etc/network/interfaces.athome and /etc/resolv.conf.athome

  • Perform the similar configurations at office, use atoff instead of athome

  • Then use switch home, or switch office to switch to the correct configuration. Where switch is the following script:

    #!/bin/bash
    # switch Pour basculer entre la connection à la maison et au bureau
    # (C) Vincent Poirriez 2003
    
    case "$1" in
    h*)
    INTERFACE="/etc/network/interfaces.athome"
    RESOLV="/etc/resolv.conf.athome"
    ;;
    o*)
    INTERFACE="/etc/network/interfaces.atoff"
    RESOLV="/etc/resolv.conf.atoff"
    ;;
    esac
    sudo cp $INTERFACE /etc/network/interfaces
    sudo cp $RESOLV /etc/resolv.conf
    sudo /etc/init.d/networking restart
    

Azerty console

If you want your keyboard to be recognized as an AZERTY one in the console mode, execute dpkg-reconfigure console-data and specify the type of your keyboard

Kernel recompilation

Why recompile the kernel? For many reasons:

  • Be able to simply include the nvidia proprietary drivers, using the Debian way
  • Compile the wireless netword card driver (kernel headers don't seem to suffice)
  • Ensure we can compile a kernel without falling into problems later (see Sound)
  • Get some benefits from compiling especially the processor of the machine
  • Get rid of useless modules (hey, we don't need the chinese codepage for the filesystem, do we?)
  • Because I (Samuel Colin) am a Linux geek

Here is the kernel configuration I use : [include a link to the kernel configuration]

The steps required to compile the kernel the Debian way are:

  • apt-get install kernel-source-2.4.xx
  • apt-get install kernel-package
  • cd /usr/src
  • tar zxf kernel-source-2.4.xx.tgz
  • ln -s kernel-source-2.4.xx linux
  • cd linux
  • make menuconfig (or oldconfig if you want to use a config file coming from somewhere else)
  • make-kpkg --revision=SomeName.yy.zz kernel_image
  • make-kpkg modules_image (see for example Sound)
  • Ensure there are no knoppix-particularities left!
  • dpkg -i kernel-image-2.4.xx_SomeName.yy.zz_i386.deb
  • dpkg -i on any module you could have compiled (sound, graphics drivers)
  • Edit your /etc/lilo.conf and run lilo so that it takes changes into account (or menu.lst if you use grub), reboot, and pray
  • If it worked, update your /etc/modules file so it loads at boot time modules that exist (so you don't see those error messages at boot) or you would like to be available at boot.

Sound

Having a mostly debianized machine, you must install the alsa-source debian packages in order to benefit from the Sis audio card (recognized as an i810 one). Basically the steps are:

  • apt-get install alsa-source

  • You might also want to use alsa tools (alsa-base, aumix, alsa-utils,etc)

  • Compile the kernel and modules (alsa will be one of these modules, but it is normally already included in 2.6 kernels)

  • Look at /etc/modules to see if there are some knoppix oddities left (in my case, there was a 1alsa file in /etc/modutils/ that produced variables pointing to /lib/modules/extra/ which gives us problems as we want to install a new kernel), and remove them

  • apt-get remove knx-alsa to remove also scripts giving us problems (especially /etc/init.d/alsa-autoconfig, as we won't need it anymore. If it's still here use update-rc.d alsa-autoconfig remove)

  • Normally the alsa-base package has added /etc/modutils/alsa (which is a link to another file, actually) containing something like this:

    ### DEBCONF MAGIC
    # This file was automatically generated by alsa-base's debconf stuff
    
    alias char-major-116 snd
    alias char-major-14 soundcore
    
    options snd major=116 cards_limit=4
    
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    
  • Now create /etc/modutils/alsa-0.9-knoppix to link the sound device and the kernel module:

    alias snd-card-0 snd-intel8x0
    alias sound-slot-0 snd-card-0
    
  • Run update-modules, changes should be reflected in /etc/modules.conf

  • If you're compiling a new kernel, follow the last steps of Kernel recompilation

From now on, each time the sound device is accessed, the sound module will be loaded automatically, which avoid the inconvenience of calling sudo alsa_init

Wired network card

There's nothing really difficult here : when compiling the kernel, be sure to select Sis 900/7016 PCI Fast Ethernet support as a module. This driver also requires CRC32 functions of Library routines selected.

Then, in /etc/modutils/network (apparently facultative, as network modules seem to link automatically themselves to eth0 by default when loaded) you can write alias eth0 sis900, run update-modules, add network configuration to eth0 in /etc/network/interfaces, restart networking, and it shall work.

Wireless Card

First, you need the source files (sorry, no debian-style processus here) : [provide a link to the tgz] or from the original site. Also, make sure you are currently running with the kernel you want the wifi drivers be installed with.

Then (assuming it is madwifi-20030802.tgz), follow the README instructions, mainly:

  • tar zxf madwifi-20030802.tgz

  • cd madwifi-20030802

  • make

  • make install (if you have followed section Kernel recompilation)

  • Add in /etc/modutils/ a file named, e.g., wireless, containing:

    alias ath0 ath_pci
    
  • Of course, run update-modules

Then, as it's a Debian system, we add network configuration. Here is an incomplete sample of the /etc/network/interfaces (note that the numerical values are wrong on purpose):

auto lo eth0 ath0
...
iface ath0 inet static
 wireless_essid MyEssid
 wireless_key FF7821E4C5
 address 192.168.1.1
 ...

Graphics 3D card

The graphics card is a GeForce FX Go5600. To have it supported with 3D acceleration, we need the nvidia drivers. To that end, we need the nvidia packages:

  • nvidia-kernel-source
  • nvidia-glx

Then at the time of kernel compilation, we unpack the corresponding tarballs in /usr/src, we compile the kernel as specified in Kernel recompilation and we obtain two debian packages we can install after installing the newly compiled kernel. Then we simply have to change some options to the XF86Config-4 file so that we activate 3D acceleration. Warning : this step has not been tested yet

ACPI

As this machine is a recent one, it doesn't support old APM anymore, but ACPI. Depending on whether you've recompiled a kernel or not, you have two solutions:

  • Choose ACPI support at the kernel configuration step
  • If you choose to stay with the knoppix kernel, add acpi=on to the kernel parameters (append entry in you lilo.conf). Beware, ACPI has almost nothing to do with APIC (there's really an acronym problem, here).

To Do

  • Configure the wireless card, I've found http://madwifi.sourceforge.net/ said to support this Atheros device.
  • Import and install the nvidia modules to take advantage of the Geforce card
  • Tune Xfree-Config to allow a second display with a different resolution
  • Tune the alsa module to obtain it's running at boot
  • Tune the configuration to obtain hotplug runs correctly. It run fine Knoppix CD-Live, so it should work when installed on the DD.

References

These links are essentially french resources: