Robert Millan wrote: > On Tue, Nov 04, 2008 at 08:55:52PM +0200, Vesa Jääskeläinen wrote: >> Robert Millan wrote: >>> On Sat, Nov 01, 2008 at 01:32:29PM +0100, Robert Millan wrote: >>>> Hi, >>>> >>>> Attached patch makes it possible to build modules externally, by: >>>> >>>> - Installing headers in system include dir. >>>> >>>> - Exporting two ABI tags (a build-time macro and a run-time variable) >>>> for run-time comparison. >>>> >>>> - Exporting a makefile with COMMON_*FLAGS variables. >>> Looks like I missed some important details. The headers and some macros are >>> not enough, as we need to reproduce part of the build system to build a >>> module >>> externally. This new patch provides the following: >> Interesting idea. However how do you define GRUB ABI :) ? What is it, >> kernel, certain set of modules, or how :) ? > > Anything that can possibly break an external module. I.e. any interface > exported by either the kernel or any of the modules. > > (I expect we'd bump this number a lot)
Did you have some plan how to automate this ABI versioning :) ? If it is not automated I can almost guarantee that we get it wrong at one point of time :) >> Versioning of the modules would be a good idea indeed to make sure >> mismatched modules are not tried together. > > This should never happen if user always runs grub-install (which he should > do anyway unless he's looking for trouble). My idea for external modules is > that a separate package can put them in $pkglibdir and then grub-install will > automaticaly include them the next time it's called. How do you treat differences in ABI ? Dis-allow loading of module with different value of ABI ? Or were you planning that module itself adapts to different versions of GRUB 2 ABI's? _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel