On Fri, 2010-12-17 at 11:30 +0000, Andrew Stubbs wrote:
On 17/12/10 08:01, Amit Mahajan wrote:
I want to build linaro-netboook filesystem from *sources*, as I need a filesystem build without VFP support.
I checked the wiki and other links but could not find a related document.
Can anyone please point me to directions on how to do the same?
I don't know if there's an official way to do that, but here's what I would do:
- Find a board you can run the existing installation on. Cross building
packages is hard, so it'll be easier to bootstrap it this way.
On this board, download the compiler sources:
apt-get source gcc
Tweak the compiler configuration flags in the debian directory so
that they set up the VFP as you want it, and build the compiler:
sudo apt-get build-dep gcc dpkg-buildpackage gcc*.dsc
- Install the new gcc into the build board (I would recommend doing
this work in a chroot incase something goes wrong ...):
dpkg ..... gcc*.dep
Squirrel away the newly built .deb files.
Repeat for all packages until you have no packages depending on VFP
in your system. Most won't require any reconfiguration, but you never know. It's probably best to start with glibc, and then other libraries, just to make sure the headers and configure tests are right. (Maybe non-VFP kernel headers also, but you'll need to run a VFP-enabled kernel until you're done rebuilding everything.)
Your build file-system should now run on your netbook, although it'll be chock full of -dev packages, so you might have to clean it up a bit.
This should work because the default ARM EABI is the same whether you use VFP, or not. If/when we choose to switch to the hard-fp EABI variant (in theory, it's more efficient), then tricks like this will be more difficult.
Hope that helps
Andrew
Hi Andrew,
Thanks for your help. The procedure you mentioned looks good. But I have 2 points here: 1. Right now I do not have access to board. I think probably I can use QEMU for simulating my hardware.
2. Compiling each package individually will be a long process. I wonder if Ubuntu has something like ALIP (ARM linux internet platform), which can be readily used with scratchbox.