BIOS modification for headless unit
WinXPTalk.com Forum Index WinXPTalk.com
Forums for Windows XP users.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web winxptalk.com
BIOS modification for headless unit

 
Post new topic   Reply to topic    WinXPTalk.com Forum Index -> Embedded System
Author Message
LIKAI
Guest





Posted: Wed Dec 22, 2004 6:23 am    Post subject: BIOS modification for headless unit Reply with quote

From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the video
adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However, is
there more detail information on which part in the BIOS we should change?
INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor
Back to top
KM
Guest





Posted: Wed Dec 22, 2004 12:42 pm    Post subject: Re: BIOS modification for headless unit Reply with quote

LIKAI,

BIOS usually stops booting machine with error messages like "keyboard not present" or - in case of no VGA card - it stops with some
audio signals (ususally just a beep to a system speaker).
Do you have the system speaker in your device?

Btw, many BIOS implementations often offer a setting like "Halt on no errors".

Anyway, if previous thread you mentioned you could boot DOS without problem. This means you unlikely have problems with BIOS.

Since you mentioned you have control over BIOS code you may want to check POST procedure (INT 19). At first stage the POST test
usually checks all of the basic components including video card.

KM

Quote:
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code instead of reporting error with video adapter. If not
then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit because the system hangs after BIOS initial, and before
ntldr. However, is there more detail information on which part in the BIOS we should change? INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor

Back to top
Richard
Guest





Posted: Thu Dec 23, 2004 3:50 am    Post subject: Re: BIOS modification for headless unit Reply with quote

I love the one "No Keyboard Detected - Press F1 to continue". You figure
after after 15 years of seeing this in the system bios, someone would have
been sharp enough to catch it..... <grin>



"KM" <konstmor@nospam_yahoo.com> wrote in message
news:#aYGLn$5EHA.2180@TK2MSFTNGP10.phx.gbl...
Quote:
LIKAI,

BIOS usually stops booting machine with error messages like "keyboard not
present" or - in case of no VGA card - it stops with some
Back to top
LIKAI
Guest





Posted: Thu Dec 23, 2004 5:58 am    Post subject: Re: BIOS modification for headless unit Reply with quote

The system can boot to DOS. It's not hanging during the BIOS POST. It hangs
after BIOS pass the control(far jump) to MBR of the HD; before the XPE ntldr
(I used the windbg on the debug mode of ntldr. I got message when I use an
external adapter and no debug message when I take the vga adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
Quote:
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the
video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However, is
there more detail information on which part in the BIOS we should change?
INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor

Back to top
Slobodan Brcin (eMVP)
Guest





Posted: Thu Dec 23, 2004 10:56 am    Post subject: Re: BIOS modification for headless unit Reply with quote

Hi Likai,

This has no sense but let me play along.

You have three check points that you can make.

1. You can place your MBR code that will toggle state of some RS-232 pin so you can see whether MBR was executed by BIOS. (Since you
can boot to DOS I assume that it was loaded)
2. You can place your code in PBR. This way you can verify that MBR found and correctly loaded PBR.
3. You can inject your code on the beginning of ntldr this way you will see if ntldr was loaded by PBR.
4. You can make boot.ini that will load dos boot sector from file and boot to dos. (Or load your code). This will verify that ntldr
is working or not.

If you can pass step 4 then problem is XPe related.

HTH,
Slobodan


"LIKAI" <victorlai@aaeon.com.tw> wrote in message news:%23A36eqI6EHA.3416@TK2MSFTNGP09.phx.gbl...
Quote:
The system can boot to DOS. It's not hanging during the BIOS POST. It hangs
after BIOS pass the control(far jump) to MBR of the HD; before the XPE ntldr
(I used the windbg on the debug mode of ntldr. I got message when I use an
external adapter and no debug message when I take the vga adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
From Sir, Slobodan's previous post:

----------------------------------------------------------------------------------------------------------------------------------
--------
For headless boot to work, BIOS must be able to pass control to MBR code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the
video adapter.

----------------------------------------------------------------------------------------------------------------------------------
--------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However, is
there more detail information on which part in the BIOS we should change?
INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor



Back to top
KM
Guest





Posted: Thu Dec 23, 2004 11:38 am    Post subject: Re: BIOS modification for headless unit Reply with quote

LIKAI,

Interesting..

I agree with Slobodan. Since you see the hang on jumping to MBR code you may want to play with the MBR to make sure it gets
executed. Beside toggling state of some RS-232 pin, you can also chaneg some bits/bytes on teh same HDD (pretty simple with BIOS
interrupts if worked). Changed bytes will indicate the MBR was executed. You can even write some useful info data (error codes, a
few different outputs in different places of the code, etc.).
Or you can send a few beeps on system speaker. Just "out" to ports 61h, 43h, 42h. (grab some code from here:
http://courses.ece.uiuc.edu/ece390/books/labmanual/io-devices-speaker.html,
or here http://www.husseinsspace.com/teaching/udw/1996/asmnotes/chapsix.htm)

The same can be done with PBR and ntldr.

Another test could be done if your BIOS happens to be PXe enabled. If it supports network boot (don't know if your target has a
network card), you can create a headless SDI image and try to boot it on the client. You don't have to capture postFBA image (since
you are going to be doing the image for testing purposes anyway) but jsut make sure to have an early FBA phase command to either
send debug output to a serial port or do a few beeps on system speaker.

KM

Quote:
The system can boot to DOS. It's not hanging during the BIOS POST. It hangs after BIOS pass the control(far jump) to MBR of the
HD; before the XPE ntldr (I used the windbg on the debug mode of ntldr. I got message when I use an external adapter and no debug
message when I take the vga adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code instead of reporting error with video adapter. If not
then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit because the system hangs after BIOS initial, and before
ntldr. However, is there more detail information on which part in the BIOS we should change? INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor



Back to top
LIKAI
Guest





Posted: Fri Dec 24, 2004 6:33 am    Post subject: Re: BIOS modification for headless unit Reply with quote

Dear Slobodan and KM,
Thanks for these great suggestion. I didn't realize that I can do so many
things in the MBR and ntldr. I'll try all these and see if I can get though
these trouble.

I was wondering if all headless system will go through these issues, or it's
just us. The information from books and documents seems to be so easy. I am
afraid I just miss on one simple mistake to make it not working. I want to
thank you again for supporting me in such detail way. I'll check our system
right away.

Victor

"Slobodan Brcin (eMVP)" <sbrcin@ptt.yu> 级糶秎ン穝籇:%23DJCNPL6EHA.3236@TK2MSFTNGP15.phx.gbl...
Quote:
Hi Likai,

This has no sense but let me play along.

You have three check points that you can make.

1. You can place your MBR code that will toggle state of some RS-232 pin
so you can see whether MBR was executed by BIOS. (Since you
can boot to DOS I assume that it was loaded)
2. You can place your code in PBR. This way you can verify that MBR found
and correctly loaded PBR.
3. You can inject your code on the beginning of ntldr this way you will
see if ntldr was loaded by PBR.
4. You can make boot.ini that will load dos boot sector from file and boot
to dos. (Or load your code). This will verify that ntldr
is working or not.

If you can pass step 4 then problem is XPe related.

HTH,
Slobodan


"LIKAI" <victorlai@aaeon.com.tw> wrote in message
news:%23A36eqI6EHA.3416@TK2MSFTNGP09.phx.gbl...
The system can boot to DOS. It's not hanging during the BIOS POST. It
hangs
after BIOS pass the control(far jump) to MBR of the HD; before the XPE
ntldr
(I used the windbg on the debug mode of ntldr. I got message when I use
an
external adapter and no debug message when I take the vga adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
From Sir, Slobodan's previous post:

----------------------------------------------------------------------------------------------------------------------------------
--------
For headless boot to work, BIOS must be able to pass control to MBR
code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the
video adapter.

----------------------------------------------------------------------------------------------------------------------------------
--------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However,
is
there more detail information on which part in the BIOS we should
change?
INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor





Back to top
LIKAI
Guest





Posted: Fri Dec 24, 2004 8:03 am    Post subject: Re: BIOS modification for headless unit Reply with quote

I also find the following information from internet:

http://www.dewassoc.com/kbase/multiboot/boot_ini.htm

Fixing display problems
Microsoft learned early on that video drivers, especially in NT, were prone
to problems either as the result of corruption or merely due to
incompatibilities. When Windows NT (all versions) is installed, you will
note that the boot loader always provides for a boot into the operating
system with a plain vanilla VGA driver, thus a VGA compatible display
device is one of the basic requirements of all Windows NT installations.

A typical situation might involve updating your current display driver, or
possibly installing a new video card with new drivers only to start the
machine and find out the new driver version doesn't work correctly with your
hardware. Obviously it's very difficult to fix problems when nothing appears
on the video screen. Therefore, by default, Windows NT setup (all versions)
creates an entry in BOOT.INI with the optional switch /basevideo. In the
sample BOOT.INI above, this option will display in the menu as "Windows NT
Workstation 4.00 [VGA mode]." Choosing this option will cause the system to
use a generic VGA video driver, which should work with any VGA compliant
display. In most cases, this will enable you to reboot and then fix an
incorrect or improperly working display driver.

"KM" <konstmor@nospam_yahoo.com> 级糶秎ン穝籇:u2eIFoL6EHA.208@TK2MSFTNGP12.phx.gbl...
Quote:
LIKAI,

Interesting..

I agree with Slobodan. Since you see the hang on jumping to MBR code you
may want to play with the MBR to make sure it gets executed. Beside
toggling state of some RS-232 pin, you can also chaneg some bits/bytes on
teh same HDD (pretty simple with BIOS interrupts if worked). Changed bytes
will indicate the MBR was executed. You can even write some useful info
data (error codes, a few different outputs in different places of the
code, etc.).
Or you can send a few beeps on system speaker. Just "out" to ports 61h,
43h, 42h. (grab some code from here:
http://courses.ece.uiuc.edu/ece390/books/labmanual/io-devices-speaker.html,
or here
http://www.husseinsspace.com/teaching/udw/1996/asmnotes/chapsix.htm)

The same can be done with PBR and ntldr.

Another test could be done if your BIOS happens to be PXe enabled. If it
supports network boot (don't know if your target has a network card), you
can create a headless SDI image and try to boot it on the client. You
don't have to capture postFBA image (since you are going to be doing the
image for testing purposes anyway) but jsut make sure to have an early FBA
phase command to either send debug output to a serial port or do a few
beeps on system speaker.

KM

The system can boot to DOS. It's not hanging during the BIOS POST. It
hangs after BIOS pass the control(far jump) to MBR of the HD; before the
XPE ntldr (I used the windbg on the debug mode of ntldr. I got message
when I use an external adapter and no debug message when I take the vga
adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the
video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However,
is there more detail information on which part in the BIOS we should
change? INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor





Back to top
KM
Guest





Posted: Fri Dec 24, 2004 9:07 am    Post subject: Re: BIOS modification for headless unit Reply with quote

LIKAI,

This is correct information but it does not help you much. It is basically to fix problems with existing (not properly installed or
set up) video adapters.

In your case, you don't have video card in the machine at all. You need "VGA Boot Driver" driver component instead of "VGA Save"
driver component in your image.
Since you mentioned you followed the "headless" instaructions from XPe documentation I believe you already have the "VGA Boot
Driver" in your configuration. (btw, disable the "VGA Save")

KM

Quote:
I also find the following information from internet:

http://www.dewassoc.com/kbase/multiboot/boot_ini.htm

Fixing display problems
Microsoft learned early on that video drivers, especially in NT, were prone to problems either as the result of corruption or
merely due to incompatibilities. When Windows NT (all versions) is installed, you will note that the boot loader always provides
for a boot into the operating system with a plain vanilla VGA driver, thus a VGA compatible display device is one of the basic
requirements of all Windows NT installations.

A typical situation might involve updating your current display driver, or possibly installing a new video card with new drivers
only to start the machine and find out the new driver version doesn't work correctly with your hardware. Obviously it's very
difficult to fix problems when nothing appears on the video screen. Therefore, by default, Windows NT setup (all versions) creates
an entry in BOOT.INI with the optional switch /basevideo. In the sample BOOT.INI above, this option will display in the menu as
"Windows NT Workstation 4.00 [VGA mode]." Choosing this option will cause the system to use a generic VGA video driver, which
should work with any VGA compliant display. In most cases, this will enable you to reboot and then fix an incorrect or improperly
working display driver.

"KM" <konstmor@nospam_yahoo.com> 级糶秎ン穝籇:u2eIFoL6EHA.208@TK2MSFTNGP12.phx.gbl...
LIKAI,

Interesting..

I agree with Slobodan. Since you see the hang on jumping to MBR code you may want to play with the MBR to make sure it gets
executed. Beside toggling state of some RS-232 pin, you can also chaneg some bits/bytes on teh same HDD (pretty simple with BIOS
interrupts if worked). Changed bytes will indicate the MBR was executed. You can even write some useful info data (error codes, a
few different outputs in different places of the code, etc.).
Or you can send a few beeps on system speaker. Just "out" to ports 61h, 43h, 42h. (grab some code from here:
http://courses.ece.uiuc.edu/ece390/books/labmanual/io-devices-speaker.html,
or here http://www.husseinsspace.com/teaching/udw/1996/asmnotes/chapsix.htm)

The same can be done with PBR and ntldr.

Another test could be done if your BIOS happens to be PXe enabled. If it supports network boot (don't know if your target has a
network card), you can create a headless SDI image and try to boot it on the client. You don't have to capture postFBA image
(since you are going to be doing the image for testing purposes anyway) but jsut make sure to have an early FBA phase command to
either send debug output to a serial port or do a few beeps on system speaker.

KM

The system can boot to DOS. It's not hanging during the BIOS POST. It hangs after BIOS pass the control(far jump) to MBR of the
HD; before the XPE ntldr (I used the windbg on the debug mode of ntldr. I got message when I use an external adapter and no
debug message when I take the vga adapter out).

Adding an external VGA adapter will work with XPE with no problem.

Anything else we can do to make it work?

Thanks,

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code instead of reporting error with video adapter. If not
then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit because the system hangs after BIOS initial, and before
ntldr. However, is there more detail information on which part in the BIOS we should change? INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor







Back to top
LIKAI
Guest





Posted: Mon Jan 10, 2005 7:26 am    Post subject: Re: BIOS modification for headless unit Reply with quote

Dear Slobodan and KM,
We finally solved the problem with a special fix on the BIOS source. BIOS
must be modified to report a normal non VGA system.

I want to give special thanks to you.

Li-Kai

"LIKAI" <victorlai@aaeon.com.tw> 级糶秎ン穝籇:Os2EwT85EHA.2788@TK2MSFTNGP15.phx.gbl...
Quote:
From Sir, Slobodan's previous post:
------------------------------------------------------------------------------------------------------------------------------------------
For headless boot to work, BIOS must be able to pass control to MBR code
instead of reporting error with video adapter. If not then
boot will not happen.
Check in BIOS there might be some error reporting option regarding the
video adapter.
------------------------------------------------------------------------------------------------------------------------------------------

We've verify that this is probabily the problem with our headless unit
because the system hangs after BIOS initial, and before ntldr. However, is
there more detail information on which part in the BIOS we should change?
INT 10 return? INT 15 return?

We have control of BIOS code to do the modification.

Thanks,

Victor

Back to top
 
Post new topic   Reply to topic    WinXPTalk.com Forum Index -> Embedded System All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Office Forums Access Forums Windows Server Exchange Server Help
New Topics Powered by phpBB