User: Password:
Subscribe / Log in / New account

Creating a Fedora ARM distribution part 2: Bootstrapping

Creating a Fedora ARM distribution part 2: Bootstrapping

Posted Oct 22, 2011 7:58 UTC (Sat) by jcm (subscriber, #18262)
In reply to: Creating a Fedora ARM distribution part 2: Bootstrapping by alvieboy
Parent article: Creating a Fedora ARM distribution part 2: Bootstrapping

Fedora, like many other distros does not ever build its packages with cross-compilation. Sure, it "works" but it's more than just compilation we care about in building on target. Runtime tests, etc. can all be made to work using various projects that are out there to glue a cross-compiler into running tests on target - all of this can be done. But we don't. It's just a bigger-than-ARM specific policy of Fedora that everything is build on target.

So. Given that we needed to build the world, on the target, this is what we did and how we did it. And even bootstrapping Debian I happen to know is a great PITA too. Wookey and others have done some good work there, and I'm genuinely impressed with the multi-arch work that feeds into some of this (and which we don't currently have plans to implement, but that could change if there's more than ARM specific interest in doing it within Fedora).

All of this stuff is hard. Bootstrapping happens relatively infrequently but we decided it was better to know how to do this. The next trick will be to have it nicely documented for the next time someone needs to do this.

(Log in to post comments)

Creating a Fedora ARM distribution part 2: Bootstrapping

Posted Nov 8, 2011 22:15 UTC (Tue) by oak (guest, #2786) [Link]

There are also tools intended for bootstrapping & cross compiling distros.

Scratchbox1 (SB1) & Scratchbox2 (SB2) are such beasts. First one requires maintaining your own built tools "distro" which can easily bitrot & get out of sync with your distro, the latter can map tools to wherever you want to, typically this would be a directory containing x86 versions of your target packages (e.g. x86 debootstrap when cross-building Debian).

If your x86 host distro is the same one that you're trying to build for some other architecture, using SB2 so that it maps missing things to your host and letting everything else be run with Qemu, makes it much easier to build bootstrap stuff.

MeeGo has also some support from cross-compiling RPMs, but that's mainly to accelerate building, not AFAIK for bootstrapping purposes.

Here's some discussion on RPM-based MeeGo's OBS cross-build accelerators and SB2 usage:

SB2 seems to have just gotten some RPM support:

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds