linux cross-development (was: Re: /dev/null: No such file or directory)

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.

I agree.


 > > 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
some problems...

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 mailing list