For those who like to build new kernel, or update. This is the quick summary:
1) take the fresh image on at least 2GB DS card and expand with sudo fdisk /dev/mmcblk0 and sudo resize2fs /dev/mmcblk0p2
2) install compile-essentials, pkg-config, bash, grep, gzip, squashfs-tools and linux-3.18.y_api_headers and download mkknlimg
3) follow the steps:
mkdir /mnt/mmcblk0p2/pi
cd /mnt/mmcblk0p2/pi
sudo git clone --depth=1 https://github.com/raspberrypi/linux
cd /mnt/mmcblk0p2/pi/linux
sudo zcat /proc/config.gz > ./.config
sudo chown -R tc:staff ./linux
make
sudo make dtbs_install
mkknlimg arch/arm/boot/zImage /mnt/mmcblk0p2/pi/kernel.img
4) Backup the original kernel modules and build new ones:
sudo make modules_install
5) Than compress the kernel modules with:
sudo gzip -r ./kernel
6) Remaster the initrd file only with the minimum modules. Use the old backup for reference.
7) Another needed modules may be loaded via the tcz extension which may be created like this:
mksquashfs module module.tcz