* [Buildroot] grub compilation issue (x86_64 target)
@ 2010-07-21 15:11 vbr vbr
2010-07-21 18:59 ` Thomas Petazzoni
0 siblings, 1 reply; 6+ messages in thread
From: vbr vbr @ 2010-07-21 15:11 UTC (permalink / raw)
To: buildroot
Hi,
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.
Vincent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20100721/69a5bed9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.log
Type: text/x-log
Size: 11511 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20100721/69a5bed9/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: br.config
Type: application/octet-stream
Size: 18462 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20100721/69a5bed9/attachment-0001.obj>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] grub compilation issue (x86_64 target)
2010-07-21 15:11 [Buildroot] grub compilation issue (x86_64 target) vbr vbr
@ 2010-07-21 18:59 ` Thomas Petazzoni
2010-07-21 19:09 ` vbr vbr
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2010-07-21 18:59 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 21 Jul 2010 08:11:24 -0700
vbr vbr <vvvg77@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] grub compilation issue (x86_64 target)
2010-07-21 18:59 ` Thomas Petazzoni
@ 2010-07-21 19:09 ` vbr vbr
2010-07-22 0:33 ` Paul Jones
0 siblings, 1 reply; 6+ messages in thread
From: vbr vbr @ 2010-07-21 19:09 UTC (permalink / raw)
To: buildroot
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@free-electrons.com> wrote:
> Hello,
>
> On Wed, 21 Jul 2010 08:11:24 -0700
> vbr vbr <vvvg77@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.html>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] grub compilation issue (x86_64 target)
2010-07-21 19:09 ` vbr vbr
@ 2010-07-22 0:33 ` Paul Jones
2010-07-22 1:19 ` vbr vbr
0 siblings, 1 reply; 6+ messages in thread
From: Paul Jones @ 2010-07-22 0:33 UTC (permalink / raw)
To: buildroot
Could you just use the 32bit x86 rather than the x86_64? I do this myself
for testing and it works fine.
Paul.
From: buildroot-bounces@busybox.net [mailto:buildroot-bounces at busybox.net]
On Behalf Of vbr vbr
Sent: Thursday, 22 July 2010 5:09 AM
To: Thomas Petazzoni
Cc: buildroot at busybox.net
Subject: Re: [Buildroot] grub compilation issue (x86_64 target)
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@free-electrons.com> wrote:
Hello,
On Wed, 21 Jul 2010 08:11:24 -0700
vbr vbr <vvvg77@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/20100722/b1520fcd/attachment.html>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] grub compilation issue (x86_64 target)
2010-07-22 0:33 ` Paul Jones
@ 2010-07-22 1:19 ` vbr vbr
2010-07-22 16:22 ` vbr vbr
0 siblings, 1 reply; 6+ messages in thread
From: vbr vbr @ 2010-07-22 1:19 UTC (permalink / raw)
To: buildroot
That's what I had just decided earlier today. :-)
While trying to boot the ISO, I am getting a "image too big" error. My
rootfs.iso9660 is about 315 MB. This seems huge, I was expecting something
about 20MB. As I am a buildroot beginner, I only changed a few config
parameters. Do these sizes sound reasonable??
[vincent at 192.168.0.1 buildroot-2010.05]$ ls -al output/images/
total 622044
drwxr-xr-x 2 root root 4096 Jul 15 10:23 .
drwxr-xr-x 9 vincent users 4096 Jul 14 14:49 ..
-rw-r--r-- 1 root root 2528704 Jul 15 15:41 bzImage
-rw-r--r-- 1 root root 315383808 Jul 15 16:07 rootfs.ext2
-rw-r--r-- 1 root root 318392320 Jul 15 16:07 rootfs.iso9660
Thanks
Vincent
On Wed, Jul 21, 2010 at 5:33 PM, Paul Jones <paul@pauljones.id.au> wrote:
> Could you just use the 32bit x86 rather than the x86_64? I do this myself
> for testing and it works fine.
>
>
>
>
>
> Paul.
>
>
>
>
>
> *From:* buildroot-bounces at busybox.net [mailto:
> buildroot-bounces at busybox.net] *On Behalf Of *vbr vbr
> *Sent:* Thursday, 22 July 2010 5:09 AM
> *To:* Thomas Petazzoni
> *Cc:* buildroot at busybox.net
> *Subject:* Re: [Buildroot] grub compilation issue (x86_64 target)
>
>
>
> 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@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
>
>
>
> _______________________________________________
> 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/34be5854/attachment-0001.html>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] grub compilation issue (x86_64 target)
2010-07-22 1:19 ` vbr vbr
@ 2010-07-22 16:22 ` vbr vbr
0 siblings, 0 replies; 6+ messages in thread
From: vbr vbr @ 2010-07-22 16:22 UTC (permalink / raw)
To: buildroot
i386/ISO/grub/ext2 combination is working for me. I was able to fully boot
buildroot on qemu for the first time. Used initrd as main fs which will
allow to run diagnostics without disk. :-)
Thanks
Vincent
On Wed, Jul 21, 2010 at 6:19 PM, vbr vbr <vvvg77@gmail.com> wrote:
> That's what I had just decided earlier today. :-)
>
> While trying to boot the ISO, I am getting a "image too big" error. My
> rootfs.iso9660 is about 315 MB. This seems huge, I was expecting something
> about 20MB. As I am a buildroot beginner, I only changed a few config
> parameters. Do these sizes sound reasonable??
>
> [vincent at 192.168.0.1 buildroot-2010.05]$ ls -al output/images/
> total 622044
> drwxr-xr-x 2 root root 4096 Jul 15 10:23 .
> drwxr-xr-x 9 vincent users 4096 Jul 14 14:49 ..
> -rw-r--r-- 1 root root 2528704 Jul 15 15:41 bzImage
> -rw-r--r-- 1 root root 315383808 Jul 15 16:07 rootfs.ext2
> -rw-r--r-- 1 root root 318392320 Jul 15 16:07 rootfs.iso9660
>
> Thanks
> Vincent
>
>
>
>
> On Wed, Jul 21, 2010 at 5:33 PM, Paul Jones <paul@pauljones.id.au> wrote:
>
>> Could you just use the 32bit x86 rather than the x86_64? I do this myself
>> for testing and it works fine.
>>
>>
>>
>>
>>
>> Paul.
>>
>>
>>
>>
>>
>> *From:* buildroot-bounces at busybox.net [mailto:
>> buildroot-bounces at busybox.net] *On Behalf Of *vbr vbr
>> *Sent:* Thursday, 22 July 2010 5:09 AM
>> *To:* Thomas Petazzoni
>> *Cc:* buildroot at busybox.net
>> *Subject:* Re: [Buildroot] grub compilation issue (x86_64 target)
>>
>>
>>
>> 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@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
>>
>>
>>
>> _______________________________________________
>> 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/20100722/da91741a/attachment.html>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-07-22 16:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-21 15:11 [Buildroot] grub compilation issue (x86_64 target) vbr vbr
2010-07-21 18:59 ` Thomas Petazzoni
2010-07-21 19:09 ` vbr vbr
2010-07-22 0:33 ` Paul Jones
2010-07-22 1:19 ` vbr vbr
2010-07-22 16:22 ` vbr vbr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox