Hello,
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
I get a compilation error saying that it cannot find limits.h. This is the complete error message:
CC libc/sysdeps/linux/common/chdir.os In file included from ./include/sys/param.h:22, from libc/sysdeps/linux/common/chdir.c:13: ./include/limits.h:124:26: error: limits.h: No such file or directory make[2]: *** [libc/sysdeps/linux/common/chdir.os] Error 1 make[1]: *** [lib/libc.so.0] Error 2 make[1]: Leaving directory `/home/cristi/soc/buildrom/buildrom-devel/work/uclibc/uClibc-0.9.29' make: *** [/home/cristi/soc/buildrom/buildrom-devel/work/uclibc/uClibc-0.9.29/lib/libc.a] Error 2
I searched google and it seems it's a toolchain error. Can someone with more experience in hacking on buildrom give me a hint about what I'm doing wrong?
Thanks, Cristi
Hello, On Sat, 2008-06-28 at 10:59 +0300, Cristi Măgherușan wrote:
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
Because buildrom is broken when it comes to building uClibc, I'm currently investigating the use of buildroot, which is the reccomended tool for this purpose. It can create the initramfs needed for inclusion in the payload, and that initramfs will contain the trimmed-down KVM tools I'm working at.
Cristi
On Sat, Jun 28, 2008 at 07:30:31PM +0300, Cristi Măgherușan wrote:
Hello, On Sat, 2008-06-28 at 10:59 +0300, Cristi Măgherușan wrote:
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
Because buildrom is broken when it comes to building uClibc, I'm
That's not true. It's certainly not *entirely* broken since I can build uclibc with buildrom on Ubuntu Dapper and Hardy, 32 bit. And I'm not 100% positive, but I think it builds fine on Hardy 64 bit too.
So if things are broken, they are likely to be toolchain issues.
Thanks, Ward.
Hello,
On Sat, 2008-06-28 at 12:43 -0400, Ward Vandewege wrote:
On Sat, Jun 28, 2008 at 07:30:31PM +0300, Cristi Măgherușan wrote:
Hello, On Sat, 2008-06-28 at 10:59 +0300, Cristi Măgherușan wrote:
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
Because buildrom is broken when it comes to building uClibc, I'm
That's not true. It's certainly not *entirely* broken since I can build uclibc with buildrom on Ubuntu Dapper and Hardy, 32 bit. And I'm not 100% positive, but I think it builds fine on Hardy 64 bit too.
I'm on Debian x86. Do you have any hints about what should I have installed/configured in order for it to work?
So if things are broken, they are likely to be toolchain issues.
I thought so too, but I couldn't figure out what could be wrong and went for another proven solution which is buildroot.
Thanks, Cristi
On Sat, Jun 28, 2008 at 08:07:28PM +0300, Cristi Măgherușan wrote:
Hello,
On Sat, 2008-06-28 at 12:43 -0400, Ward Vandewege wrote:
On Sat, Jun 28, 2008 at 07:30:31PM +0300, Cristi Măgherușan wrote:
Hello, On Sat, 2008-06-28 at 10:59 +0300, Cristi Măgherușan wrote:
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
Because buildrom is broken when it comes to building uClibc, I'm
That's not true. It's certainly not *entirely* broken since I can build uclibc with buildrom on Ubuntu Dapper and Hardy, 32 bit. And I'm not 100% positive, but I think it builds fine on Hardy 64 bit too.
I'm on Debian x86. Do you have any hints about what should I have installed/configured in order for it to work?
What version of gcc are you using? Are you on Etch?
Thanks, Ward.
On Sat, 2008-06-28 at 14:39 -0400, Ward Vandewege wrote:
What version of gcc are you using? Are you on Etch?
I'm using Debian lenny, and my gcc's version is 4.3.1. I succeeded to make a bios image with coreboot, a custom linux kernel payload with busybox, uclibc and dash. Now I'm working on automating all the build and testing process, and then I'll include the trimmed down KVM tools.
Cristi
On 28/06/08 19:30 +0300, Cristi Măgherușan wrote:
Hello, On Sat, 2008-06-28 at 10:59 +0300, Cristi Măgherușan wrote:
As part of my GSoC project, I've started making a Linux-as-Bootloader payload using buildrom, but I got stuck when compiling uclibc.
Because buildrom is broken when it comes to building uClibc, I'm currently investigating the use of buildroot, which is the reccomended tool for this purpose. It can create the initramfs needed for inclusion in the payload, and that initramfs will contain the trimmed-down KVM tools I'm working at.
Since you went to all the effort anyway, would you please document how you created the initramfs for your payload, and how you integrated it with buildrom? Eventually, I intend for buildroot to take over building LAB payloads, since it is clear that the inmates have taken over the asylum over at uclibc and are intent on making it unusable for regular users.
Jordan
Hello,
On Mon, 2008-06-30 at 09:08 -0600, Jordan Crouse wrote:
Since you went to all the effort anyway, would you please document how you created the initramfs for your payload, and how you integrated it with buildrom? Eventually, I intend for buildroot to take over building LAB payloads, since it is clear that the inmates have taken over the asylum over at uclibc and are intent on making it unusable for regular users.
I asked for a wiki account, but haven't got one yet *hint hint* :)
Well, It was quite straightforward with buildroot, just that the last steps (mkelfImage, compressing the kernel image with lzma and using coreboot) needed to be made manually. Then I decided to use buildroot with its default settings since the 2.6.22 kernel is good enough for now, and the fact that is more integrated makes it much more suitable for a development system, and I can't afford to waste time on the, collateral task of making buildroot work.
The buildroot was re-configured for my needs, I configured the kernel to contain KVM support and some other collateral things, then did the same with busybox, and I added a make test target that runs qemu with my bios image.
Afterwards, I included a buildrom make target for my kvm tools, and started to hack on them and make them compile and link against stuff that will be present in the bios image.
These tools also needed some stuff like zlib, which I had to include in buildrom and now I'm having some issues with uClibc, which is missing some features present in glibc that are needed by the kvm tools (specifically aio support, by now), and I must add them to uClibc.
That's my current status.
Best regards, Cristi