**** Install Slackware without having a bootkernel for the internal disk **** **** Kees Lemmens, July 2005 **** In some cases with very special (SCSI) hardware you can't get the Slackware or SlamD64 install bootdisk to recognize your disk when booting up from the supplied kernels. In such cases you may use the following procedure to install : 1) Boot from the Slackware install/bootdisk and use the standard bare.i kernel 2) When the system is booted and the SCSI disk and/or SCSI interface is not recognized try to find out which kernel driver you need to recognize the interface. The 'lspci' command may be useful for this, but also Google may be helpful ;-) Example : on our IBM Opteron 64 systems lspci shows : 02:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07) 3) If you know which driver you need you are almost there ! In case the driver is already in the Linux kernel sources and is part of the Slackware kernel modules (which will be true in more than 90 % of the cases) you simply extract the module(s) from the kernel-module package and load them using insmod : a) mount the boot cdrom e.g. : mount /dev/hdc /mnt/cdrom (depending on where your cdrom is connected) b) goto the A packages dir : cd /mnt/cdrom/slackware/a c) list the kernel-modules package and check if you can locate the driver(s) : tar -tzf kernel-modules-2.6.11.10-x86_64-1.tgz | more d) unpack the module(s) you need in the boot RAMdisk using tar -xvzf (note that the boot RAM disk is rather small, so do NOT unpack the whole package !) e) Load these modules with insmod and check with dmesg if the disk is recognized f) Check if you can partition the disk with fdisk : fdisk /dev/sda Example : for the Fusion SCSI RAID controller from above we need the "mptbase.ko" and "mptscsih.ko" modules in the drivers/message/fusion dir. cd / tar -xvz /mnt/cdrom/slackware/a/kernel-modules-2.6.11.10-x86_64-1.tgz lib/modules/2.6.10.11/kernel/drivers/message/fusion cd /lib/modules/2.6.10.11/kernel/drivers/message/fusion insmod mptbase insmod mptscsih 4) If the disk is recognized you can now simply run "setup" and start a normal Slackware install procedure. 5) If everything is installed you have to make sure that the boot kernel contains the driver you need to recognize the disk BEFORE rebooting ! Note that loading a module is not enough as you can't access the disk to load the module from if the module isn't loaded yet ;-) The easiest way to do this is IMO the following : a) Start a new session on the disk that was just installed : chroot /mnt b) Go to /usr/src/linux and compile a special kernel containing the appropriate drivers. c) Copy that new kernel (bzImage) to /boot/vmlinuz d) Rerun lilo e) Exit from the chroot environment An alternative may be to use "initrd" to load the necessary modules from an intermediate RAM disk. This procedure is described in /boot/README.initrd so there is no need to put it in this document as well. 6) Now it should be enough to reboot the system and let it boot from the harddisk !