grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub 1.99 add own module / dep problem


From: Robert Schumann
Subject: Re: grub 1.99 add own module / dep problem
Date: Thu, 09 Feb 2012 12:59:12 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.23) Gecko/20090812 Lightning/0.9 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Vladimir!

Thanks for your timely response :)

Am 09.02.2012 12:13, schrieb Vladimir 'φ-coder/phcoder' Serbinenko:
> On 09.02.2012 10:47, Robert Schumann wrote: Heyho guys!
> 
> I'm sorry if I didn't RTFM somewhere but I just couldn't find
> _any_ information on how to correctly add/patch own modules into
> the grub 1.99. The problem:
> 
> 1. mymod.c depends on a function in biosdisk.c
>> Avoid this as much as possible. Biosdisk is arch-specific, use
>> generic disk functions.

Totally agreed here, but this is the use-case, which I think I cannot
modify. I have to stick with biosdisk functions for now, but I'll look
into better alternatives (for future use).

> 2. mymod.c includes the biosdisk.h header correctly I suppose 3. I
> patched grub-core/Makefile.core.def with
> 
> module = { name = mymod; common = mymod/mymod.c; enable =
> biosdisk;
>> enable=i386_pc; not biosdisk

Alright, I had this too but still with Makefile.core.am changes, maybe
that's why it didn't work ;-)

> };
> 
> 4. I patched grub-core/Makefile.core.am with basically a copy from
> the hello.c module stuff (although I should probably take the arch 
> dependend definitions from biosdisk mod? but I'm building i386 so
> it should work any way?)
>> Don't touch this file. Just rerun ./autogen.sh

Oh ok, that sounds indeed simple, thanks for this pointer!

> 5. ./configure&&  make works as expected for another module which 
> doesn't include a foreign function.
> 
> 6. For mymod.c I receive mymod/mymod.c:68: error: implicit
> declaration of function 'grub_biosdisk_get_diskinfo_standard'
>> This function is static ("private"). Moreover it's for very old
>> C/H/S addressing. Looks like you're going the wrong way. Can you
>> detail what's your end goal?

Basically it's about NTFS system partition imaging. Relocating of the
NT bootloader ntldr seems to need a run of "ntfsreloc" with the proper
BIOS values in CHS format. I'm open to every better idea, but that
seemed to be the only reliable way (at least on this i386 Win XP
platform).

> which is of course in biosdisk.c. Now my question: How do I solve
> this mystery on a code/patch base? ;) I know that I can add the
> biosdisk.c to the common code functions, but that shouldn't be
> necessary, huh? I thought that enable = biosdisk would do the trick
> with linked functions, but well... maybe you could shed some light
> on it.
>> Dependencies are tracked automatically.

Another good news, thank you very much!

Cheers
Robert

- -- 

|-------------------------------------------------address-+
| work:  jacob-und-wilhelm-grimm-zentrum
|        geschwister-scholl-str. 1, 10117 berlin
| mail:  humboldt-universität zu berlin
|        computer- und medienservice
|        unter den linden 6, 10099 berlin
|-------------------------------------------------contact-+
| mail:  address@hidden
| icq:   93163687  |  xmpp:  address@hidden
| fb:    fb.com/rschumann  |  phone:  +49(0)30-2093-70133
|-------------------------------------------------gpg/pgp-+
| key:   remembrance.de/gpg/0xA5A5FAA2.asc
| fprnt: 9220-9732-7390-7A0C-5623-3336-4233-FDF8-A5A5-FAA2
|---------------------------------------------------------+

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8ztRAACgkQQjP9+KWl+qKmAQCffcAHDBNL+W+GQeuycPnkDuc6
V0gAoJanFp9klu6ffLgWuRe+kQp3yvQk
=NprO
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]