Hi everyone,
last week I bought a new mainboard with an Intel ICH5 sata-controller onboard. Unfortunately Slackware comes with 2.4 kernel as default (for installation), which does not support my hardware well (sata-drives become /dev/hdx and run really slow).
So I've prepared a custom slackware-10.1-install-d1.iso with kernel 2.6 as default. LQ-member "BoneCrusher" did something similar for Slackware 10.0 and kernel 2.4 with extended sata-support. It's bit of work but really simple at the end.
Here's the step-by-step-howto:
1. Compile a 2.6 kernel with all the drivers you need built in.
2. Copy slackware-10.1-install-d1.iso to your harddisk.
3. Replace one of the Slackware installation kernels with your own: Copy System.map.gz, bzImage and config to /kernels/sata.i (for example) overwriting the existing files.
4. In /slackware/a replace the package “kernel-ide-2.4.29-i486-1” with “kernel-generic-2.6.10-i486-1” and “kernel-modules-2.4.29-i486-1” with “kernel-modules-2.6.10-i486-1” from /testing/packages/linux-2.6.10.
Edit /slackware/a/tagfile: write “kernel-generic” instead of “kernel-ide”.
5. In /slackware/d replace “kernel-headers-2.4.29-i386-1” with “kernel-headers-2.6.10-i386-1” from /testing.
This package is only needed if you don't want to compile your own kernel after the Slackware installation but have to compile a driver for your own (for DSL or something?! Read Pat's warning in about that: /testing/packages/linux-2.6.10/kernel-headers.WARNING.
6. In /slackware/k replace “kernel-source-2.4.29-noarch-1” with “kernel-source-2.6.10-noarch-1” from /testing.
7. In /slackware/l replace “alsa-driver-1.0.8_2.4.29-i486-1” with “alsa-driver-1.0.8_2.6.10-i486-1” from /testing.
8. Make your custom Slackware-10.1-install-d1.iso:
Quote:
mkisofs -l -o /<target>/<path>/slackware-2.6.iso \
-R -J -V "Slackware 2.6" \
-x ./bootdisks \
-x ./extra \
-x ./slackware/gnome \
-x ./slackware/kde \
-x ./slackware/kdei \
-x ./pasture \
-x ./patches \
-x ./rootdisks \
-x ./source \
-x ./zipslack \
-hide-rr-moved \
-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
-sort isolinux/iso.sort \
-b isolinux/isolinux.bin \
-c isolinux/isolinux.boot \
-A "Slackware Install CD" .
|
Burn your install-iso and boot up using the custom 2.6 kernel ("sata.i" for example). Follow the setup as usual.
Note: During package selection install "kernel-generic" and "kernel-modules" from the "a"-series and (optional) "kernel-source" from "k"-series. When the installer asks which kernel to install choose the last option: "Skip and use default kernel: /boot/vmlinuz" or something like that. This means that you are going to use Slackware's 2.6 kernel out of the "kernel-generic"-package.
Finish installation. Before you reboot, make sure your system is bootable! I had to build the initrd following Pat's mini howto. Read /testing/packages/linux-2.6.10/README.initrd.
For my ICH5-sata controller and ext2 filesystems on the /root- and a separate /boot-partition I did the following:
Quote:
mkdir -p /mnt/tmp
mount /dev/<root partition> /mnt/tmp
chroot /mnt/tmp
mount /proc
mount /<other partitions>
cd /boot
mkinitrd -c -k 2.6.10 -m libata:ata_piix -r /dev/sda2
|
Edit /etc/lilo.conf and run
Unmount filesystems:
Quote:
umount /<other partitions>
umount /proc
|
Press Ctrl+Alt+Del to reboot.
I've tested my custom install CD on two computers and found no flaws using this procedere. I'd like to read further hints and comments from you.
Greetings
Lemmy
Update 2005/04/15: Updated the last section for correct unmounting.
Update 2006/05/19: Small cleanups: Checksum adjustments not needed.