How to debug BTX loader?

Darmawan Salihun darmawan_salihun at
Wed Dec 1 21:09:45 UTC 2010

Hi John, 

--- On Tue, 11/30/10, John Baldwin <jhb at> wrote:

> From: John Baldwin <jhb at>
> Subject: Re: How to debug BTX loader?
> To: freebsd-hackers at
> Cc: "Darmawan Salihun" <darmawan_salihun at>
> 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?  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/.
> 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.).

One of the BTX fault shows the register dump in the attachment. 
I hope this could help. Anyway, If I were to try to interpret 
such register dump, where should I start? I understand x86/x86_64 
assembly pretty much, but I'm not quite well versed with the 
FreeBSD code using it. 



> -- 
> John Baldwin


More information about the freebsd-hackers mailing list