Problems compiling kernel

Posted by: andy

Problems compiling kernel - 19/01/2002 15:14

Ok, this is slightly off topic because the kernel I am trying to compile is the Rio Receiver kernel, but I think there are more kernel developers here than on the Receiver board...

I am trying to attempt to port voladj and probably some stuff from HiJack across to the Receiver. My first step is to get a stock kernel built.

I have successfully compiled an empeg kernel, so I know my cross compiler is working. When I try to compile the Rio Receiver, I get the following error, does anyone know what is going wrong:
------------------------------------------------------------
make[1]: Entering directory `/usr/local/src/rioreceiver-v1.03/mercury-kernel/arch/arm/kernel'
arm-empeg-linux-gcc -D__KERNEL__ -I/usr/local/src/rioreceiver-v1.03/mercury-kernel/include -D__ASSEMBLY__ -mno-fpu -mapcs-32 -marmv4 -c -o entry-armv.o entry-armv.S
entry-armv.S: Assembler messages:
entry-armv.S:495: Error: only flag field of psr can be set with immediate value
entry-armv.S:537: Error: only flag field of psr can be set with immediate value
entry-armv.S:570: Error: only flag field of psr can be set with immediate value
entry-armv.S:617: Error: only flag field of psr can be set with immediate value
entry-armv.S:631: Error: only flag field of psr can be set with immediate value
entry-common.S:27: Error: only flag field of psr can be set with immediate value
entry-armv.S:694: Error: only flag field of psr can be set with immediate value
entry-armv.S:734: Error: only flag field of psr can be set with immediate value
entry-armv.S:775: Error: only flag field of psr can be set with immediate value
entry-armv.S:802: Error: only flag field of psr can be set with immediate value
make[1]: *** [entry-armv.o] Error 1
make[1]: Leaving directory `/usr/local/src/rioreceiver-v1.03/mercury-kernel/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2
----------------------------------------------------------

Line 495 reads:

msr cpsr_c, #I_BIT | MODE_SVC

Line 537 reads:

msr cpsr_c, #I_BIT | MODE_SVC
Posted by: tfabris

Re: Problems compiling kernel - 20/01/2002 11:04

Three things:

1) If you could port Voladj to the Receiver, you would be my hero.

2) Please move this thread over to the Rio Receiver BBS.

3) This is just a wild guess, but doesn't the Rio Receiver use something other than an ARM processor? Maybe it needs a different cross-compiler?
Posted by: andy

Re: Problems compiling kernel - 20/01/2002 11:19

1) If you could port Voladj to the Receiver, you would be my hero.

Once I can get the stock kernel built it looks very straight-forward, while the Receiver uses different hardware for it's DAC the drivers are very similar in structure (because Hugo wrote both of them).

2) Please move this thread over to the Rio Receiver BBS.

Will do, I did put it here for a reason through, far more people read this BBS and I thought there was a chance someone might be able to help.

3) This is just a wild guess, but doesn't the Rio Receiver use something other than an ARM processor? Maybe it needs a different cross-compiler?

It's processor still uses an ARM design through so I think the ARM cross-compiler is still the right one to use, perhaps it needs some settings tweaking. I'm hoping Hugo or Mike might be along soon with an answer...
Posted by: tfabris

Re: Problems compiling kernel - 20/01/2002 11:39

Will do, I did put it here for a reason through, far more people read this BBS and I thought there was a chance someone might be able to help.

Fair enough.
Posted by: andy

Re: Problems compiling kernel - 20/01/2002 12:47

I managed to resolve the problem. I was using the pre-built cross compiler that Mark provides for the empeg at http://empeg-hijack.sourceforge.net/ which wasn't working. I have switched to use the cross compiler that Jeff Mock provides at http://www.mock.com/receiver/tools/ for the Receiver which is working fine.

As far as I can see Mark's tool chain should work, there are no Receiver specific steps detailed in Jeff's instructions of how to build your own tool chain, so I don't know why Mark's didn't work on the Receiver kernel. I even checked the versions, both are based on gcc 2.95.2

So thanks for Tony for pushing me in the right direction...