I-Appliance BBS
The Official Source for Internet Appliance Upgrades and Mods

Click Here!
BBS Main List | Sign In | Sign Up | Search | Help | Linux-Hacker.netReply to Thread | Printer |

Home / MISC Areas / Mattel JuiceBox
Kernel Build / Toolchain
My kernel isn't building...do I have the right toolchain?

New MessageKernel Build / Toolchain (modified 0 times) bkgoodman
Profile
I built an ARM toolchain from Crosstool, and am trying to compile the Kernel from Emsoft. I am using:

gcc-3.4.2 with glibc-2.2.5

I don't know if these are correct (I susspect not).

At first, gcc said -mshort-load-bytes passed to it (from arch/arm/Makefile) was undefined - so I removed it.

Then gcc (in the assembler) said -mno-fpu was undefined, so I removed that too.

Now it fails assembing:


entry-armv.S: Assembler messages:
entry-armv.S:1060: Warning: destination register same as write-back base
entry-armv.S:1285: Error: undefined symbol TSS_FPESAVE used as an immediate value
entry-armv.S:1283: Error: internal_relocation (type: OFFSET_IMM) not fixed up
entry-armv.S:1336: Error: internal_relocation (type: OFFSET_IMM) not fixed up
entry-armv.S:1337: Error: internal_relocation (type: OFFSET_IMM) not fixed up
entry-armv.S:1608: Error: cannot represent SWI relocation in this object file format
m

Anybody know what's going on? I susspect my toolchain is wrong - or is there a different/better version of the Kernel I should be using?

What about the regular uCLinux distro - should I be using that? Is there built-in JB support (i.e. config menu option) for it?


---------
Brad Goodman
[myfirstname]@bradgoodman.com
09-29-2006 18:25:13

New MessageRE:Kernel Build / Toolchain (modified 0 times) bkgoodman
Profile
Now I've tried 3 different toolchains...none of which work!

gcc-3.3.4-glibc-2.3.3 worked well, but gave me a bunch of undefined symbols on final vmlinux link:

free_dma request_dma dma_spin_lock

gcc-2.95.3-glibc-2.2.3 gave a bunch of assembly errors (undefined symbols) assembling arm-setup.S

Any ideas????

10-01-2006 11:43:27

New MessageRE:Kernel Build / Toolchain (modified 1 times) jbfan
Profile
Not sure if this will help (Linux on the JB hasn't been a priority for me so this is my first time trying to build it).
Using the steps in the readme;
make juicebox_config
make oldconfig
make dep
make Image
Resulted in no errors.

I'm using RTEMS under linux (FC2). (Mostly chose RTEMS because the demo code builds under it without modification.)
This is what is on my system;

[root@localhost ~]# rpm -qa | grep -i rtems
rtems-4.6-arm-rtems-binutils-2.13.2.1-2
rtems-4.6-arm-rtems-gcc-gcc3.2.3newlib1.11.0-4
rtems-4.6-rtems-base-binutils-2.13.2.1-2
rtems-4.6-rtems-base-gdb-5.2-1
rtems-4.6-arm-rtems-gdb-5.2-1
rtems-4.6-rtems-base-gcc-gcc3.2.3newlib1.11.0-4

-J
10-01-2006 15:19:09

New MessageRE:Kernel Build / Toolchain (modified 0 times) greghol
Profile
Works fine for me using the arm tools from http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/
and from http://opensrc.sec.samsung.com/download.html

Greg

[gregh@arm linux-2.4.x]$ arm-elf-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)

10-01-2006 16:17:13

New MessageRE:Kernel Build / Toolchain (modified 0 times) bkgoodman
Profile
My problems seems to be related to the fact that my toolchain does not have some sort of "soft float" or FPU support.

The baud-rate divisor calculation code for the JB serial port uses some math with double-percision floats - and is chokes on a bunch of unresolves symbols trying to link it - apparently after the double calculations get translated to some function calls like "__div3" or something.

I will try the other toolchain you mentioned - just wished I knew what was going on!

10-06-2006 20:17:35

New MessageRE:Kernel Build / Toolchain (modified 0 times) WestfW
Profile

The baud-rate divisor calculation code for the JB serial port uses some math with double-percision floats

That's like... incredibly EVIL, if it's the only thing the JB ucLinux code has to incorporate a SW Float libary for
10-08-2006 21:13:51

New MessageRE:Kernel Build / Toolchain (modified 0 times) WestfW
Profile
Hmm. It looks to me like your compiler shouldn't need any special softfloat
libaries; they're part of the ucLinux distribution. Probably here:
arch/armnommu/nwfpe/softfloat.c
I haven't looked closely enough to see what's necessary to make sure that
gets built and linked in...
10-09-2006 00:07:10

New MessageRE:Kernel Build / Toolchain (modified 0 times) bkgoodman
Profile
I agree, it is very evil.

I built a crosstool arm-softfloat toolchain, and it didn't work either.

I used the pre-compiled toolchain in the ZipItArmToolchain link on the Wiki - and that worked well. I don't know what the exact differences are.

I should probibly re-write that stupid baud-rate calculation to use just INTs - but either way - it works for now.

I have been playing with the kernel a bit under Skyeye so far - (no FLASH or serial on my JB yet.)

Those functions under arch/armnommu/nwfpe (sp?) wouldn't get used - because the code was just doing a simple:


double z,x,y;
...
x = z/y;

...or whatever....no special "functions" being called - just normal math - but with double types - so the compiler is obviously supposed to be in kahoots with the glibc to make it work - (i.e. call some __div3f function or something for this operation).

10-09-2006 10:25:28

Reply to Thread | Printer |
All times are PSTPowered by UltraBoard v1.62



Copyright © 2000, Netmake Inc. All Rights Reserved.
See Terms and Conditions for more information.




i-opener opener laptop notebook computer help drivers dll free windows dos repair fix linux mac macintosh 2000 95 98 nt pc configure hardware software sound video netscape explorer network networking lan wan software cmos fat bios printer card mouse modem ide scsi cd rom controllers scanner tape hard drive cgi scripts source code mp3