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

Re: chroot setup problem



On Fri, Apr 22, 2016 at 10:36:36AM +0100, Karl E. Jorgensen wrote:

> >   # LANG=C.UTF8 /usr/sbin/chroot /mnt/debinst /bin/bash
> >   /usr/sbin/chroot: failed to run command `/bin/bash': No such file or  
> >     directory 
> > 
> > /usr/bin/chroot exists. So does /mnt/debinst. So does /bin/bash.
> 
> /bin/bash is irrelevant in this context - the filename will be looked
> up _inside_ the chroot, so you need to check that
> /mnt/debinst/bin/bash exists (and the shared libraries it uses...)
> 
> Hope this helps
> Karl

As for existence of /bin/bash in reference to new chroot:

  $ ls -la /mnt/debinst/bin | grep bash
  -rwxr-xr-x  1 root   root   941252 Apr 22 06:22 bash

As for libraries, bash needs these:

  $ ldd /bin/bash
    linux-gate.so.1 =>  (0xb773e000)
    libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb7702000)
    libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb76fe000)
    libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7599000)
    /lib/ld-linux.so.2 (0xb773f000)

So I create directories and copy libraries to them. I didn't understand
the first line and apparently there is no linux-gate.so.1 on my
system. Other than it, I now have:

  $ ls /mnt/debinst/lib
  i386-linux-gnu ld-linux.so.2

  $ ls /mnt/debinst/lib/i386*
  i686 libtinfo.so.6

  $ ls -la /mnt/debinst/lib/i386*/i686/cmov
  ...
  -rwxr-xr-x 1 root root 1446056 Apr 22 08:47 libc.so.6
  -rw-r--r-- 1 root root    9844 Apr 22 08:49 libdl.so.2

Now chroot command has better luck:

  # LANG=C.UTF-8 /usr/sbin/chroot /mnt/debinst/
  bash-4.2#
  
I guess copying over the libraries was the answer. However, my chroot
prompt used to appear as: root@hostname:/#, so I'm not sure I'm in
chroot. 

Haines


Reply to: