Mailing List Archive

How to manage multiple distributions, cross compilers in one chroot environment
Hi,
Continueing the discussion started by my last thread "CBUILD= HOSTCC=-gcc",
I said I want to compile a cross compiler with a special name.
I wanted i686-gentoo.edge-linux-gnu but it is possible to do just
i686-pc-linux-gnu

I did this because crossdev creates some magic setting up things, and it is
very handy.
What I want is a way to keep few compilers environments.
lets say:
stable x86 compiler
unstable x86 compiler
few arm cross compilers.

So when I create a distribution and an few month time I want the same
exactly environment,
to compile and upgrade few packages and be sure not to break anything, I
want to keep
those version of the compilers.

I'll also need some way to have few forks of my initial system.
lets say:
emebedded board 1 - for customer A
emebedded board 1 - for customer B (it is different than A, by time of
creation and so by version of the compiler used).
emebedded board 2 - for customer C

Can we boost up crossdev, or I need to start hacking a distro_creator
utility for gentoo?

Regards,
Kfir
Re: How to manage multiple distributions, cross compilers in one chroot environment [ In reply to ]
Kfir Lavi wrote:
> What I want is a way to keep few compilers environments.
> lets say:
> stable x86 compiler
> unstable x86 compiler
> few arm cross compilers.
>
> So when I create a distribution and an few month time I want the
> same exactly environment, to compile and upgrade few packages and
> be sure not to break anything, I want to keep those version of the
> compilers.
..
> Can we boost up crossdev,

No boosting neccessary. Just use crossdev with some explicit version
numbers for all components, and you get excellent repeatability.


As for distro creater, I use catalyst to build a stage4 and stage5.
Not sure how well that works for cross platform however, I only use
on amd64 to build for various x86, and this may be a special case.


//Peter
Re: How to manage multiple distributions, cross compilers in one chroot environment [ In reply to ]
On Thu, Jan 6, 2011 at 4:01 PM, Peter Stuge <peter@stuge.se> wrote:

> Kfir Lavi wrote:
> > What I want is a way to keep few compilers environments.
> > lets say:
> > stable x86 compiler
> > unstable x86 compiler
> > few arm cross compilers.
> >
> > So when I create a distribution and an few month time I want the
> > same exactly environment, to compile and upgrade few packages and
> > be sure not to break anything, I want to keep those version of the
> > compilers.
> ..
> > Can we boost up crossdev,
>
> No boosting neccessary. Just use crossdev with some explicit version
> numbers for all components, and you get excellent repeatability.
>
> Ok, lets say I create a special crossdev. I still get it in
/usr/i686-pc-linux-gnu,
which is very generic.
Can't I have few compilers at a time?


> As for distro creater, I use catalyst to build a stage4 and stage5.
> Not sure how well that works for cross platform however, I only use
> on amd64 to build for various x86, and this may be a special case.
>
> I'll take a look on catalyst.
Can you refer me to a good introduction/manual ?
The gentoo page is not enough for me.


>
> //Peter
>
>
Re: How to manage multiple distributions, cross compilers in one chroot environment [ In reply to ]
Kfir Lavi wrote:
> Ok, lets say I create a special crossdev. I still get it in
> /usr/i686-pc-linux-gnu,
> which is very generic.
> Can't I have few compilers at a time?

Doh! Good point. I don't have an answer for that one.


> > As for distro creater, I use catalyst to build a stage4 and stage5.
..
> I'll take a look on catalyst.
> Can you refer me to a good introduction/manual ?
> The gentoo page is not enough for me.

Sorry, I don't know of any manual besides the web page and the man
page. There are some examples in the package, I would suggest to just
try to use them, and see what happens and how it works.

Copy the example stage4.spec, edit, then run

catalyst -f stage4.spec

For embedded things I would seriously consider making a new profile.
It may also be neccessary to make a copy of /etc/catalyst/catalyst.conf
and specify that with -c, in order to have special environment
settings during the build. Some examples from my env file:

export INPUT_DEVICES="evdev keyboard mouse"
export VIDEO_CARDS="intel vesa"
export CAMERAS="ptp2"
export LINGUAS="en sv"
export SANE_BACKENDS="plustek"
export QEMU_SOFTMMU_TARGETS="i386"
export QEMU_USER_TARGETS="i386"


//Peter
Re: How to manage multiple distributions, cross compilers in one chroot environment [ In reply to ]
* Kfir Lavi <lavi.kfir@gmail.com> schrieb:

> > No boosting neccessary. Just use crossdev with some explicit version
> > numbers for all components, and you get excellent repeatability.
> >
> > Ok, lets say I create a special crossdev. I still get it in
> /usr/i686-pc-linux-gnu,
> which is very generic.
> Can't I have few compilers at a time?

Even it might get off scope of this Gentoo specific list:
you can easily do this with crosstool-ng and Briegel.


cu
--
----------------------------------------------------------------------
Enrico Weigelt, metux IT service -- http://www.metux.de/

phone: +49 36207 519931 email: weigelt@metux.de
mobile: +49 151 27565287 icq: 210169427 skype: nekrad666
----------------------------------------------------------------------
Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------