NOT FOR NEWBIES!!!!!
Here's how I did it:
1: Make sure your custom kernel has the cdrom filesystem and ext2 options COMPILED IN. (Or you'll get the dreaded VFS: Kernel Panic error).
2: Make a /saved directory:
cd to it, and make a directory with a name of 'custom.i'
Code:
cd /saved
mkdir custom.i
If it's a scsi kernel, use '.s' instead. Mine is and IDE one, so I'm going to stick to that.
3: Make sure you have 'checkinstall' installed on your system. If not, you can install it from the 'extras' directory that will be made later.
4: Get this file:
http://www.slackware.com/~alien/tools/mirror-slackware-current.sh Edit it to your specs, and add in the 'forced' option so it always makes an iso, then save it. I put it in /sbin, then make it executable.
5: Run 'mirror.sh'. Burn a copy of the resultant iso's to make sure everything works.
6: Go to your kernel source directory, i.e. /usr/src/linux (I always symlink linux to my current kernel). Run 'makepkg' to make a 'source' package. Name it something with 'source' in the filename, and save it to /saved.
7: Stay in /usr/src/linux, and run 'checkinstall', saving the resultant file with 'kernel' in the name, and in /saved again
8: Copy your vmlinuz, config, and System.map to /saved/custom.i . Compress your System.map to a .gz file, and delete the System.map file. Rename the files so they are 'bzImage','config' and 'System.map.gz'
9: Go to /lib/modules/name-of-kernel and run 'makepkg' with 'module' in name, and save it to /saved
10: Go to your 'slackware-current' dir. 'cd' to 'isolinux', and open the 'isolinux.cfg' file. Add in the 'custom.i' kernel. Here's mine as an example:
Code:
default /kernels/bare.i/bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bare.i
prompt 1
timeout 1200
display message.txt
F1 message.txt
F2 f2.txt
F3 f3.txt
label linux
kernel /kernels/bare.i/bzImage
append -
label adaptec.s
kernel /kernels/adaptec.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=adaptec.s
label ataraid.i
kernel /kernels/ataraid.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=ataraid.i
label bare.i
kernel /kernels/bare.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bare.i
label bareacpi.i
kernel /kernels/bareacpi.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=bareacpi.i
label custom.i
kernel /kernels/custom.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=custom.i
label ibmmca.s
kernel /kernels/ibmmca.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=ibmmca.s
label jfs.s
kernel /kernels/jfs.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=jfs.s
label old_cd.i
kernel /kernels/old_cd.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=old_cd.i
label pportide.i
kernel /kernels/pportide.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=pportide.i
label raid.s
kernel /kernels/raid.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=raid.s
label sata.i
kernel /kernels/sata.i/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=sata.i
label scsi.s
kernel /kernels/scsi.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=scsi.s
label scsi2.s
kernel /kernels/scsi2.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=scsi2.s
label scsi3.s
kernel /kernels/scsi3.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=scsi3.s
label speakup.s
kernel /kernels/speakup.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=speakup.s
label test26.s
kernel /kernels/test26.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=test26.s
label xfs.s
kernel /kernels/xfs.s/bzImage
append initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram SLACK_KERNEL=xfs.s
Save as isolinux.cfg in your /saved folder
11: Open edit the 'f3.txt' file, and add in your 'custom.i' kernel info, and save to /saved
12: Go to your 'mirror.sh', and edit that. Find the following lines:
Code:
cd ${SLACKROOTDIR}/${SLACKCURRENT}
umask 022
# USe '-rlptD' instead of '-a' so that we don't preserve file ownership -
# so that we can switch mirrors and still all files will be owned root:root.
/usr/bin/rsync --delete -z -rlptD $VERBOSE \
--exclude "pasture/*" \
${RSYNCURL}/ .
# Actually, run rsync again, since it happens that we hit the master server
# while it is still sync-ing itself.
/usr/bin/rsync --delete -z -rlptD $VERBOSE \
--exclude "pasture/*" \
${RSYNCURL}/ .
echo "`date` [$$]: Done mirroring ${SLACKCURRENT} (exit code $?)."
And add in the follwing right after (substituting correct paths for slackware-current and /saved and file names for packages)):
Code:
mv /saved/isolinux.cfg /slackware-current/isolinux/isolinux.cfg
mv /saved/custom.i /slackware-current/kernels/
mkdir /slackware-current/test/packages/linux-2.6.17-rc3
mv /saved/kernel-package.tgz /slackware-current/testing/packages/linux-2.6.17-rc3/kernel-package.tgz
mv /saved/kernel-source-package.tgz /slackware-current/testing/packages/linux-2.6.17-rc3/kernel-source-package.tgz
mv /saved/kernel-modules-package.tgz /slackware-current/testing/packages/linux-2.6.17-rc3/kernel-modules-package.tgz
rm /slackware-current/isolinux/isolinux.cfg
cp isolinux.cfg /slackware-current/isolinux/isolinux.cfg
rm /slackware-current/isolinux/f3.txt
cp /saved/f3.txt /slackware-current/isolinux/f3.txt
echo " Tranferred your new stuff to the slackware-current directory"
13: Backup your /saved directory Just in case, it makes it ALOT easier to restore the files to /saved), and run 'mirror.sh' again, burn the new install cds and check it out....
Now, I haven't done a full install again yet, just the beginning part to see if the custom.i kernel loads, and it does.
After install is over, and you rebooted, go to 'testing', and installpkg on all your new kernel packages.
Hope this helps. I am now going to 'recompile' my bloody kernel again, and do the same process, including a fresh install....
My next post on this thread should be with the new custom.i kernel installed by the installer....