4 Sep
2008
4 Sep
'08
10:39
https://bugzilla.novell.com/show_bug.cgi?id=421958 User ms@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=421958#c15 Marcus Schaeferchanged: What |Removed |Added ---------------------------------------------------------------------------- Severity|Normal |Enhancement Summary|kiwi: doesn't work |kiwi: install root tree on x86 for arm with dpkg | |packages --- Comment #15 from Marcus Schaefer 2008-09-04 04:39:10 MDT --- Am Donnerstag 04 September 2008 10:36:01 schrieben Sie: > Hi, > > > Next problem: my packages are ARCH=arm - smart needs -o deb-arch=arm > > in this case. Ok, i hacked it after -o deb-root (could we add a > > cmdline-option?) . Now it is called like this: > > Hmm, normally smart picks the architecture from the build system > I guess you need that arch option because your build system isn't > an arch based linux system, is it ? That would bring me to another > question, rpm doesn't allow to install packages on an architecture > which couldn't run the installed binary format, how about dpkg ? > I mean it doesn't make much sense to build a root tree which you > can't chroot into... In principle right, but look what we do here: * http://lizards.opensuse.org/author/martinmohring/ * http://lizards.opensuse.org/author/dl9pf/ We also chroot into an arm environment for the build process. I did the same qemu-tricks (sh /usr/sbin/qemu-binfmt-conf.sh) on the machine running kiwi :D so i can install _and_ run arm :D. linux-obs:~ # uname -a Linux linux-obs 2.6.22.18-0.2-default #1 SMP 2008-06-09 13:53:20 +0200 i686 athlon i386 GNU/Linux linux-obs:~ # file bash-static bash-static: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.4.1, statically linked, stripped linux-obs:~ # ./bash-static -x + test -z '' + test -f /proc/mounts + case "`/bin/ls --color=never -l /proc/$$/exe`" in ++ /bin/ls --color=never -l /proc/13097/exe + is=sh + for a in '$SHELL' + case "$a" in [..] Couldn't this be a future use-case for kiwi ? Imaging "foreign" packages to a system-image ? > > Übermittle Transaktion ... ( 0%) > > [unpack] mime-support_3.39-1 > > [unpack] libgtk2.0-common_2.8.20-7 > > [unpack] tzdata_2007k-1etch1 > > [unpack] gcc-4.1-base_4.1.1-21 > > [unpack] readline-common_5.2-2 > > dpkg: kann das Updates-Verzeichnis »/tmp/kiwi.mB3893/var/lib/dpkg/updates/« nicht einlesen: Datei oder Verzeichnis nicht gefunden > > FEHLER!: Unterprozess dpkg hat einen Fehler ausgeworfen (2) > > > > So there's a dpkg error ... > > /tmp/kiwi.mB3893/var/lib/dpkg/updates/ doesn't exist. > > Hmm, why does dpkg not create the updates directory ? You can try to > patch the file > > /usr/share/kiwi/moduels/KIWIRoot.pm Did already :D . > > search for dpkg and add the missing: > > qxx ("mkdir -p $root/var/lib/dpkg/updates"); > > I doubt this will fix all problems :-) More directories are missing ... Thats what I do atm ... # for smart we need the dpkg default file qxx ("mkdir -p $root/var/lib/dpkg"); qxx ("mkdir -p $root/var/lib/dpkg/alternatives"); qxx ("mkdir -p $root/var/lib/dpkg/info"); qxx ("mkdir -p $root/var/lib/dpkg/methods"); qxx ("mkdir -p $root/var/lib/dpkg/methods/disk"); qxx ("mkdir -p $root/var/lib/dpkg/methods/floppy"); qxx ("mkdir -p $root/var/lib/dpkg/methods/mnt"); qxx ("mkdir -p $root/var/lib/dpkg/parts"); qxx ("mkdir -p $root/var/lib/dpkg/updates"); qxx ("touch $root/var/lib/dpkg/status"); qxx ("touch $root/var/lib/dpkg/available"); #next are ugly hacks - need to investigate qxx ("mkdir -p $root/bin/"); qxx ("cp /root/bash-static $root/bin/bash"); #ARM! (extracted) qxx ("mkdir -p $root/usr/sbin"); qxx ("echo \"#!/bin/bash\" > $root/usr/sbin/update-rc.d"); qxx ("chmod u+x $root/usr/sbin/update-rc.d"); qxx ("mkdir -p $root/etc/dpkg"); qxx ("echo \"force-architecture\" > $root/etc/dpkg/dpkg.cfg"); #force-arch because of arm qxx ("echo \"debug 023\" >> $root/etc/dpkg/dpkg.cfg"); #more debug # qemu qxx ("mkdir -p $root/usr/bin/"); qxx ("cp /usr/bin/qemu* $root/usr/bin/"); # u.a. qemu-arm ;) I just wonder how the debian installer handles this (i suppose dpkg-deb --extract - no scripts and so on). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.