On Friday 17 May 2019 04:29:04 am to...@tuxteam.de wrote: > On Fri, May 17, 2019 at 03:30:45AM -0400, Gene Heskett wrote: > > Greetings folks; > > > > Thinking of building a local copy of a project with a cross compiler > > to make rpi (armhf) stuffs on this amd64 box, I installed buildd and > > buildbot and some usefull looking friends yesterday, and in about 2 > > hours lost the usb services totally, twice having to reboot with the > > reset button. > > This is a bit like trying to peel an egg with an excavator [1]. > Whereas possible in principle, it'll take some skill. > > There are several ways to skin that cat, but whenever your build > machine's kernel is not too far away from your target's, > dpkg-buildpackage, debootstrap and schroot are your friends. > > This is a list of the packages you might need for cross-building a > package (assuming the package authors have done their stuff right) > > - schroot > This is a (somewhat friendlier) chroot wrapper. You do your > build in a chroot: your target architecture's build is going > to want packages which possibly conflict with your installed > ones (yes, there's multiarch, so you can have ARM libc installed > side by side with AMD64 libc, but some packages (Gtk, I'm > looking at you!) are not multi-arch capable. > > - debootstrap > Installs a "base" Debian system in the (above) chroot (this will > be an ARM Debian in your case) > > - binfmt-misc > This is a little nasty thing which looks at a binary and > says "oh, this looks like ARM: let's call qemu on it". Kinda > like the shebang line thingy on steroids. > > - qemu-user-static > Somehow the ARM stuff in your (build) chroot has to be run. > That's qemu's part. Note that the schroot wrapper has facilities > to map the "right" emulator (via a bind-mount) into the chroot. > > A recommended package would be an apt cache, since you'll be > building up many base systems with debootstrap to just tear them > down. Downloading all those packages time and again gets boring > soon (unless your Internet connection is faster than your disk, > that is). Apt-cacher-ng seems a good choice. > > Alternatively there are pbuilder (aka "personal builder") and > sbuild, from which I'd totally start with pbuilder, which is > easier for quick and dirty jobs. Sbuild is more "official" > (let's call it the "pro" version), so if you become a Debian > developer, you should know this one too. But basically they do > the process outlined above, chroot and all. I have the impression > one has to understand the process beneath that anyway. > > Buildd is the automatic machinery Debian uses to (re-)build > packages as new versions arrive, so that is again one floor > above sbuild. > > Hope that gets you started. > > Cheers > -- t
Many thanks Tomas, I hadn't figured it would be that complex, and after yesterdays experience with buildbot and buildd, a bit more "wary". buildd I think needs to be run in a jail with leak detectors. Valgrind? Printed FFR, thanks again. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Genes Web page <http://geneslinuxbox.net:6309/gene>