atom feed21 messages in org.freebsd.freebsd-archBooting questions ....
FromSent OnAttachments
Willem Jan WithagenNov 4, 2004 2:47 pm 
Julian ElischerNov 4, 2004 2:56 pm 
Scott LongNov 4, 2004 3:06 pm 
Willem Jan WithagenNov 4, 2004 3:07 pm 
Willem Jan WithagenNov 4, 2004 3:17 pm 
Scott LongNov 4, 2004 3:21 pm 
Julian ElischerNov 4, 2004 3:24 pm 
Willem Jan WithagenNov 4, 2004 3:41 pm 
John BaldwinNov 4, 2004 3:41 pm 
Willem Jan WithagenNov 4, 2004 3:54 pm 
Willem Jan WithagenNov 4, 2004 4:09 pm 
Willem Jan WithagenNov 5, 2004 2:25 am 
Guido van RooijNov 5, 2004 7:28 am 
John BaldwinNov 5, 2004 11:04 am 
Willem Jan WithagenNov 5, 2004 12:34 pm 
John BaldwinNov 8, 2004 10:57 am 
Julian ElischerNov 8, 2004 12:26 pm 
Willem Jan WithagenNov 8, 2004 12:27 pm 
John BaldwinNov 11, 2004 8:13 am 
Marc OlzheimNov 12, 2004 1:27 am 
John BaldwinNov 12, 2004 12:30 pm 
Subject:Booting questions ....
From:Willem Jan Withagen (wj@withagen.nl)
Date:Nov 4, 2004 3:07:54 pm
List:org.freebsd.freebsd-arch

Julian Elischer wrote:

I'm looking for a place to sensibly insert memorytest routines....

Currently I'd like to do that not in the loader, but in the kernel where memory is already setup to be one flat address space. This makes programming a lot simpler.

I'd argue that it should just be a program that can be loadd by the loader and executed.

memtest86 could just be loaded and run.

Fair argument, and something that I've been contemplating as well.

However, this is complicated by the fact that there are several architectures that then need to be addressed in their native mode with all the platform
quirks. Memtest86 is not for the faint of heart to look at. The routines are straight forward, but getting it there and run them is not so easy. And show obvious why it is rather x86 specific. That's why it is really a seperate entity. Getting it to boot is clumsy, you need to put it on a floppy or CD and (re)boot.

The next step would be to "imitate" a kernel booting to the point where I got and do the memory test. This then would be the seperate module/program to load. And you can do:

unload load memtest boot -m 6 /* or something like this */

And get the first 6 tests on run your memory.

Whether the other modules of the kernel are there or not is rather not essential then. After completing the tests we "reboot".

I would need some of the kernel, but as little as possible to get to 1 working processor, the flat memory addressspace and at least printf working.

The advantage of this aproach is that it is (more) architecture independant, unless routines are again written in ASM for speed. But that I consider a second stage optimisation.

--WjW