On Thursday 28 Oct 2010 08:32:36 Jedrzej Kalinowski wrote: > > As Shao says, this is due to iPXE attempting to build the > > Linux-specific code > > on a platform that doesn't have Linux-specific headers. Could you > > try the > > attached patch and see if this fixes your problem? > > It helped a bit, then gmake stoppped with the same issue on > interface/linux/linux_console.c, so I also removed 'interface/linux' > from the src/Makefile:173. The next stop is: > ... > [BUILD] bin/libprefix.o > [BUILD] bin/linuxprefix.o > arch/i386/prefix/linuxprefix.S:1:26: error: linux/unistd.h: No such > file or directory > [BUILD] bin/lkrnprefix.o > [BUILD] bin/mbr.o > [BUILD] bin/mromprefix.o > arch/i386/prefix/romprefix.S: Assembler messages: > arch/i386/prefix/romprefix.S:492: Error: `%es:build_id(%esi)' is not a > valid 16 bit base/index expression
Commit http://git.ipxe.org/ipxe.git/commitdiff/202c9c0 should hopefully fix the romprefix.S problem. (Every version of binutils that I have ever used seems to automatically add addr32 prefixes as necessary, but some versions don't - I wish I knew why.) For the linuxprefix.S issue, try just temporarily deleting that file, to see if the remainder of the tree will build. We need to find a proper fix for building on platforms without the Linux-specific headers in place. Michael

