[Clfs-support] CLFS for ARM/OpenRD/Plugcomputer

Joe Ciccone jciccone at gmail.com
Sat Jul 10 07:14:07 PDT 2010


  On 07/09/2010 02:32 PM, Lance Jump wrote:
> On Fri, Jul 9, 2010 at 1:29 PM, Tom Armistead<tiny_armistead at yahoo.com>  wrote:
>>
>> I've built the 1.1.0 release for the PowerPC sucessfully.     My experience building from the  CLFS WIP version has always been it's kind of iffy.
>>
>> So, my suggestion is to try to adapt the 1.1.0 CLFS release to build for ARM.     I'm not sure how difficult it is to modify it  for ARM but I think you will have a better chance at success starting with the 1.1.0 release as a baseline.
>>
> Tom,
>
> I had tried that approach, but had problems with changing the
> architecture to arm -- perhaps I just don't understand the gcc-ports
> well enough.  Since the PPC is directly supported, the gcc-ports issue
> doesn't arise. Also there were some PPC-specific patches and I didn't
> what the ARM equivalents would be.
>
> I was concerned that none of the arm versions of CLFS use glibc --
> embedded uses ulibc and sysroot uses eglibc -- so I thought may there
> was a reason for that.  As a sanity check, I built the stock 1.1.0 PPC
> release successfully (through gcc final).
>
> Fortunately, I have everything scripted on a VM with intermediate
> snapshots. So, other than the few hours it takes to rebuild, the
> process is not too hard.  By the way, I am using the LFS live-CD as my
> host as suggested by the CLFS book.
>
> I have made it past the gcc-final stage with the arm-sysroot by
> disabling shared libraries. Almost everything built after that through
> xzutils at the end of chapter 6.
If I remember building gcc, binutils, and {e,}glibc for arm all had 
issues compiling for arm. I have some patches floating around, but 
nothing is finished yet.
> The automake build failed because the host autoconf was too early for
> it (2.6.1) so I installed 2.6.3 as a host tool and then automake
> built.
>
> Perl failed to build and I am still trying to track that down. It's
> first complaint was that it could not find miniperl-cross and it went
> downhill from there with missing Makefiles and Config.pm's. It looks
> like it could be some sort of search path problem since there is a
> version of Perl on the host.
This is expected, perl was not really designed to be cross-compiled 
without access to the host, and I do not believe I have a patch for the 
new version yet.
> I also just noticed that the gcc-specs patch, which is not called out
> in the arm-sysroot book, contains dynamic loader path substitutions of
> "/tools" But arm-sysroot does not appear to "/tools."  It uses
> $CLFS/cross-tools. I don't know whether to include the patch or not. I
> get the same failure with or without it. So my latest attempt is to
> link /tools to ${CLFS}/cross-tools, use the patch and try again.  I'll
> know in a few hours.
This is by design, sysroot does not have a separate final system build. 
In the main book, when you build the final system you have to be booted 
into the target architecture, with sysroot, you could build the entire 
arm system on a x86_64 box. Unfortunately, sysroot still has a lot of 
bugs in it and as you can see from the date, it hasn't been updated in a 
while.
> I have not given up on your suggestion to port 1.1.0 -- I just have to
> steel myself for that task. If you know of anyone who has done it or
> is doing it, let me know.
I believe your best bet is to start with the sysroot arm or embedded arm 
book. Right now, it is going to be a lot of work to get a build going 
for arm, but it is doable. I have a beagleboard that I try to regularly 
do builds for.
> Thanks, Lance
>
I don't know when I'll have time to get the book updated, but if someone 
has the time to do it, update the book and make a patch and I'll gladly 
apply it.




More information about the Clfs-support mailing list