VECHIEF - KERNEL HOWTO ----------------------- We need to put the kernel into 1. The TARGET (vmlinuz, System.map, config, modules, header) 2. The MEDIA (ide, scsi) Vechief allows 3 ways to do that 1. Original from Slackware 2. Original from VL 3. New from HOST 1. FROM SLACKWARE ----------------- We should let v2-base (through v21-base-slack*) install the required packages from Slackware CDROM, to the TARGET including: - kernel-ide - kernel-modules - kernel-header - alsa-driver (for kernel 2.4.x) Then copy the original ide/scsi kernel from Slackware CDROM to the MEDIA. To achieve that, edit config.vl as follow ##----------------------------------------- ## KERNEL ## Optionally, tell the kernel VERSION ## If you don't know, uncomment this export KERNEL_VERSION="2.4.27" ## DO NOT define these ## Kernel to be copied to the TARGET #export KERNEL_BOOT=/boot #export KERNEL_MODULES=/lib/modules/$KERNEL_VERSION #export KERNEL_SOURCE=`readlink $KERNEL_MODULES/build` ## Kernel to be copied to the MEDIA for CDROM INSTALL ## These examples get the original kernels from Slackware CDROM export KERNEL_IDE=$CDROM/kernels/bare.i/bzImage export KERNEL_SCSI=$CDROM/kernels/scsi.s/bzImage ##------------------------------------------ 2. FROM VL ---------- The kernel on the TARGET will be installed by v22-base-vl*. We should leave the kernel on the TARGET as is, but copy ide/scsi kernel from the CDROM for the MEDIA. Edit the config.vl like this: ##----------------------------------------- ## KERNEL ## Optionally, tell the kernel VERSION ## If you don't know, uncomment this export KERNEL_VERSION="2.4.27" ## DO NOT define these ## Kernel to be copied to the TARGET #export KERNEL_BOOT=/boot #export KERNEL_MODULES=/lib/modules/$KERNEL_VERSION #export KERNEL_SOURCE=`readlink $KERNEL_MODULES/build` ## Kernel to be copied to the MEDIA for CDROM INSTALL ## These examples get the original kernels from VL CDROM export KERNEL_IDE=$CDROM/isolinux/kernel/ide export KERNEL_SCSI=$CDROM/isolinux/kernels/scsi ##------------------------------------------ 3. FROM HOST (new) ------------------ Ok, this a bit complicated. Firtsly of course, compile the kernel on the HOST. I believe you know how to do that. In the end, we expect to have these on the HOST - Kernel ide : /boot/vmlinuz-VERSION - Config : /boot/config-VERSION - System map : /boot/System.map-VERSION - Kernel modules : /lib/modules/VERSION - Kernel source : /usr/src/linux-VERSION (no need to clean it) Then compile this separatelly : - Kernel scsi+sata: /boot/vmlinuz-scsi-VERSION It is better if you boot the host using that new kernel. To eneble vechief copying that kernel into the TARGET and MEDIA, edit config.vl like this: ##----------------------------------------- ## KERNEL # Specify the kernel to be copied to the TARGET # Defining this won't hurt but helps some sloppy detection # export KERNEL_VERSION="2.4.27" ## Example to autodetect kernel version from the host export KERNEL_VERSION=`uname --kernel-release` # Define the KERNEL_BOOT to copy other kernel to the TARGET. # If not defined, the original kernel from CDROM will stay as is export KERNEL_BOOT=/boot export KERNEL_MODULES=/lib/modules/$KERNEL_VERSION export KERNEL_SOURCE=`readlink $KERNEL_MODULES/build` ## Kernel to be copied to the MEDIA for CDROM INSTALL ## These examples get the host kernel export KERNEL_IDE=$KERNEL_BOOT/vmlinuz-$KERNEL_VERSION export KERNEL_SCSI=$KERNEL_BOOT/vmlinuz-scsi-$KERNEL_VERSION ##------------------------------------------ 4. INITRD.GZ -------------------- Since Slackware 10 (or 9.1 maybe), Patrick has provided initrd.gz capability to allow the kernel loading some modules during the boot. Vector Linux uses it this way: - Provides only a generic kernel (the vmlinuz) with basic capability to boot IDE device and ext2, ext3, reiserfs partition. - Provides an initrd.gz that contain modules for loading more devices (scsi, sata). This will be packed as initrd-scsi.bz2 along with the core veclinuz.bz2. Users may install this bulk during the setup, and vliloconf will pick the initrd.gz automatically. If you have setup the config.vl properly, initrd.gz will be created automatically when you call v3-kernel.