TFTP single file kernel load

Ian Lepore ian at FreeBSD.org
Sat Feb 23 17:05:04 UTC 2013


On Sat, 2013-02-23 at 17:57 +0100, Wojciech Puchar wrote:
> >
> > Basically what needs doing is to link the kernel with a modified
> > ldscript that doesn't add space for the program headers, and then run
> > the output of that link through "objcopy -S -O binary" to create a
> > kernel.bin file.  That file can be directly loaded to the address it was
> > linked for, and a jump to the load address launches the kernel.
> 
> is btxld(8) a tool i have to use after making kernel.bin file?
> 
> what should i use for -b and -l
> 

I've never heard of btxld before now, and from a quick look at its
manpage its not clear to me what it does.  It may be a part of the x86
build process I've never noticed before.

> 
> 
> > Whether the kernel runs properly when launched that way is a different
> > question.  An arm kernel will run that way because we haven't had the
> > luxury of loader(8) in the arm world until recently.  The x86 kernel may
> > expect values in the environment that the loader obtained from the bios.
> 
> it can be loaded without loader for now - if you press a key before 
> loader(8) is loaded and enter kernel image.
> 
> at least it was like that.

Oh, good point, maybe it'll just work fine (although it's been years
since I last loaded an x86 kernel directly from boot2, way back before
the days of acpi and smap data and all of that modern stuff).

-- Ian




More information about the freebsd-hackers mailing list