Re: Problems with creating a 32-bit chroot jail (chroot exec format error)
Friday i also installed a 32-bit chroot on my amd64 installation.
Eventualy i got the same error, there is a miss-spel in your debootstrap-code.
i think u used some code like this:
debootstrap -arch i386 sid /var/sid-386-chroot http://ftp.debian.org/debian/
where it should be:
debootstrap --arch i386 sid /var/sid-386-chroot http://ftp.debian.org/debian/
Then the base installation will be installed.
I think this does the trick.
On Tuesday 15 August 2006 09:23, Jo Shields wrote:
> Paul Patrick Carpio Prantilla wrote:
> > Hello,
> > I've been stuck at this for some time now. From my x86_64 kernel, I'm
> > trying to install a 32-bit chroot jail under /var/chroot/sid-ia32/. I've
> > already used debootsrap to create a 32-bit sid environment under for
> > that directory, and basically followed the guidelines to the letter from
> > the following urls:
> > http://www.debian-administration.org/articles/356
> > https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.htm
> > However, I can never get very far because chroot always fails with this
> > error:
> > root@terrabreak:~# chroot /var/chroot/sid-ia32/
> > chroot: cannot run command `/bin/bash': Exec format error
> > I take this to mean that the current 64-bit kernel/environment can't
> > execute the bash binary under the 32-bit environment. I've straced the
> > command and it does indeed show that the bash binary under the chroot
> > can't be executed:
> > chroot("/var/chroot/sid-ia32/") = 0 <---seems ok here
> > chdir("/") = 0 <---ditto
> > execve("/bin/bash", ["/bin/bash", "-i"], [/* 15 vars */]) = -1 ENOEXEC
> > (Exec format error)
> > execve("/bin/sh", ["/bin/sh", "/bin/bash", "-i"], [/* 15 vars */]) = -1
> > ENOEXEC (Exec format error)
> > Running ldd on the 32-bit bash binary shows the following:
> > root@terrabreak:~# ldd /var/chroot/sid-ia32/bin/bash
> > /usr/bin/ldd: line 161: /lib/ld-linux.so.2: cannot execute binary file
> > /usr/bin/ldd: line 171: /lib/ld-linux.so.2: cannot execute binary file
> > ldd: /lib/ld-linux.so.2 exited with unknown exit code (126)
> > I'm not sure why this keeps on happening even if I've updated my 32-bit
> > linker at /lib/ld-linux.so.2 to point at the right linker from the
> > debootstrap installation. I also tried installing the ia32-libs package
> > (which also updates the /lib/ld-linux.so.2 symlink) and related 32-bit
> > gcc and libc packages, but the same error shows.
> > I made sure to run ldconfig each time I changed my ld.so.conf file. I've
> > also bind mounted /home /tmp and proc under the debootstrap environment
> > just like the urls above suggests.
> > Lastly, my ld.so.conf file is as follows:
> > /usr/X11R6/lib
> > #These two are included from /etc/ld.so.conf.d
> > /lib/x86_64-linux-gnu
> > /usr/lib/x86_64-linux-gnu
> > # chroot i386 system libs
> > /var/chroot/sid-ia32/lib
> > /var/chroot/sid-ia32/usr/lib
> > /var/chroot/sid-ia32/usr/X11R6/lib
> > /var/chroot/sid-ia32/usr/local/lib
> > I'd greatly appreciate any pointer or clue as to how I can resolve this
> > chroot error. Though I spent some time googling for help, I'd like to
> > apologize in advance if I am missing something very very obvious.
> > -Paul
> Where did your kernel come from?
Rob van Kraanen