2.6.5 Upgrade Notes
It's reasonably easy to find 2.6 upgrade notes, but as I spent quite a
few hours in the process I'll post my notes. Hopefully it will save
someone some time.
I do have one question, though. I built my own kernel in the end the
.deb was about 25MB. The Debian kernel-image-2.6.5-1-686 .deb is only
15MB. I only included the parts I need in my kernel so I expected the
.deb to be a lot smaller that the stock kitchen-sink kernel-image from
Debian. Any idea why?
There may be mistakes below -- I'm new to 2.6. If so, let me know.
Upgrade to 2.6.5 April 18, 2004 (from 2.4.21)
This is a few year old Toshiba laptop 2805-S302 running Debian Sid
The goal was to move to using the kernel-image packages to make
upgrading faster in the future.
I use two wireless cards with this laptop, a SMC3632W Prism card and
a Cisco Aironet 352, otherwise, a rather boring setup. I was using the
linux-wlan-ng drivers for the Prism card, but now would like to use the
kernel (orinoco) drivers.
The kernel-image install went fine, but the wireless kept failing. I then
built from kernel-source-2.6.5 and wireless works. May or may not be
One other show stopper was ACPI caused the startup of PCMCIA (loading of the yenta
CardBus driver) to hang the machine. So I disabled ACPI and use APM
I don't use USB, so didn't test.
Part 1 -- Using kernel-image-2.6.5-1-686
First did a dist-upgrade to make sure I was up to date.
# apt-get install kernel-image-2.6.5-686
That also installed the required module-init-tools and initrd-tools.
That's an initrd kernel so need to add initrd=/initrd.img to lilo.
(the install will warn about this)
Make sure there's a symlink to the real initrd.img file in /boot.
So adjusted my /etc/lilo.conf:
initrd=/initrd.img <<--- added
As noted, PCMCIA loading of my yenta CardBus driver for PCMCIA hung.
Google searches showed that this was a ACPI conflict, and indeed booting
boot: Linux pci=noacpi
solved the problem. That doesn't completely disable ACPI so, for example,
my battery monitor in IceWM didn't work (it's APM based, I guess), so in
lilo.conf I completely disabled ACPI:
Note: For a major update I tend to copy my existing kernel
and create a new lilo.conf entry. The installation will move
the good kernel to a backup, but I like to have another backup.
Then rerun lilo as root:
The new kernel needs additional modules loaded. My previous
kernel was self compile with most things compiled in.
Here's my additions to /etc/modules
eepro100 # internal ethernet
ymfpci # sound card
psmouse # for /dev/input/mice
mousedev # for /dev/input/mice
pcspkr # for "beep" to work
ide-cd # for access to cdrom
The mouse is now /dev/input/mice, so I edited /etc/X11/XF86Config-4
and changed /dev/psaux to /dev/input/mice
I think I read that the default Debian XF86Config-4 file has both
so it should work without editing, but I use a custom XF86Config-4
file, so this was needed.
Note: There's also a setting in the kernel to enable psaux
which I did later for compiling my own kernel
I was using the linux-wlan-ng drivers for my SMC prism2 wireless
card, but now wanted to try the kernel orinoco drivers. So,
I had to move the linux-wlan-ng setup out of the way.
# mv /etc/pcmcia/wlan-ng.conf /etc/pcmcia/wlan-ng.conf.save
That file matches the SMC card and maps it to the wlan-ng driver.
/etc/init.d/pcmcia starts the cardmgr program which reads the config
files in /etc/pcmcia. So moving it out of the way lets the SMC card
match using the default config which maps my card to the orinoco
I commented above about my first problems on booting, namely PCMCIA and
X11 (xdm failed to start because of /dev/input/mice). For testing I disabled
both PCMCIA (in /etc/default/pcmcia) and xdm (in /etc/init.d/xdm). But,
after including the changes indicated above (ACPI and psmouse, mousedev)
it all worked.
I tested sound and it worked without any problem, but I was using OSS
programs (I didn't have ALSA before). I assume the OSS emulation layer
was at work. I tried mpg123. I didn't try any alsa* programs.
I tried cdplay and mplayer dvd:// and both worked without any problem.
I was able to mount a dvd and mount a data cd.
Wireless works with the SMC card, but seem to hang after a few minutes
of use. I spent a few hours on-line trying to resolve this issue without
The Cisco Aironet 352 card works after adjusting /etc/network/interfaces
to set the ESSID for "any".
iface eth1 inet dhcp
Part 2 - Compile Kernel from Source
I decided to build the kernel from source to see if that made any
difference with my SMC wireless card. So far, the answer is yes it fixed
the problem. But I have not used the wireless for more than a few hours so
far and not much in the way of file transfers.
I also have a lot fewer modules installed, and ALSA seems to work.
I built the kernel on an Athlon XP 1800+, which is a bit faster than the PIII
It's the same old story:
# apt-get install kernel-source-2.6.5
$ cd /usr/src
$ rm linux
$ tar jxf kernel-source-2.6.5.tar.bz2
$ ln -s kernel-source-2.6.5 linux
$ cd linux
$ make xconfig (nice new QT interface! -- I normally like menuconfig)
Note: if there's not an existing .config file then xconfig attempts to load
config info from the existing kernel. I like to start clean so I normally
just do a "touch .config" to create an empty file. Depends if you are
comfortable with selecting everything that is needed.
I start with an empty config and add in what I (think I) need. I use lspci -vv
output to know my IDE, Sound, Serial, USB and other hardware.
I make sure I select my PCI IDE card and enable DMA (it's in more than one place)
I also disabled ACPI and enabled APM. I enabled ALSA for my Yamaha YMF754
I compile in XFS file system and other common files systems as modules.
I add in quite a bit of the netfilter, as I use the laptop for network
debugging and want both a firewall and NAT abilities.
Now, Build the kernel:
$ make-kpkg --rootcmd fakeroot clean
$ make-kpkg --rootcmd fakeroot \
--revision custom.1.3 \
--append-to-version -xfs-toshiba \
scp it to the laptop and install with:
# dpkg -i kernel-image-2.6.5-xfs-toshiba_custom.1.3_i386.deb
(Weird, the kernel-image .deb from debian is 15MB, and my built
kernels are 25 to 30MB)
Module Size Used by
ds 18084 4
yenta_socket 17440 0
pcmcia_core 64388 2 ds,yenta_socket
usbcore 103132 0
parport_pc 38880 1
lp 11108 0
parport 40296 2 parport_pc,lp