> A patch has been sent, but Alan waits the IDE code to be stable enough.

he retired from active work for a year now so it is unlikely it
is going to be fixed (by him) any time soon.

> 
> But this problem can be avoided if we keep IDE support
> built-in (CONFIG_IDE=y, CONFIG_BLK_DEV_IDE=y).
> So general IDE module won't load, but we can try to load IDE chipset
> modules.
> 

we are likely to have early initialization problem then. I do not
know if it really possible to change chipset driver after it has
already started (even the most generic one). The same for FB support :(

[...]
> Can we assume that the module size is roughly the same size as if
> it was built-in ?

probably. we get the same exported symbols (that are added to main
kernel) and the same code.

modpost adds some aliases so actually it will be smaller builtin.

> I can provide you the kernel config files from Fedora, made by Arjan
> van de Ven, his kernel is only 1.2 MiB IIRC.
>

I would be really interested to see how Arjan packages kernel source.
 
> I've to work on kernel-2.6-source package too, I don't really know how
> I'll do it, perhaps a main kernel-2.6-source package with additionnals
> kernel-2.6-source-<flavor> binary packages that conflicts between them.
>

I'm still thinking about it.

Vanilla kernel build requires at least ($src refers to source kernel
directory and $build to uidl kernel directory, They can differe, works
just fine. Third directory $module is external module build directory)

- $build/scripts/* be present. They are the same for all flavours
- $build/vmlinux be present
- it writes into $builld/.tmp_versions during build

modversions adds

- it requires *all* $build/**/module.o files
- it writes in $build/.tmp_versions for new modules
- it expects *all* modules be in $build/.tmp_versions. modpost
is run on that list
- moreover, it also requires all $build/**/*.ko files be present!
- it leaves reference to $module under $build/.tmp_versions which
means, it will attempt to access it when you build different module!

all in all it means that
 - you must be root or $build/.tmp_versions must be all-writable
 - you actually have to ship large part of binary modules; and it
   is possible that due to make rules you even have to ship all
   intermediate *.o files :(

I do not see how it is possible to cleanly compile external module
in 2.6. It is completely screwed up.



Reply via email to