On Fri, 29 Oct 2010 01:50:35 +0100, Michael Brown <mbrown at fensystems.co.uk> wrote: > 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
Thanks, this helped, it builds now. Also needed to add '/usr/local/share/syslinux/isolinux.bin' to ISOLINUX_BIN_LIST in arch/i386/Makefile. As this is the directory isolinux resides in FreeBSD. Jedrzej -- JK

