Tiny Core Linux

Tiny Core Base => TCB Q&A Forum => Topic started by: Joan Batet on December 03, 2009, 04:30:00 AM

Title: TC 2.6 kernel customization problem
Post by: Joan Batet on December 03, 2009, 04:30:00 AM
Hi all,

I'm trying to compile a few modules (I don't want to touch the shipped bzImage), but it appears that the kernel version with ships TC 2.6 has a few problems.

The "problematic" modules are: 8021q VLAN and the bonding driver. I've used the config-2.6.29.1-tinycore which is at the FTP (make oldconfig), added a few modules (make menuconfig) and compile the new modules (make modules).

All the modules can load correctly (netfilter, QoS, etc), but this modules not.

I've compiled other kernels (2.6.30.9 vanilla, 2.6.31.6 vanilla) with no problems at all.

So, the question is: will be the kernel updated in a near future?

Thanks
Joan
Title: Re: TC 2.6 kernel customization problem
Post by: ^thehatsrule^ on December 03, 2009, 05:29:44 PM
A kernel update will happen at the next major release (3.x).  Currently there is no time frame.
Title: Re: TC 2.6 kernel customization problem
Post by: danielibarnes on December 03, 2009, 05:48:49 PM
Did you apply the patch before make oldconfig? My steps are:
1) extract 2.6.29.1 kernel (from kernel.org)
2) make mrproper
3) patch kernel using 2.6.29.1-tinycore.patch
4) Copy config-2.6.29.1-tinycore as .config
5) make oldconfig
6) make menuconfig
7) make modules

I actually make only the modules I need because it's faster than making all of them with "make modules."
Title: Re: TC 2.6 kernel customization problem
Post by: Joan Batet on December 04, 2009, 06:33:26 AM
I've used linux-2.6.29.1-patched.tar.bz2 from the repo.

The other steps (from 4 to 7) are the same. It appears to be a problem with this modules in this kernel version (LKML) ... :-(

Thanks, I'll wait next release :-)
Title: Re: TC 2.6 kernel customization problem
Post by: curaga on December 04, 2009, 03:07:11 PM
What errors did you get from the loading?
Title: Re: TC 2.6 kernel customization problem
Post by: neonix on December 08, 2009, 02:11:18 PM
I have few questions about kernel compilation process.

1. How to compile only 2 modules instead of all?
2. Where I can find compiled modules, when I compile it?
3. Is there any chance to place linux-2.6.29.1-patched.tar.bz2 in REPO as an extension?
4. I have a problem with kernel compilation. When I unpack linux-2.6.29.1-patched.tar.bz2 in /mnt/sda5/ and type "make bzImage" it show error:

Quote
# make bzImage
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
ln: include/asm: Operation not permitted
make: *** [include/asm] Error 1

But when I place it in /home/tc/ all works very well.
Title: Re: TC 2.6 kernel customization problem
Post by: Arslan S. on December 08, 2009, 02:21:39 PM
you need to configure it first
make oldconfig
make menuconfig
then make bzImage

why do you want to make an archieve file extension?

tiny core wiki has an article about kernel customization
http://wiki.tinycorelinux.com/tiki-index.php?page=Custom+Kernel (http://wiki.tinycorelinux.com/tiki-index.php?page=Custom+Kernel)
Title: Re: TC 2.6 kernel customization problem
Post by: danielibarnes on December 08, 2009, 02:53:07 PM
Quote
1. How to compile only 2 modules instead of all?
For example, to build the BusLogic SCSI driver, I execute:
make scsi/BusLogic.ko

Quote
2. Where I can find compiled modules, when I compile it?
In the dir with the source. I build each module individually, gzip it, and then copy it to the proper location in /usr/local/lib/modules/2.6.29.1-tinycore/kernel/drivers

Quote
3. Is there any chance to place linux-2.6.29.1-patched.tar.bz2 in REPO as an extension?
It is located on the current release (http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/src/) web page.

Quote
4. I have a problem with kernel compilation.
What I do works for me. I never tried the patched source. I always patch the vanilla kernel myself. Make sure you have the necessary extensions installed. Here is what I load:
advcomp.tcz, autoconf.tcz, automake.tcz, base-devs.tcz, bash.tcz, binutils.tcz, bison.tcz, coreutils.tcz, diffutils.tcz, file.tczl, findutils.tcz, flex.tcz, gawk.tcz, gcc.tcz, gcc_libs.tczl, gperf.tcz, grep.tcz, m4.tcz, make.tcz, patch.tcz, perl5.tcz, pkg-config.tcz, sed.tcz, tar.tcz

Here is my script (http://forum.tinycorelinux.net/index.php?topic=677.msg22028#msg22028)
Title: Re: TC 2.6 kernel customization problem
Post by: Juanito on December 08, 2009, 10:27:39 PM
I like that, advcomp to further compress the gzipped kernel modules, no doubt  :)

I don't think autoconf/automake are required to compile the kernel are they?
Title: Re: TC 2.6 kernel customization problem
Post by: danielibarnes on December 09, 2009, 11:52:08 AM
Perhaps not, but that is the group of extensions I load for compiling in general. Ideally, I'd like to have my script check for all the required binaries and alert the user. It works for now; I'll get around to refining it later.
Title: Re: TC 2.6 kernel customization problem
Post by: neonix on December 16, 2009, 07:50:41 AM
I discovered that kernel compilation problem was caused by lack of swap partition. Now I have another question. How to turn off udev when booting, or at least reduce some of its elements? Is there any bootcode?