Subject: RE: CATS & Debian Linux

From: Jesus Eugenio Sanchez <[email-masked]>
Date: Tue, 3 Nov 1998 18:47:51 -0600

Do you have the sequence of steps needed to load 
the Linux kernel in one of these machines? AFAIK, the
current version of the firmware won't let me boot
from an EXT2 partition, so I must put the Linux
kernel in an FFS part. I'm trying to run the kernel
but I'm unaware of the current parameters to do that
(the CATS firmware needs to "load" the image in memory
and then make a "call" to run the kernel). Do you (or
anybody in the list) know of these parameters?

Greetings, and thanks.

----
Jesús Eugenio Sánchez Peña ([email-masked])
Avantel, S.A. x5868, v273-5868, (8) 153-5868

-----Original Message-----
From: Philip Blundell [mailto:[email-masked]]
Sent: Tuesday, November 03, 1998 4:17 PM
To: Jesus Eugenio Sanchez
Cc: [email-masked]'
Subject: Re: CATS & Debian Linux 

>There a Debian distro in the following URL:
>
>http://www.debian.org/ports/arm/
>
>Has anybody tested it with Chalice's CATS?

Bits of it.  The CATS should be 100% compatible with the Netwinder in
terms of 
userland binaries so there should be no problem.  The main difficulty 
historically has been the lack of floating point but that shouldn't be
the 
case much longer.

p.

unsubscribe: body of `unsubscribe linux-arm' to
[email-masked]
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Wed, 04 Nov 1998 09:42:16 +0100

>Do you have the sequence of steps needed to load=20

I've just had another mail about this as well.  The standard Cyclone firmware 
doesn't know about Linux kernels so you need to attach a bit of extra code to 
the front of the zImage file.  You can then load it as binary ("load <device>")
and just run it in place ("call 10000000").

I've attached the assembler source to generate this magic header.  You need to 
do something along the lines of:

$ gcc -nostdlib -nostartfiles -o bootstrap.o bootstrap.S
$ objcopy bootstrap.o bootstrap.bin

and this should leave you with a binary file exactly 32k long that you can 
just tack onto the front of the zImage with `cat' or something.

Also you probably need to take out the definitions of PARAMS_OFFSET and 
PARAMS_BASE in include/asm/arch/hardware.h - just wrap them in #if 0 or 
something similar.

Let me know how you get on.

p.

/* Minimal header for machines with no real bootloader */
	
	.text

	.globl	_start
_start:
	mov	r0, #0			@ set up args
	mov	r1, #6
	mov	r4, #0x00000000
	orr	r4, r4, #0x8000
	mov	r5, #0x130		@ turn MMU off
	mcr	p15, 0, r5, c1, c0
	mov	r0, r0			@ wait for pipeline
	mov	pc, r4			@ jump to kernel

	.align	8
	.space	0x7f00