linux cross-development (was: Re: /dev/null: No such file or
John E Hein
jhein at timing.com
Thu Sep 21 12:58:11 PDT 2006
Alexander Leidinger wrote at 07:55 +0200 on Sep 21, 2006:
> Quoting John E Hein <jhein at timing.com> (from Wed, 20 Sep 2006 13:48:48 -0600):
> > Alexander Leidinger wrote at 21:24 +0200 on Sep 20, 2006:
> > > Any ideas how to provide a chroot while not losing the fallthrough if
> > > not chrooted (and we try to identify other files/dirs where we want a
> > > fallthrough)?
> > That smells a little like unionfs.
> Feel free to provide a description how to achieve this. I don't see
> it at first look.
I haven't thought about it. It just sounded a bit like unionfs.
> And I don't like to mount stuff at installation time or to request
> to mount something to get it working.
> > From a system building perspective, it seems difficult to build a
> > system in an automated way (as in a product) that needs to build apps
> > compiled for linux.
> > We build packages in a FreeBSD chroot and pkg_add -p them into an
> > image hierarchy (which is then copied to the target media, typically a
> > Compact Flash).
> > So, if we wanted to deploy a system that has linux_base and some
> > linux-compiled apps, we'd have to build the linux_base .tgz package in
> > our build chroot, pkg_delete it, then install linux_dist in order to
> > compile linux apps (there are some closed linux libs we need to link
> You don't need to delete the linux_base. linux_dist-gentoo-stage3
> installs into /usr/local/gentoo-stage3. As long as you do a chroot
> into the linux directory, you will not have any problem. If you don't
> do a chroot, you have to be careful to not pick up FreeBSD stuff. This
> may or may not work. If you are very careful, you can do a
> cross-build, but if you do real cross-development, you should really
> do a chroot (else you have to verify in the worst case for every bug
> that no FreeBSD stuff is picked up instead).
Okay, I see that linux_base & linux_dist can co-exist. But I still see
I'd have to change our build to get the source code into the gentoo
chroot. Plus right now, the app is built as a FreeBSD port, so I'd
have to get the FreeBSD ports infrastructure (and make(1)) working
under the gentoo chroot, too. That could be a lot of work.
Also, if I build in the gentoo chroot, but deploy the app to be run
under linux_base, I suspect there may be library conflicts (this is
not unlike the problems that have been mentioned for linux_devtools).
More information about the freebsd-emulation