Oh .... did I miss something?

[EMAIL PROTECTED]:/filesys# chroot& /filesys /sbin/init
[2] 993
-bash: /filesys: is a directory
[1]   Exit 1                  chroot
chroot: too few arguments
Try `chroot --help' for more information.

There is no problem with the architecture ( CPU: ARM926EJ-S [41069265]
revision 5 (ARMv5TEJ) ).
Seems like dmesg displays the same lines as when you boot the kernel,
but in my case when I directly boot on the Android file system,
nothing is displayed... init always crashes and if I try to boot
without the init=/init defined then I get a kernel panic.

How may I check the loader?

Thanks for your fast replies and advices. I really appreciate

Francois Minaud



On Dec 11, 6:45 pm, Sean McNeil <[EMAIL PROTECTED]> wrote:
> You could try to kick android off in the background by appending an "&"
> to the chroot command. Then you could check for messages with dmesg.
> Sounds like you may be having linker issues. The compiler should be OK,
> but I suspect you aren't compiling for the right architecture. Was this
> an s3c2410? armv4t? You won't get very far if you compile with the
> default armv5te architecture for that chip.
>
> FrancoisM wrote:
> > Very interesting reading. As I read this I think it's a bit risky to
> > have 2 filesystems coexisting. (and even after chrooting it wouldn't
> > init).
> > So I tried to boot only on the Android filesystem, but it won't boot,
> > hanging after :
>
> > FS: Mounted root (nfs
> > filesystem).
> > VFS: Mounted root (nfs
> > filesystem).
> > <6>Freeing init memory:
> > 124K
> > Freeing init memory: 124K
>
> > This is why I wanted to mix my davinci fs which I can boot on and the
> > Android filesystem.
>
> > Any way to see what's going down there as the console doesn't display
> > any error message, debugging looks impossible.
>
> > Some possibles issues : i used arm-crosstool-linux-gnueabi toolchain
> > to build the Android source code and compile the kernel for my board,
> > gcc version is 4.1.0 (got some warnings during kernel compilation).
>
> > Francois Minaud
>
> > On Dec 11, 5:58 pm, Sean McNeil <[EMAIL PROTECTED]> wrote:
>
> >> Android uses a completely different linker/loader. You cannot run
> >> Android directly from your davinci filesystem. Very important shared
> >> libraries will not be in the correct place on the filesystem. Just
> >> changing env variables is not good enough. In this setup, you are going
> >> to have to use chroot:
>
> >> chroot /filesystem /init (or /sbin/init for me)
>
> >> Read up on chroot. It essentially will make /filesystem the / directory
> >> for whatever command you invoke.
>
> >> FrancoisM wrote:
>
> >>> Thanks for your reply. I am not sure I got what you mean.
>
> >>> I have a basic davinci filesystem in which i pasted the Android
> >>> filesystem ( davinci filesystem is / and Android fs is in /
> >>> filesystem/ ). I did that because if i directly boot the board with
> >>> the Android filesystem, I don't come up with anything but the
> >>> lowmem_shrink() display messages.
>
> >>> Is the missing libraries result from a linker problem? I am pretty
> >>> much a beginner and feel lost. Some more clues would be welcome.
>
> >>> Thanks a lot,
> >>> Francois Minaud
>
> >>> I tried the changes you suggested but pretty akwardly I guess as I
> >>> come up with the same strace result.
>
> >>> On Dec 11, 5:08 pm, Sean McNeil <[EMAIL PROTECTED]> wrote:
>
> >>>> I don't think it is going to work that way. You have a different
> >>>> linker/loader and all that which has to be in specific directories from
> >>>> root. I think you'll have to do a chroot. That is what I do:
>
> >>>> chroot /root /sbin/init
>
> >>>> (I've moved init to the more appropriate /sbin directory).
>
> >>>> Either that, or you'll have to mount your nfs as /.
>
> >>>> FrancoisM wrote:
>
> >>>>> Alright, I got some progress.
> >>>>> My previous error comes from my ... "wild" patching. Later I did it
> >>>>> again smoothly using Meld which is a software I recommend to all of
> >>>>> you guys.
>
> >>>>> So I got a kernel which boots and is supposed to work with my Android
> >>>>> filesystem, I work with NFS.
>
> >>>>> I could boot with a basic filesystem (I don't init Android on boot)
> >>>>> and when I try to launch "init" here is what I get :
>
> >>>>> my run.sh is :
> >>>>> #!/bin/sh
> >>>>> chmod 777 /filesys/data
> >>>>> /init
>
> >>>>> export PATH=sbin:/filesys/system/sbin:/filesys/system/bin:/filesys/
> >>>>> system/xbin
> >>>>> export LD_LIBRARY_PATH=/filesys/system/lib
> >>>>> export ANDROID_BOOTLOGO=1
> >>>>> export ANDROID_ROOT=/filesys/system
> >>>>> export ANDROID_ASSETS=/filesys/system/app
> >>>>> export ANDROID_DATA=/filesys/data
> >>>>> #export EXTERNAL_STORAGE /sdcard
> >>>>> export BOOTCLASSPATH=/filesys/system/framework/core.jar:/filesys/
> >>>>> system/framework/ext.jar:/filesys/system/framework/framework.jar:/
> >>>>> filesys/framework/android.policy.jar:/filesys/framework/services.jar
>
> >>>>> the strace is :
>
> >>>>> [EMAIL PROTECTED]:/filesys# strace -ff -F  -s 200    ./run.sh
> >>>>> execve("./run.sh", ["./run.sh"], [/* 14 vars */]) = 0
> >>>>> uname({sys="Linux", node="davinci-francois", ...}) = 0
> >>>>> brk(0)                                  = 0xab000
> >>>>> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/etc/ld.so.cache", O_RDONLY)      = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/tls/v5l/fast-mult/half/libncurses.so.5", O_RDONLY) = -1
> >>>>> ENOENT (No such file or directory)
> >>>>> stat64("/lib/tls/v5l/fast-mult/half", 0xbeb6d1a8) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> open("/lib/tls/v5l/fast-mult/libncurses.so.5", O_RDONLY) = -1 ENOENT
> >>>>> (No such file or directory)
> >>>>> stat64("/lib/tls/v5l/fast-mult", 0xbeb6d1a8) = -1 ENOENT (No such file
> >>>>> or directory)
> >>>>> open("/lib/tls/v5l/half/libncurses.so.5", O_RDONLY) = -1 ENOENT (No
> >>>>> such file or directory)
> >>>>> stat64("/lib/tls/v5l/half", 0xbeb6d1a8) = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/tls/v5l/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> stat64("/lib/tls/v5l", 0xbeb6d1a8)      = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/tls/fast-mult/half/libncurses.so.5", O_RDONLY) = -1 ENOENT
> >>>>> (No such file or directory)
> >>>>> stat64("/lib/tls/fast-mult/half", 0xbeb6d1a8) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> open("/lib/tls/fast-mult/libncurses.so.5", O_RDONLY) = -1 ENOENT (No
> >>>>> such file or directory)
> >>>>> stat64("/lib/tls/fast-mult", 0xbeb6d1a8) = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/tls/half/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> stat64("/lib/tls/half", 0xbeb6d1a8)     = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/tls/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file
> >>>>> or directory)
> >>>>> stat64("/lib/tls", {st_mode=S_IFDIR|0755,
> >>>>> st_size=17592186044416, ...}) = 0
> >>>>> open("/lib/v5l/fast-mult/half/libncurses.so.5", O_RDONLY) = -1 ENOENT
> >>>>> (No such file or directory)
> >>>>> stat64("/lib/v5l/fast-mult/half", 0xbeb6d1a8) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> open("/lib/v5l/fast-mult/libncurses.so.5", O_RDONLY) = -1 ENOENT (No
> >>>>> such file or directory)
> >>>>> stat64("/lib/v5l/fast-mult", 0xbeb6d1a8) = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/v5l/half/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> stat64("/lib/v5l/half", 0xbeb6d1a8)     = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/v5l/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file
> >>>>> or directory)
> >>>>> stat64("/lib/v5l", 0xbeb6d1a8)          = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/fast-mult/half/libncurses.so.5", O_RDONLY) = -1 ENOENT (No
> >>>>> such file or directory)
> >>>>> stat64("/lib/fast-mult/half", 0xbeb6d1a8) = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/fast-mult/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such
> >>>>> file or directory)
> >>>>> stat64("/lib/fast-mult", 0xbeb6d1a8)    = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/half/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file
> >>>>> or directory)
> >>>>> stat64("/lib/half", 0xbeb6d1a8)         = -1 ENOENT (No such file or
> >>>>> directory)
> >>>>> open("/lib/libncurses.so.5", O_RDONLY)  = 3
> >>>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0
> >>>>> (\0\1\0\0\0\30\335\0\0004\0\0\0(\22\4\0\2\0\0\0044\0 \0\5\0
> >>>>> (\0\34\0\33\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200l\3\0\200l
> >>>>> \3\0\5\0\0\0\0\200\0\0\1\0\0\0\0p\3\02
> >>>>> fstat64(3, {st_mode=S_IFREG|0744, st_size=17592186044416, ...}) = 0
> >>>>> lseek(3, 224268, SEEK_SET)              = 224268
> >>>>> read(3, "\24\0\0\0T\0\0\0\25\0\0\0MontaVista Software
> >>>>> \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\06
> >>>>> mmap2(NULL, 292240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> >>>>> 0) = 0x40020000
> >>>>> mprotect(0x40057000, 66960, PROT_NONE)  = 0
> >>>>> mmap2(0x40058000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
> >>>>> MAP_DENYWRITE, 3, 0x30) = 0x40058000
> >>>>> mmap2(0x40067000, 1424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
> >>>>> MAP_ANONYMOUS, -1, 0) = 0x40067000
> >>>>> close(3)                                = 0
> >>>>> open("/lib/tls/libdl.so.2", O_RDONLY)   = 3
> >>>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\324\t
> >>>>> \0\0004\0\0\0\374\235\0\0\2\0\0\0044\0 \0\10\0(\0)\0&
> >>>>> \0\6\0\0\0004\0\0\0004\0\0\0004\0\0\0\0\1\0\0\0\1\0\0\5\0\0\0\4\0\0\0\3\0\0\0\4\23\0\2
> >>>>> fstat64(3, {st_mode=S_IFREG|0644, st_size=17592186044416, ...}) = 0
> >>>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> >>>>> 0) = 0x40017000
> >>>>> lseek(3, 4892, SEEK_SET)                = 4892
> >>>>> read(3, "\24\0\0\0T\0\0\0\25\0\0\0MontaVista Software
> >>>>> \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\06
> >>>>> mmap2(NULL, 41104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> >>>>> 0) = 0x40068000
> >>>>> mprotect(0x4006a000, 32912, PROT_NONE)  = 0
> >>>>> mmap2(0x40070000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
> >>>>> MAP_DENYWRITE, 3, 0) = 0x40070000
> >>>>> close(3)                                = 0
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [EMAIL PROTECTED]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to