How To Update The Kernel For Smoothwall Express 3.0
This is a guide for building a new kernel for Smoothwall Express 3.0. Smoothwall Express 3.0 is a UTM Internet Gataway Distro for X86 PC. But it is mainly used on older 386 PCs. If you want use it on a newer CPU, you will only get a "386"PC. So we must update the kernel for SW 3.0.
Here we suppose you have downloaded and installed SW3.0 DEV distro and have built your own SW3.0.
Move Patched Linux Source to /usr/src
mv /usr/src/expresscore/build/source/kernelruntime /usr/src/linux
Edit lilo.conf Adding New Kernel Options
Edit /etc/lilo.conf as below:
boot=/dev/harddisk map=/boot/map install=/boot/boot-bmp.b prompt timeout=70 lba32 default=Xeon read-only root=/dev/harddisk4 bitmap=/boot/image.bmp bmp-colors=13,,12;14,,12 bmp-table=100p,348p,1,3, bmp-timer=74,29,;,, append="ramdisk_size=8192 no-scroll panic=30" image=/boot/vmlinuz-2.6.16.55 initrd=/boot/initrd-2.6.16.55.gz label=SmoothWall image=/boot/vmlinuz initrd=/boot/initrd-2.6.16.55.xeon.gz label=Xeon
Make Menuconfig with P4/Xoen/SMP and Local version
Enter linux source directory.
cd /usr/src/linux
Config kernel.
make menuconfig
Set linux local version to Xeon.
Build New Kernel
make
make modules_install
make install
Build New initrd
mkdir /temp
mkdir -p /mnt/initrd
cd /temp
cp /boot/initrd-2.6.16.55.gz .
gunzip initrd-2.6.16.55.gz
mount -t ext2 -o loop initrd-2.6.16.55 /mnt/initrd
ls /mnt/initrd/drvier/scsi/*
cp /lib/kernel/2.6.16.55Xeon/drivers/scsi/*.ko /mnt/initrd/driver/scsi/.
umount /mnt/initrd
gzip -9 /temp/initrd-2.6.16.55
cp /tmp/initrd-2.6.16.55.gz /boot/initrd-2.6.16.55.xeon.gz
reboot