The kernel will execute EABI even if you're running arm (etch) and not armel
(lenny). The key is to use an EABI toolchain and statically link your
executable. Unless that's not practical because of dependencies, it's probably
the simplest way to find out whether EABI will help your app's performance.
(See
ftp://ftp.embeddedarm.com/touch-panel-computers/ts-tpc-7390-linux/cross-toolchains/README.EABIvsOABI)
Unfortunately you can't use Martin's toolchain for kernel because gcc 4.1.1
miscompiles __weak, but it seems to work just fine otherwise. Just make sure
you force static linking in your build if you're running etch because unlike
the TS toolchain, Martin's does not static link default.
To run lenny, I opened my working SD on my local machine, reformatted and
mounted partition 4 then unpacked the lenny filesystem. Be sure to untar as
root or you won't get everything. If you follow Ted's instructions exactly it
should work. The problem I had initially getting his instructions to work was
ignoring the drive geometry bits.
My approach has been to start with a working SD card using stock images and
filesystems and make sure everything works, then change only one partition (eg
filesystem or kernel) so I really know if the problem is my new partition or
the whole card. So trying to get a new kernel working I can switch back to the
TS kernel and if it boots I know I haven't borked something else.
I still don't have this whole thing figured out myself, but if you can avoid
building a new kernel you may save yourself some headaches. I need latest
bluetooth drivers and bluez4 so unfortunately I have to use a later
kernel+distro.
Good luck,
Andy
--- In "Dunge2" <> wrote:
>
> Hello all,
>
> Sorry, I know this has been discussed a lot before, but I'm missing some
> answers.
>
> We are developing a GTK+ application on this board. We were preparing the dev
> SDCARD as follow:
> fdisk, create 4 partitions, 2+3 as Non-FS
> # dd if=sd-mbr.dd of=/dev/sda bs=440 count=1
> # dd if=kernel-image-latest.dd of=/dev/sda2
> # dd if=initrd-busybox-rootfs-latest.dd of=/dev/sda3
> # mkfs -t ext3 /dev/sda4
> # (mount, untar debian-etch-xorg-512mb-aug252008.tar.gz, unmount)
> The device then booted on the SDcard on a etch/arm distribution and our
> application ran EXTREMELY slow. So I got as a goal to gives it a speed boost,
> and after searching a bit I learned about EABI/armel.
>
> So I grabbed this distribution from TS ftp and extracted to partition4
> instead of etch: debian-lenny-eabi-armel-512mb-apr092009.tar.gz
>
> Of course, simply doing this the device won't boot anymore.
>
> Question #1: Does the kernel-image-latest.dd is compiled to support EABI or
> only OABI?
> Question #2: Does I need to update the initrd to be in EABI too or since the
> EABI kernel also support OABI it's unneeded? Cause I can't find any EABI
> initrd on the TS ftp.
> Question #3: I communicated by email by a certain Martin guy who seemed to
> know a lot about this. He recommended to use his cross-compiler instead of
> the one on the TS website, because he patched GCC to use "armv4t, eabi and
> maverik-crunch fix" which supposedly gives even more speed boost for floating
> points. Is that a good choice? The link is:
> http://freaknet.org/martin/crosstool/packages/arm-ep9312-linux-gnueabi-gcc-g++-4.1.1-glibc-2.4-crosstool_0.42-1_i686.tgz
>
> Finally, on this mailing list I found this guide link:
> http://ted.openavr.org/Lenny-on-ts7390/
> It seems nice, but I wonder why he goes trough the trouble of debootstrapping
> when TS offer a debian-eabi already packaged
> (debian-lenny-eabi-armel-512mb-apr092009.tar.gz).
>
> So, the most important question is, how do I get this thing to boot?!
> Thanks
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|