FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Embedded

 
 
LinkBack Thread Tools
 
Old 04-15-2011, 12:42 PM
Christopher Friedt
 
Default gcc-4.6 / bionic

Yar!

I feel like such a pirate right now ;-)

Crossdev succeeds for x86_64-pc-linux-gnu to x86_64-pc-linux-bionic.
After this, I'll probably be working on a cross-armv7a version to
support e.g. the BeagleBoard. Next, will probably be the PandaBoard
once the Android developers release their SMP code with Honeycomb. I
also just read that Intel is pushing for an Android-based tablet to be
released [1]. The article is speculative, but it isn't the only one
speculating. If this is true, it would mean Bionic (Honeycomb or
Iced-cream) will probably have better support for x86* from the
get-go.

Currently ironing out a couple of bugs with cross-compiling busybox.
It's mainly just a few kernel headers missing, which I presume will be
the main source of 'bugs'. Adding missing kernel headers is a bit of a
process because it requires running them through the
bionic/libc/kernel/tools/clean_header.py script [2]. I have actually
created a seperate ebuild for sys-kernel/bionic-kernel-headers due to
the recent kerfuffle about licensing [3]. So rather than use the stock
sys-kernel/linux-headers, I'm using the 'cleansed' versions that come
with the bionic libc.

I figure that it will be safe to release an overlay once at least one
arch is ~, busybox compiles without too much complaining, and I have a
qemu image / build instructions to distribute.

Would love to have some people willing to try building for other
arches at that point. Currently, it looks like x86*, arm and sh will
work 'out of the box' (not really OOTB, but supported with bionic
kernel headers). However, there are libm headers for mips, ppc and
sparc64 as well.

Cheers,

C

[1] http://www.digitimes.com/news/a20110413PD223.html
[2] http://android.git.kernel.org/?p=platform/bionic.git;a=blob;f=libc/kernel/tools/clean_header.py
[3] http://lwn.net/Articles/434318/
 
Old 04-15-2011, 01:16 PM
wireless
 
Default gcc-4.6 / bionic

On 04/15/11 08:42, Christopher Friedt wrote:
> Yar!
>
> I feel like such a pirate right now ;-)
>
> Crossdev succeeds for x86_64-pc-linux-gnu to x86_64-pc-linux-bionic.
> After this, I'll probably be working on a cross-armv7a version to
> support e.g. the BeagleBoard. Next, will probably be the PandaBoard
> once the Android developers release their SMP code with Honeycomb. I
> also just read that Intel is pushing for an Android-based tablet to be
> released [1].

Hello Christopher,

Thanks for the update on your progress. I ran across this interesting
article, where Google is trying to influence ARM offering and more
on licensing:

http://www.eetimes.com/electronics-news/4214648/Reports--Google-could-standardize-Android-on-ARM-


enjoy,
James
 
Old 04-15-2011, 01:53 PM
Christopher Friedt
 
Default gcc-4.6 / bionic

Apparently it is now official [1] and there will be many.

On Fri, Apr 15, 2011 at 8:42 AM, Christopher Friedt
<chrisfriedt@gmail.com> wrote:
> also just read that Intel is pushing for an Android-based tablet to be

[1] http://www.pcworld.com/article/224835/intels_oak_trail_tablets_to_get_googles_android_30 .html
 
Old 04-15-2011, 03:46 PM
Christopher Friedt
 
Default gcc-4.6 / bionic

Hi James,

On Fri, Apr 15, 2011 at 9:16 AM, wireless <wireless@tampabay.rr.com> wrote:
> On 04/15/11 08:42, Christopher Friedt wrote:
> Thanks for the update on your progress. I ran across this interesting
> article, where Google is trying to influence ARM offering and more
> on licensing:

I think Google's intention here is really just to reduce fragmentation
of Android between Open Handset Alliance members (i.e. manufacturers).
It's good in that it eliminates duplicate work between companies
targeting Android as a platform and there will be a common base
platform. They likely still have a lot of internal code cleanup to do
after pushing to get Honeycomb out the door.

Just to clarify, I'm not planning on doing "Android" development here
- I'm just using Bionic. Anyone interested in Android _really_ should
adhere to upstream's build system.

C
 
Old 05-07-2011, 04:43 PM
Christopher Friedt
 
Default gcc-4.6 / bionic

On Wed, Apr 20, 2011 at 10:23 AM, Christopher Friedt
<chrisfriedt@gmail.com> wrote:
> localhost ~ # x86_64-pc-linux-bionic-gcc -static -m32
> -specs=specfile.txt -o hi hi.c
> localhost ~ # ./hi
> Hello, Bionic World!

/ # LD_LIBRARY_PATH=/lib ./hi
Hello, Bionic world!

I am now in the choot via busybox ;-)

> 1) Fix internal specs (had to manually adjust for crts startfile/endfile)

Fixed 1) partially.

Still need to add the proper linker spec (/bin/linker) and default
library path spec (/lib).

> 2) make it work for -m64 by default

Forgetting about 2) this for now until upstream cares about 64-bit
support. It's actually pretty straight forward to implement, but my
immediate agenda will be x86 and arm.

3) This is definitely proving to be a good lesson in ensuring
compatibility. I've had to add stubs for & implement some syscalls to
get busybox to compile. Every package that doesn't compile is like a
new adventure in /usr/include convention. Building a static strace for
now to help diagnose problems.

It's coming along, and as soon as most of the busybox applets Just
Work™ I'll put it up the overlay. Seems promising so far though ;-)

C
 
Old 05-07-2011, 06:20 PM
Christopher Harvey
 
Default gcc-4.6 / bionic

It's coming along, and as soon as most of the busybox applets Just
Work™ I'll put it up the overlay. Seems promising so far though ;-)


What overlay? I feel like I either missed part of this conversion, or
there is an overlay that I don't know about.
 
Old 05-08-2011, 04:52 AM
Steev Klimaszewski
 
Default gcc-4.6 / bionic

On Sat, May 7, 2011 at 1:20 PM, Christopher Harvey
<chris@basementcode.com> wrote:
>> It's coming along, and as soon as most of the busybox applets Just
>> Work™ I'll put it up the overlay. Seems promising so far though ;-)
>
> What overlay? I feel like I either missed part of this conversion, or there
> is an overlay that I don't know about.
>
>
My guess would be, the overlay he is doing this work in, so as to make
it public, once it actually works and people can use it, rather than
posting it in an unworkable state and having a million emails asking
why this or that isn't working.


--
Steev Klimaszewski <steev@genesi-usa.com>
Senior Software Engineer, Genesi USA, Inc.
 
Old 05-09-2011, 09:08 PM
Christopher Friedt
 
Default gcc-4.6 / bionic

On Sun, May 8, 2011 at 12:52 AM, Steev Klimaszewski
<steev@genesi-usa.com> wrote:
>
> > What overlay? I feel like I either missed part of this conversion, or there
> > is an overlay that I don't know about.
> >
> My guess would be, the overlay he is doing this work in, so as to make
> it public, once it actually works and people can use it, rather than
> posting it in an unworkable state and having a million emails asking
> why this or that isn't working.

Good guess

My main goal was to get this overlay up to speed with my last project
that involved running jamvm atop bionic. The only difference here is
that the other project was done with the Android build system while
this one is using portage.

Busybox works right now in my chroot environment (rpc, nfs, and a
couple of other things are disabled for now). Library search paths
were set to /lib and /usr/lib by default, so I don't need to set
LD_LIBRARY_PATH anymore. Resolv is working. Need to add some things
like crypt(3), getpwent(3), etc.

The libc itself has several 'stubs' that print a 'fixme' message to
stderr whenever invoked, and return NULL / -1 / errno=ENOSYS.

The end result [current staus] will more or less be the following:

cross-i686-pc-linux-bionic/{binutils,gcc,bionic,bionic-kernel-headers}
[working aside from stubs]

bionic (libc, libm, libthread_db, libstdc++) [libc has some stubs]
icu4c [needs a c++ compiler]
zlib [working]
libxml2 [working, needs to be rebuilt and linked with icu4c]
libxslt [depends on working libxml2 w/ icu4c]
file (libmagic) [working]
classpath [soon...]
jamvm [soon...]

This setup (all the way to jamvm) is actually working quite well on 2
architectures right now (i686 & arm) when built using the Android
build system, so I'll be happy when it's working using portage,
because manual building / scripting from autotools to plain make is
getting painful when I'm just adding a new library to the build.

Cheers,

C
 
Old 05-14-2011, 03:02 AM
Christopher Friedt
 
Default gcc-4.6 / bionic

Some (hopefully) highly anticipated updates:

root@localhost ~ # echo $SHELL
/bin/bash

root@localhost ~ # find /var/db/pkg -mindepth 2 -maxdepth 2
/var/db/pkg/dev-java/eclipse-ecj-3.5.2
/var/db/pkg/dev-java/gnu-classpath-0.98-r3
/var/db/pkg/dev-java/jamvm-1.5.4-r1
/var/db/pkg/app-shells/bash-4.2_p8
/var/db/pkg/dev-libs/libffi-3.0.10_rc8
/var/db/pkg/dev-libs/icu-4.6
/var/db/pkg/dev-libs/libxml2-2.7.8
/var/db/pkg/dev-libs/libxslt-1.1.26-r1
/var/db/pkg/app-editors/nano-2.3.0
/var/db/pkg/sys-libs/zlib-1.2.5-r2
/var/db/pkg/sys-libs/ncurses-5.9
/var/db/pkg/sys-libs/readline-6.2_p1
/var/db/pkg/sys-apps/busybox-1.18.3
/var/db/pkg/sys-apps/file-5.06

root@localhost ~ # javac Hello.java && echo success
success

root@localhost ~ # java Hello
Hello, Bionic world!

root@localhost ~ # java ResolverTest www.google.ca
www.google.ca/74.125.91.104

root@localhost ~ # javac HelloGenerics.java && echo success
success

root@localhost ~ # java HelloGenerics
Hello, Bionic world!


HelloGenerics.java
-----------------------------

import java.util.*;

public class HelloGenerics<T> {
public ArrayList<T> words = new ArrayList<T>();

public static void main(String[] arg) {
HelloGenerics<String> hi = new HelloGenerics<String>();

hi.words.add("Hello");
hi.words.add(", ");
hi.words.add("Bionic");
hi.words.add(" ");
hi.words.add("world");
hi.words.add("!");

for(String s: hi.words) {
System.out.print(s);
}
System.out.println();
}
}
 
Old 05-14-2011, 01:48 PM
Mike Frysinger
 
Default gcc-4.6 / bionic

On Friday, May 13, 2011 23:02:08 Christopher Friedt wrote:
> root@localhost ~ # find /var/db/pkg -mindepth 2 -maxdepth 2

if you installed portage-utils, you could use `qlist`. and if you used binary
packages, you could use `qmerge` to manage things. should be simpler than
python + emerge ...
-mike
 

Thread Tools




All times are GMT. The time now is 08:46 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org