[gPXE-devel] Fwd: Re: [Xen-devel] tools: gpxe link error

Stefan Hajnoczi stefanha at gmail.com
Mon Jul 19 11:59:20 EDT 2010


On Mon, Jul 19, 2010 at 4:31 PM, Christoph Egger
<Christoph.Egger at amd.com> wrote:
>
> Please CC me as I am not subscribed.
>
>
> ----------  Forwarded Message  ----------
>
> Subject: Re: [Xen-devel] tools: gpxe link error
> Date: Monday 19 July 2010
> From: Keir Fraser <keir.fraser at eu.citrix.com>
> To: "Egger, Christoph"
> <Christoph.Egger at amd.com>, "xen-devel at lists.xensource.com"
> <xen-devel at lists.xensource.com>
>
> On 19/07/2010 15:47, "Christoph Egger" <Christoph.Egger at amd.com> wrote:
>
>> On Monday 19 July 2010 14:38:28 Christoph Egger wrote:
>>> Hi!
>>>
>>> I get a gpxe link error:
>>>
>>>   [AR] bin/blib.a
>>> ar: creating bin/blib.a
>>>   [LD] bin/rtl8139.rom.tmp
>>> arch/i386/scripts/i386.lds:1: undefined symbol 'obj_romprefix' referenced
>>> in expression
>>
>> With gmake V=1 I get:
>>
>> ld -m elf_i386 -N --no-check-sections -T arch/i386/scripts/i386.lds -u
>> obj_romprefix --defsym check_obj_romprefix=obj_romprefix -u
>> obj_rtl8139 --defsym check_obj_rtl8139=obj_rtl8139 -u obj_config --defsym
>> check_obj_config=obj_config --defsym pci_vendor_id=0 --defsym
> pci_device_id=0
>> bin/blib.a -o bin/rtl8139.rom.tmp \
>>                        -Map bin/rtl8139.rom.rmp.map
>> arch/i386/scripts/i386.lds:1: undefined symbol 'obj_romprefix' referenced in
>> expression
>
> No idea what that linker magic is intended to achieve. You'll be best off
> asking about it on the appropriate gpxe/etherboot dev list I expect. It does
> build for me on both my x86_32 and x86_64 GNU/Linux environments. Otherwise
> the best we can offer is an option to disable gpxe build, either manually or
> automatically for non-Linux environments. Obviously it would be nicer to fix
> the actual issue.
>
>  -- Keir
>
>>> Does this ring a bell to someone?
>>>
>>> Christoph

This looks like a recent issue introduced by commit
755343442d872de2831dd11f7c5be7f296a20986, which I think should
actually say bin/10ec8139.rom for the rtl8139 ROM.

You can get around this for now by *undoing* the following change:
diff --git a/src/Makefile b/src/Makefile
index 059c558..ffa046f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -95,7 +95,8 @@ INCDIRS               += include .
 # Default build target: build the most common targets and print out a
 # helpfully suggestive message
 #
-all : bin/blib.a bin/gpxe.dsk bin/gpxe.iso bin/gpxe.usb bin/undionly.kpxe
+all : bin/blib.a bin/gpxe.dsk bin/gpxe.iso bin/gpxe.usb bin/undionly.kpxe \
+      bin/rtl8139.rom
        @$(ECHO) '==========================================================='
        @$(ECHO)
        @$(ECHO) 'To create a bootable floppy, type'

ROMs need to have explicit PCI vendor and device IDs, which are put in
the ROM header so the BIOS can load them for appropriate PCI devices.

Hope this helps.  We need to fix this in gpxe.git.

Keir: Are you tracking gpxe.git/master for Xen?  Thanks for letting
gpxe-devel know about this issue.

Stefan

>
> -------------------------------------------------------
>
> --
> ---to satisfy European Law for business letters:
> Advanced Micro Devices GmbH
> Einsteinring 24, 85609 Dornach b. Muenchen
> Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
> Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
> Registergericht Muenchen, HRB Nr. 43632
>
> _______________________________________________
> gPXE-devel mailing list
> gPXE-devel at etherboot.org
> http://etherboot.org/mailman/listinfo/gpxe-devel
>


More information about the gPXE-devel mailing list