So try chroot /tmp/minime /bin/sh.

Doesn't work :(


ldd /bin/ash to know which.

ldd /bin/bash
        linux-gate.so.1 =>  (0xb7f84000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f3e000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f3a000)
        libc.so.6 => /lib/libc.so.6 (0xb7e12000)
        /lib/ld-linux.so.2 (0xb7f85000)


ldd /tmp/embtest/bin/bash
        linux-gate.so.1 =>  (0xb7f5f000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f19000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f15000)
        libc.so.6 => /lib/libc.so.6 (0xb7ded000)
        /lib/ld-linux.so.2 (0xb7f60000)

genkernel make all

genkernel make all
Error: Unknown option 'make'!

- or if you made your chroot for x86 and try to launch from (non- multilib?) x86_64 system, you could catch some of those mysterious "No such file or directory".

I don't think this is the problem :

file /bin/bash
/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
file /tmp/embtest/bin/bash
/tmp/embtest/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

Thanks for help!

Any other idea? I'm lost :(

On May 25, 2007, at 5:48 PM, Isidore Ducasse wrote:

le Fri, 25 May 2007 13:42:00 +0200
The MoonSeeker <[EMAIL PROTECTED]> a écrit:

Hi,

Is it to possible to chroot the after we create it (USE=-iconv
ACCEPT_KEYWORDS="**" ROOT="/tmp/minime" emerge -avkN uclibc busybox
baselayout-lite dropbear), because i get this error :

chroot /tmp/minime/
chroot: can't execute `/bin/bash': No such file or directory

I dunno where your bash comes from, but busybox embeds ash, a bash tiny ersatz. Normally sh is the most standard shell to ask for. So try chroot /tmp/minime /bin/sh.

Two other possible reasons for this error:
- either you're missing some dynamic libraries. In this case chroot or any shell don't even "see" the executable file. Use ldd /bin/ash to know which. - or if you made your chroot for x86 and try to launch from (non- multilib?) x86_64 system, you could catch some of those mysterious "No such file or directory".

Hope it helps. If you're looking for a robust and not-often- changing miniroot, you could consider compiling busybox statically, still against uclibc. But the smart, easy, sure and efficient way to do this is

emerge crossdev genkernel
genkernel make all

( creates a new kernel and all relevant modules, and the miniroot I was talking about _if_ crossdev is present )

genkernel make initrd --lots-of-cool-options

( generates an initrd for the previously made kernel. Basically involves harddrives pilots, a statical busybox with few commands and modprobe. You can append your files very easily but overwriting some is an issue, as far as I remember. )
--
[EMAIL PROTECTED] mailing list


--
[EMAIL PROTECTED] mailing list

Reply via email to