UPDATEThis tutorial is valid for Microcore Linux up to version 3.8.x, kernel 2.6.33.3. The newest Microcore 4.0 with the kernel 3.0.3 loads 8021q module without any difficulties.

Recently I have decided to add support for 802.1Q to Microcore Linux. First I tried to install 8021q-2.6.33.3-tinycore.tcz extension which is available for download in the Tinycore Linux 3.x repository. This extension is 8021q module that we can simply load with command modprobe 8021q to the kernel. Unfortunately, after I tried to load the module I always kept this error message:

This was the same error which was originally presented in this topic but there was not solution mentioned there except of simply saying - it is working now. Unfortunately, I deal with the error even when I had compiled 8021q module by my own. For this reason I decided to compile my own linux kernel with direct support for 8021q Vlan tagging.

The kernel version 2.6.33.3 is the kernel which is used by Linux Microcore 3.x. These are the steps you need to follow to compile and install the kernel:

1. Install Microcore Linux

I assume you have your Microcore already installed. I mainly use Linux Microcore installed on Qemu image in GNS3 environment to simulate PC hosts on LAN. In order to start your Microcore Qemu image invoke this command:

qemu -no-acpi -boot c linux-microcore-3.6.img -m 1500M

I have noticed we need to have enough RAM assigned for the image thus to use of tmpfs in which are files stored. Also the content saved in this filesystem will be lost after reboot. To avoid lost of new kernel we need later to do some steps to have kernel kept in /usr/src/ after reboot.

2. Download and untar Linux kernel 2.6.33.3 which is patched for Microcore Linux

After finishing, your new kernel bzImage is saved to /usr/src/linux/arch/x86/boot/. Replace old kernel with the new one and reboot. After the boot, check the version of the built kernel with uname -ra command.

mv /usr/src/linux/arch/x86/boot/bzImage /mnt/hda1/boot/

Note: In case you don't want to bother yourself with building your kernel, you can download my bzImage. It is the kernel 2.6.33.3, dedicated for Microcore 3.x. Just replace /mnt/hda1/boot/bzImage with this file.