1 |
le Fri, 25 May 2007 13:42:00 +0200 |
2 |
The MoonSeeker <themoonseeker@×××××.com> a écrit: |
3 |
|
4 |
> Hi, |
5 |
> |
6 |
> Is it to possible to chroot the after we create it (USE=-iconv |
7 |
> ACCEPT_KEYWORDS="**" ROOT="/tmp/minime" emerge -avkN uclibc busybox |
8 |
> baselayout-lite dropbear), because i get this error : |
9 |
> |
10 |
> chroot /tmp/minime/ |
11 |
> chroot: can't execute `/bin/bash': No such file or directory |
12 |
> |
13 |
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. |
14 |
|
15 |
Two other possible reasons for this error: |
16 |
- 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. |
17 |
- 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". |
18 |
|
19 |
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 |
20 |
|
21 |
emerge crossdev genkernel |
22 |
genkernel make all |
23 |
|
24 |
( creates a new kernel and all relevant modules, and the miniroot I was talking about _if_ crossdev is present ) |
25 |
|
26 |
genkernel make initrd --lots-of-cool-options |
27 |
|
28 |
( 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. ) |
29 |
-- |
30 |
gentoo-embedded@g.o mailing list |