[Buildroot] grub compilation issue (x86_64 target)
vbr vbr
vvvg77 at gmail.com
Wed Jul 21 19:09:15 UTC 2010
Thanks for the quick answer.
Just playing to see the feasability of using buildroot as a diagnostic OS on
x86_64 servers. It is not meant to be the real OS running on these servers.
One thing I am confused about is that ISO support was added recently for
x86_64 targets in buildroot and it seems that ISO requires grub (from
menuconfig). If grub is not supported, then ISO can't be supported either
for x86_64. Also, I am pretty sure that grub was building fine on buildroot
2010.05 for x86_64. I could check that again.
Thanks
Vincent
On Wed, Jul 21, 2010 at 11:59 AM, Thomas Petazzoni <
thomas.petazzoni at free-electrons.com> wrote:
> Hello,
>
> On Wed, 21 Jul 2010 08:11:24 -0700
> vbr vbr <vvvg77 at gmail.com> wrote:
>
> > There seems to be a compilation issue in the grub area with
> > buildroot's latest code (git) with x86_64 target. (or maybe it's just
> > my setup) After googling a little bit, the type of error shown in the
> > config.log seems to indicate a missing library.
> > I attached the config log and my buildroot config.
>
> Yes, this is due to the fact that Grub uses the x86_64
> cross-compilation toolchain with the -m32 gcc switch, in order to
> produce 32 bits binaries. Unfortunately, the toolchain that Buildroot
> produces is a pure 64 bits toolchain, so it cannot support the -m32
> switch.
>
> I see four possible solutions to this :
>
> *) Extend the Buildroot toolchain build system so that it can produce
> a 32/64 bits multilib toolchain that supports -m32. As embedded on
> x86_64 is very uncommon, I'm not sure we'll find someone who is
> interested to work on this.
>
> *) Extend Crosstool-NG so that it can produce such a 32/64 bits
> toolchain and then use it as an external toolchain. I've started to
> work on multilib support for Crosstool-NG, but it's far from being
> ready at the moment.
>
> *) Somehow make Buildroot generate two toolchains, a 32 bits one used
> to compile Grub, and a 64 bits toolchain to compile all the rest.
> Since would involve fairly large and complicated modifications,
> which I'm not sure we're ready to do for such a untypical use-case.
>
> *) Mark Grub as broken on x86_64 so that it cannot be compiled. I
> think this is the solution we're going to choose. Grub can always
> be compiled outside of Buildroot, and the build of bootloaders is
> not the biggest added value of embedded build systems such as
> Buildroot anyway.
>
> Just out of curiosity, what is your use case for using Buildroot on a
> x86_64 machine ? Is it just for experimenting/playing, or are they real
> embedded products out there using x86_64 and that have footprint
> requirements that make using Buildroot an interesting thing compared to
> using full-blown distributions ?
>
> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20100721/fbc5ee66/attachment-0002.html>
More information about the buildroot
mailing list