From owner-freebsd-ppc@FreeBSD.ORG Mon Feb 23 09:45:59 2009 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7B781065677 for ; Mon, 23 Feb 2009 09:45:59 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from semihalf.com (semihalf.com [206.130.101.55]) by mx1.freebsd.org (Postfix) with ESMTP id AAEA58FC12 for ; Mon, 23 Feb 2009 09:45:59 +0000 (UTC) (envelope-from raj@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by semihalf.com (8.13.1/8.13.1) with ESMTP id n1N9jrVl008931; Mon, 23 Feb 2009 02:45:54 -0700 Message-ID: <49A2704F.4060703@semihalf.com> Date: Mon, 23 Feb 2009 10:45:51 +0100 From: Rafal Jaworowski Organization: Semihalf MIME-Version: 1.0 To: Aleksey V Fedorov References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-ppc@freebsd.org Subject: Re: boot process X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2009 09:46:01 -0000 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