[maemo-developers] Survey about Maemo porting problems

From: Eero Tamminen eero.tamminen at nokia.com
Date: Wed Dec 3 11:24:31 EET 2008
Hi,

ext tz wrote:
> I was doing only sbox_mount_all, not "(path)/scratchbox/sbin/sbox_ctl
> start".  This actually does the binfmt_misc to qemu-arm binding as
> part of its function.
> 
> Note that running this is NOT mentioned anywhere in the INSTALL.txt
> files, nor any of the amd64 howtos (and it is required to be installed
> manually on 64 bit linux).
> 
> It is buried in some scratchbox information marked for system
> administration.  It might also be automatically started under other
> circumstances.

Could you file a bug about this to bugs.maemo.org under
Maemo software -> Development platform -> Documentation?

(e.g. with subject "Issues in 64-bit install documentation")

Thanks!


	- Eero


> On Mon, Dec 1, 2008 at 4:55 AM, Eero Tamminen <eero.tamminen at nokia.com> wrote:
>> ext tz wrote:
>>>> Please check that you've setup your Scratchbox target properly.
>>>> It seems that there's some problem with your CPU transparency setup.
>>> I don't have NFS exported from my tablet or anything else AFAIK, and I
>>> don't remember it being part of the install manual or script stuff
>>>
>>>
>>> http://www.scratchbox.org/documentation/user/scratchbox-0.9.7/usage/transparency.html
>> NFS is needed only for the sbrsh "CPU transparency" method, for
>> exporting the SB chroot environment to the target running the
>> sbrshd daemon (see sbrsh documentation at scratchbox.org).
>>
>> User-space qemu doesn't need NFS as it's local.  As user-space qemu is
>> much easier to install and good enough "CPU transparency" method for
>> almost everything (except threading), that's the default.
>>
>>
>>> There is qemu, and that is there, but I can't find anything to tell me
>>> how that is supposed to work.  Since I'm using arm64 linux, I had to
>>> install manually, but there may be an extra step to get qemu linked as
>>> the emulation method.
>>>
>>> I can't find any explanation of exactly how it works (I can infer much
>>> from requiring binfmt_misc, and qemu,
>> SB init script sets the chosen "CPU transparency" method binary
>> as the binfmt_misc interpreter for ARM ELF binaries.  I.e. ARM
>> binaries just are automatically run through ARM qemu.
>>
>>
>>> but if even one thing is wrong
>>> it won't work and I have no easy means of finding what the cause is).
>>> Is there any way of testing the setup?  Any specific conf file to
>>> check?
>> Just build any ARM binary (in SB ARM target "gcc" is arm cros-compiler).
>> Then try to run it.  If it  doesn't run, then some additional things
>> need to be tested:
>> - Is it really an ARM binary?
>>        file <binary>
>> - Do you have qemu configured?
>>        grep qemu /targets/links/scratchbox.config
>> - Does the qemu work?
>>        emu=$(grep qemu /targets/links/scratchbox.config|cut '-d=' -f2)
>>        $emu --help
>> - Can the binary be run with qemu?
>>        $emu <binary>
>> - Are all required libraries present?
>>        /lib/ld-2.5.so --list <binary>
>>
>>
>>        - Eero

More information about the maemo-developers mailing list