[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Emdebian rootfs status and request for help

The majority of an Emdebian rootfs for ARM [0] is now built using the
composite method but it isn't ready for use - yet.

You can see the status using edos-debcheck [1]:
$ apt-cross -u -m http://www.emdebian.org/emdebian/
$ edos-debcheck -explain -failures busybox base-files cdebconf dpkg apt libstdc++ libc6 base-passwd initscripts login module-init-tools passwd sysvinit sysv-rc libgcc1 libpopt0 < ~/.dpkg-cross/unstable/lists/www.emdebian.org_emdebian_dists_unstable_main_binary-arm_Packages | grep depends

This gives:
  apt (= depends on libapt-inst--6-1.1 {NOT AVAILABLE}
  base-files (= 4em1) depends on awk {mawk (= 1.3.3-11em1)}
  base-passwd (= 3.5.11em1) depends on libgcc1 (>= 1:4.1.1-12) {NOT AVAILABLE}
  busybox (= 1:1.1.3-4em1) depends on libgcc1 (>= 1:4.1.1-12) {NOT AVAILABLE}
  cdebconf (= 0.115em1) depends on libc6 (>= 2.5) {NOT AVAILABLE}
  dpkg (= 1.13.25em1) depends on libc6 (>= 2.5) {NOT AVAILABLE}
  initscripts (= 2.86.ds1-38em1) depends on libc6 (>= 2.5) {NOT AVAILABLE}
  libpopt0 (= 1.10-3em1) depends on libgcc1 (>= 1:4.1.1-12) {NOT AVAILABLE}
  login (= 1: depends on libpam-modules (>= 0.72-5) {NOT AVAILABLE}
  module-init-tools (= 3.3-pre4-2em1) depends on libc6 (>= 2.5) {NOT AVAILABLE}
  passwd (= 1: depends on libc6 (>= 2.5) {NOT AVAILABLE}
  sysvinit (= 2.86.ds1-38em1) depends on libc6 (>= 2.5) {NOT AVAILABLE}

That kind of information will gradually migrate into a webpage similar
to the toolchain status pages [2] which themselves will be getting
edos-debcheck output in due course.

So, libc6 needs a refresh, the apt build appears to be broken, we need
libgcc1 cross-built from gcc-4.1 (which gets confusing when gcc-4.1 is
itself part of the cross-building toolchain) and pam needs a fix [2a]. Not
sure what the fix is for base-files, I suspect it may simply be a
changed dependency in debian/control.

Not to mention that this rootfs hasn't been tested and there may well
be problems hidden in the as yet unexecuted binaries.

Underlying these issues are a few bugs in emdebian-tools, specifically
when updating from an existing emdebian build to an updated Debian
revision. Please feel free to report these to the Debian BTS,
especially if you have a patch. Check the TODO in emdebian-tools SVN
for notes on other problems. [2b]

This is an area that I knew was not complete but it's hard to test when
there were no packages that could be updated. ;-)

Anyone fancy helping with gcc-4.1 and libc6? The main problem with
libc6 is size - the current emdebian package (2.3.6.ds1-9em1) has a
size of: 9.08Mb download, 26.20Mb installed [3]. That compares to the
Debian version (2.3.6.ds1-13) {testing} which has a size of: 3755.8kb
download 8960kb installed [4]. Ouch! I'm sure it's a stripping issue
but I can't find where it is going wrong.

The apt-breakage is also related to libc6 - the cross-build is not
identifying a libc6 version string correctly when generating the
package name for what should be: libapt-pkg-libc6.3-6-3.11 or similar.

If there are bugs in the Debian packages that complicate or prevent
cross-building, please report those in the Debian BTS too - so far I've
had good success with such bug reports.

The rootfs is my main priority until DebConf and emdebian-tools (and
possibly apt-cross) will need fixes to get a usable rootfs that can be
updated as the Debian packages update. Other bugs (like the cdrom/no
internet access problem) will take a bit of a back seat whilst this is
going on. The best way to improve the emdebian-tools documentation, the
Emdebian website and the contents of the Wiki is for more people to use
the tools to build a rootfs and the basic packages for GPE, then raise
wishlist bugs with ideas on what is missing from the docs or create new
pages or new content in the Wiki.

Please also report outdated pages either on the website or the Wiki.

Note that this rootfs has *no perl* dependency - perl has problems
cross-building currently anyway [2a] - only dpkg-dev would require perl
and that isn't part of a rootfs. cdebconf [5] takes the place of
debconf. cdebconf has been built without Gtk - it may be worth seeing
if cdebconf can be split to support a separate gtk frontend. There
appears to be support because a gtk-udeb is available. [6] This (and
the newt frontend) could then be installed after the rootfs is working
to provide a nice GUI interface to 'debconf' for the user.

There are lots of other packages to build for a more "expansive" rootfs
but I'm concentrating on the most limited busybox one - at least until
it starts to work! ;-)

Also, there are packages in the Emdebian target repository that are not
part of any rootfs - some of these can be updated or their missing
dependencies built. Simply omit the list of packages in the above
edos-debcheck command to get a full list of dependencies for the entire
repository. These packages are intended to support GPE in Emdebian on
ARM. I had hoped to have GPE available by DebConf but that was always
ambitious. :-)

[0] http://wiki.debian.org/EmdebianRootfs
[1] http://packages.debian.org/testing/devel/edos-debcheck
[2] http://www.emdebian.org/toolchains/unstable.html
[3] http://www.emdebian.org/packages/search.php?arch=arm&distro=unstable&package=libc6
[4] http://packages.debian.org/testing/libs/libc6
[5] http://www.emdebian.org/packages/search.php?arch=arm&distro=unstable&package=cdebconf
[6] http://packages.debian.org/testing/debian-installer/cdebconf-gtk-udeb

[2a] http://wiki.debian.org/EmdebianGuide
[2b] http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-tools/trunk/TODO


Neil Williams

Attachment: pgpfIRd_oii8d.pgp
Description: PGP signature

Reply to: