Re: Cross build an arm Debian Live system
On Tue, Jun 14, 2011, Daniel Baumann wrote:
> unfortunately, we're not quite there yet. the missing pieces are:
> * we'll need armhf port (for efima mx, doesn't bother other arm
> platforms though), that should mostly be ready on debian-ports.org
> these days.
(technically you can use the armel port; it's just not as fast as it
could be)
> * live-build should, on arm, seperate rootfs and kernel somehow, so
> that we can offer one (or two) userspace images, and a multitude of
> different kernel and initrd images per hardware platform.
In Linaro, we came to the same conclusion; we're generating on one side
rootfs tarballs with live-helper and on the other side we're generating
a special container called a "hwpack" which contains kernel,
bootloader when applicable, and optimized graphics drivers or such when
available. These are combined with linaro-image-tools into a bootable
SD card image. I'm not sure which wiki page covers this best, but this
might be a start:
https://wiki.linaro.org/Platform/DevPlatform/Ubuntu/ImageInstallation
> * currently, live-build always builds images natively. for arm, we
> should use binfmt_misc, so that one can alternatively build it
> basically everywhere (and specifically on i386 and amd64). zumbi
> and i talked about that about a year ago on irc (check the logs at
> live.d.n/archive/irc for more), it contains all necessary
> information to make it happen (it wasn't implemented yet as there
> was no way of confirming and testing the resulting images yet, now
> that i've got and arm device since last summer, this should be much
> easier in future).
linaro-image-tools combines the hwpack and the rootfs on a x86 system
via binfmt_misc; linaro-media-create eventually copies qemu-arm-static
into the chroot and runs "dpkg -i" on the kernel and other packages.
We still build the rootfses natively though.
In the case of live-helper, it would typically be a matter of replacing
debootstrap with qemu-debootstrap --arch=foo; this wrapper around
debootstrap is provided in the qemu-user-static package and supports
armel and armhf.
> apparently, the ubuntu arm/linaro guys are using jasper on arm. i've not
> used that, however, i would prefere having live-boot being improved for
> arm on anything that might be needed for arm (again, not having done
> anything with it on arm yet), but bugs and/or patches are most welcome.
NB: Linaro doesn't use jasper, but AFAIK Ubuntu still does albeit there
might be plans to move away from it.
> arm is a regular debian architecture, so yes; and armhf is available on
> debian-ports.org.
NB: armel is the Debian name -- Debian also had an "arm" architecture
but that one is definitely not recommended for modern hardware (and
removed from modern Debian as well).
--
Loïc Minier
Reply to: