Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2009 10:45:51 +0100
From:      Rafal Jaworowski <raj@semihalf.com>
To:        Aleksey V Fedorov <alexf@vsi.ru>
Cc:        freebsd-ppc@freebsd.org
Subject:   Re: boot process
Message-ID:  <49A2704F.4060703@semihalf.com>
In-Reply-To: <Pine.GSO.4.62.0902212141241.25932@serv1>
References:  <Pine.GSO.4.62.0902212141241.25932@serv1>

next in thread | previous in thread | raw e-mail | index | archive | help
Aleksey V Fedorov wrote:
> I have RouterBoard RB1000 with MPC8548. This board has it's own
> RouterBoot loader instead of U-Boot. This loader load linux kernel OK:

*snip*

> but FreeBSD does'not start.
> 
> RouterBOOT booter 2.14
> 
> RouterBoard 1000
> 
> CPU frequency: 1333 MHz
>   Memory size: 512 MB
> 
> Press any key within 2 seconds to enter setup..
> trying bootp protocol.................. OK
> Got IP address: 88.83.197.247
> resolved mac address 00:14:4F:EA:FE:C5
> Gateway: 88.83.197.193
> transfer started ................................... transfer ok,
> time=273.98s
> setting up elf image... OK
> jumping to kernel code
> 
> and silence..
> 
> What is required to boot FreeBSD kernel? Is it possible to make
> intermediate elf loader which will setup U-boot environment for
> regular boot? I want to keep RouterBoot loader unchanged.

The MPC85XX kernel will not work out of the box in such a set-up. It assumes
that FreeBSD loader(8), which is run on top of firmware, will pass metadata to
it. There are two ways to get the kernel running in your environment:

1. Adjust loader(8) to run on your firmware (this requires that the firmware
exposes some API for the external world); I'm not sure if RouterBOOT has
anything like this.

2. Hack e500_init() routine in the kernel to hard code some config data it
normally gets from loader, like physical RAM size, memory regions number etc.,
CCSR base address, CCB clock frequency, maybe something more, see e500_init()
for details.

Rafal




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49A2704F.4060703>