Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Dec 2010 03:39:41 +0800 (SGT)
From:      Darmawan Salihun <darmawan_salihun@yahoo.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: How to debug BTX loader?
Message-ID:  <846415.2704.qm@web76808.mail.sg1.yahoo.com>
In-Reply-To: <201011300938.53006.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Hi John, 

--- On Tue, 11/30/10, John Baldwin <jhb@freebsd.org> wrote:

> From: John Baldwin <jhb@freebsd.org>
> Subject: Re: How to debug BTX loader?
> To: freebsd-hackers@freebsd.org
> Cc: "Darmawan Salihun" <darmawan_salihun@yahoo.com>
> Date: Tuesday, November 30, 2010, 9:38 AM
> On Monday, November 29, 2010 1:01:27
> pm Darmawan Salihun wrote:
> > Hi guys, 
> > 
> > I'm currently working on a BIOS for a custom Single
> Board Computer (SBC). 
> > I have the required BIOS source code and tools at
> hand. 
> > However, the boot process always stuck in the BTX
> loader 
> > (the infamous "ACPI autoload failed") when I booted
> out of USB stick 
> > (with the FreeBSD 8.1 USB stick image). 
> > 
> > I could get the system to boot into FreeBSD 8.1 
> > (by keeping the CDROM tray open and close it when the
> board looks for 
> > boot device, otherwise BTX will reboot instantly). 
> 
> Are you getting an actual BTX error message or a
> freeze?  

Booting from CDROM connected to via USB to CDROM converter 
would always failed (triple fault, then instant reboot), 
unless I left the CDROM tray open and then close it when the 
BIOS displays "no boot device" error message. 
In the latter case, FreeBSD 8.0 and 8.1 would boot just fine. 

Booting from CF-card connected via USB CF card adapter 
with pfsense 1.2.3 would freeze the system when BTX executes.
It freezes with a register dump of the BTX. I'll post the 
registers dump shortly.


Anyway, the system I'm working with is an SBC based on the 
AMD Geode LX800.

> BTX is just a 
> minikernel written all in assembly.  It doesn't handle
> loading the kernel, 
> etc.  All that work is done by the /boot/loader
> program (which is written in 
> C).  You can find all the source to the boot code in
> src/sys/boot.  The BTX 
> kernel is in src/sys/boot/i386/btx/btx/.
> 

Ok. Thanks. 

> However, to debug this further we would need more info such
> as what exactly 
> you are seeing (a hang, a BTX fault with a register dump,
> etc.).
> 

I'll post the error message in various boot device settings shortly. 


Thanks, 

Darmawan







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