Running the bios under the emu is tricky. It may be bailling out early although normally it prints a messge. Search the archives for info. You will probally have to add debug printf's to see whats going on.
Ok, yesterday evening I have found the testbios faq on the linuxbios page.
I have tried it twice.
1. extracted vgabios from fuctory bios. 2. bios get with dd command from /dev/mem
The result of first try I have described before, it happens nothing.
The second try seems to be more successfully :D The screen goes to black :D after a second. No more. The connected TFT holds the signal. There is a short flickering after 30 seconds I think. (The reason for no output on the console is the FB Mode. I have sometimes problems, if I start a normal program, than there is no output too and I need to press <return> for a while to get a prompt) The system is still running but the only way to get a new try is <ctrl><alt><del> to shutdown and reboot the system.
Than I have made tests with my host system, to see what happens. I get a vga.bin with dd and try it. (PCI Nvidia Graphic Card)
I get a lot of numbers on the console for about 5 seconds, than the screen switched to black and the monitor lost the signal and goes to stand by. The system is still running but only <strg><alt><del> helps.
Mmmh, both systems runs in FB Mode, could that be the reason for no more output? Should I try the bios on a real console?
What does USER Space mean in the wiki?
chris
-- Richard A. Smith
* Christian Sühs chris@suehsi.de [060422 12:42]:
I get a lot of numbers on the console for about 5 seconds, than the screen switched to black and the monitor lost the signal and goes to stand by. The system is still running but only <strg><alt><del> helps.
good sign, it actually starts working (or doing something)
Can you catch those "numbers" to a file?
Mmmh, both systems runs in FB Mode, could that be the reason for no more output? Should I try the bios on a real console?
Yes, definitely. The graphics card bios will reinitialize the card in VGA mode, so Linux will be definitely confused if it suddenly has no pixel based graphics mode anymore.
What does USER Space mean in the wiki?
it means "running after login as a user" as opposed to "running in the bios" or "running as a part of the (linux) kernel"
Stefan
Yes, definitely. The graphics card bios will reinitialize the card in VGA mode, so Linux will be definitely confused if it suddenly has no pixel based graphics mode anymore.
Yip, I have start the system with vga=normal and taken a fresh vga.bios extracted with awardeco from the original factory bios. (The old one was definitivly corrupt)
btw. flashbios seems unable to handle WINBOND W29C020
./testbios --abseg /dev/mem -s 32768 aw512n.bin
I get 3 columns of output, which stops after 1-2 seconds The screen seems froozen, but at the bottom I have 3 blinking "cursors" I can do what I want, only a Hardreset takes effect ;)
I will try to pipe the output, but this is hard on a readonly filesystem :D
chris
* Christian Sühs chris@suehsi.de [060422 14:26]:
Yip, I have start the system with vga=normal and taken a fresh vga.bios extracted with awardeco from the original factory bios. (The old one was definitivly corrupt)
yes, vga bios is often self modifying code. I fell like back on the Amiga or C64 seeing that stuff.
btw. flashbios seems unable to handle WINBOND W29C020
What's the ID? Can you run flashrom -V and mail the output to this list or to me directly.
./testbios --abseg /dev/mem -s 32768 aw512n.bin
I get 3 columns of output, which stops after 1-2 seconds The screen seems froozen, but at the bottom I have 3 blinking "cursors" I can do what I want, only a Hardreset takes effect ;)
What output? Are you sure aw512n is the vga bios image?
I will try to pipe the output, but this is hard on a readonly filesystem :D
uh, why is it readonly? you could log in via serial port from another machine and log the output in your terminal program... That always works.
Stefan
btw. flashbios seems unable to handle WINBOND W29C020
What's the ID? Can you run flashrom -V and mail the output to this list or to me directly.
It is an older Version -V seems to have no effect
chipset cs5530 flash part is W29C020C
Verify fails, write seems done right read also. But I have get corrupted files
"uniflash" works fine for me, but I will test the latest flashrom from svn and see what happens.
What output? Are you sure aw512n is the vga bios image?
Yes it starts with 55aa and there is a text like:
IBM Compatiple PCI VGA/SVGA Vesa Bios V1.0
I will try to pipe the output, but this is hard on a readonly filesystem :D
uh, why is it readonly? you could log in via serial port from another machine and log the output in your terminal program... That always works.
Well, ok not really hard. Not all is readonly, but the main system runs out of the RAM and at the moment I use a kernel where is serial output disabled ;)
I have piped the output to a file, which is very large and I think it is not useful to attach the whole file. Also this try seems successfuller, because of the screen goes black and sometimes it flickers. <ctrl>c stops testbios normaly.
I only post the interesting parts.
What config Options should I use, if I want LB starts with this Bios.
CONFIG_CONSOLE_VGA CONFIG_PCI_ROM_RUN CONFIG_LEGACY_BIOS ....
chris
Stefan
* Christian Sühs chris@suehsi.de [060422 15:48]:
chipset cs5530 flash part is W29C020C
Verify fails, write seems done right read also. But I have get corrupted files
Sounds like a timing issue in the driver..
How early does it fail? (address)
You get corrupted _files_?
Well, ok not really hard. Not all is readonly, but the main system runs out of the RAM and at the moment I use a kernel where is serial output disabled ;)
You will need serial output to get LinuxBIOS up and running at the current stage anyways..
I only post the interesting parts.
Here are the results ;)
running file aw512n.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 updating int vector 0x10 updating int vector 0x10 updating int vector 0x42 updating int vector 0x42 updating int vector 0x43 updating int vector 0x43 updating int vector 0x1f updating int vector 0x1f outb(0x18, 0x46e8) outb(0x01, 0x0102) outb(0x08, 0x46e8) outw(0x04f8, 0x03ce) outw(0x00fb, 0x03ce) outw(0x80bb, 0x03ce) outw(0x80ba, 0x03ce) outw(0x52b2, 0x03ce) outw(0x50b3, 0x03ce) outb(0xb9, 0x03ce) inb(0x03cf) = 0x00 outw(0x80b9, 0x03ce) outw(0x00b9, 0x03ce) outb(0x70, 0x03ce) inb(0x03cf) = 0x0b outw(0x0b70, 0x03ce) outw(0xa871, 0x03ce) outw(0x80b5, 0x03ce) outb(0xbe, 0x03ce) inb(0x03cf) = 0x0a outw(0x0abe, 0x03ce) outw(0x8097, 0x03ce) outw(0x031f, 0x03d4) outw(0x0157, 0x03ce) inw(0x03ce) = 0x0157 outw(0x0057, 0x03ce) outw(0x0100, 0x03c4) outw(0x0001, 0x03c4) outw(0x0302, 0x03c4) outw(0x0003, 0x03c4) outw(0x0204, 0x03c4) outb(0x01, 0x03c4) inw(0x03c4) = 0x0001 outw(0x2001, 0x03c4) outb(0x67, 0x03c2) outw(0x0300, 0x03c4) outb(0x11, 0x03d4) inb(0x03d5) = 0x8e outw(0x0e11, 0x03d4) outw(0x5f00, 0x03d4) outw(0x4f01, 0x03d4)
-------------------------------
outw(0x0058, 0x03ce) outw(0x0059, 0x03ce) outw(0x005a, 0x03ce) outw(0x0057, 0x03ce) outw(0x0077, 0x03ce) outw(0x003c, 0x03ce) outw(0x205c, 0x03ce) outb(0x90, 0x03ce) inb(0x03cf) = 0x10 outw(0x1090, 0x03ce) outb(0x72, 0x03ce) inw(0x03ce) = 0x0672 outw(0x0672, 0x03ce) outb(0x56, 0x03ce) inw(0x03ce) = 0x0056 outw(0x0456, 0x03ce) inb(0x03c6) = 0x04 outb(0x04, 0x03c6) outw(0x0056, 0x03ce) outb(0x73, 0x03ce) inb(0x0080) = 0x93 inb(0x03cf) = 0x11 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x90 inb(0x03cf) = 0x10 inb(0x0080) = 0x90 inb(0x03cf) = 0x10
------------------------
inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x09 outw(0x0036, 0x03ce) outw(0x0072, 0x03ce) outw(0x0379, 0x03ce) outw(0xa071, 0x03ce) outw(0x1073, 0x03ce) outw(0x0ff9, 0x03ce) outw(0x3034, 0x03c4) outw(0x0035, 0x03c4) outw(0x8530, 0x03c4) outw(0x013c, 0x03c4) outw(0x003b, 0x03c4) outw(0x0c33, 0x03c4) outw(0x003e, 0x03c4) outw(0x553f, 0x03c4) outw(0x083a, 0x03c4) outw(0x0231, 0x03c4) outw(0x0b70, 0x03ce) outw(0x00f4, 0x03ce) outw(0x3d36, 0x03c4) outw(0x01bf, 0x03ce) inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01
---------------------------
inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x00 outb(0xbe, 0x03ce) inb(0x03cf) = 0x6a outw(0x00bf, 0x03ce) updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 int10 vector at c41b4 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 outb(0x56, 0x03ce) inb(0x03cf) = 0x00 outw(0x0456, 0x03ce) inb(0x03c6) = 0x04 outb(0x44, 0x03c6) outb(0x33, 0x03ce) inb(0x03cf) = 0x00 outb(0x06, 0x03ce) inb(0x03cf) = 0x0e outw(0x0833, 0x03ce) outw(0x803c, 0x03ce) inb(0x03cc) = 0x00 outb(0x00, 0x03c2) inb(0x03cc) = 0x00 outb(0x02, 0x03c2) outw(0x003c, 0x03ce) outb(0x33, 0x03ce) inb(0x03cf) = 0x08 outw(0x0033, 0x03ce) outb(0x95, 0x03ce) inb(0x03cf) = 0x00 outw(0x0095, 0x03ce) updating int vector 0x43 updating int vector 0x43 outw(0xa871, 0x03ce) outb(0x70, 0x03ce) inb(0x03cf) = 0x0b outw(0xcb70, 0x03ce) outw(0x05fa, 0x03ce) outb(0x4e, 0x03ce) inb(0x03cf) = 0x00 outw(0x004e, 0x03ce) inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff
* Christian Sühs chris@suehsi.de [060422 16:12]:
I only post the interesting parts.
Here are the results ;)
it'd be more interesting to see the bios calls its making than some random hw io.
running file aw512n.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 updating int vector 0x10 updating int vector 0x10 updating int vector 0x42 updating int vector 0x42 updating int vector 0x43 updating int vector 0x43 updating int vector 0x1f updating int vector 0x1f outb(0x18, 0x46e8) outb(0x01, 0x0102) outb(0x08, 0x46e8) outw(0x04f8, 0x03ce) outw(0x00fb, 0x03ce) outw(0x80bb, 0x03ce) outw(0x80ba, 0x03ce) outw(0x52b2, 0x03ce) outw(0x50b3, 0x03ce) outb(0xb9, 0x03ce) inb(0x03cf) = 0x00 outw(0x80b9, 0x03ce) outw(0x00b9, 0x03ce) outb(0x70, 0x03ce) inb(0x03cf) = 0x0b outw(0x0b70, 0x03ce) outw(0xa871, 0x03ce) outw(0x80b5, 0x03ce) outb(0xbe, 0x03ce) inb(0x03cf) = 0x0a outw(0x0abe, 0x03ce) outw(0x8097, 0x03ce) outw(0x031f, 0x03d4) outw(0x0157, 0x03ce) inw(0x03ce) = 0x0157 outw(0x0057, 0x03ce) outw(0x0100, 0x03c4) outw(0x0001, 0x03c4) outw(0x0302, 0x03c4) outw(0x0003, 0x03c4) outw(0x0204, 0x03c4) outb(0x01, 0x03c4) inw(0x03c4) = 0x0001 outw(0x2001, 0x03c4) outb(0x67, 0x03c2) outw(0x0300, 0x03c4) outb(0x11, 0x03d4) inb(0x03d5) = 0x8e outw(0x0e11, 0x03d4) outw(0x5f00, 0x03d4) outw(0x4f01, 0x03d4)
outw(0x0058, 0x03ce) outw(0x0059, 0x03ce) outw(0x005a, 0x03ce) outw(0x0057, 0x03ce) outw(0x0077, 0x03ce) outw(0x003c, 0x03ce) outw(0x205c, 0x03ce) outb(0x90, 0x03ce) inb(0x03cf) = 0x10 outw(0x1090, 0x03ce) outb(0x72, 0x03ce) inw(0x03ce) = 0x0672 outw(0x0672, 0x03ce) outb(0x56, 0x03ce) inw(0x03ce) = 0x0056 outw(0x0456, 0x03ce) inb(0x03c6) = 0x04 outb(0x04, 0x03c6) outw(0x0056, 0x03ce) outb(0x73, 0x03ce) inb(0x0080) = 0x93 inb(0x03cf) = 0x11 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x93 inb(0x03cf) = 0x10 inb(0x0080) = 0x90 inb(0x03cf) = 0x10 inb(0x0080) = 0x90 inb(0x03cf) = 0x10
inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x09 outw(0x0036, 0x03ce) outw(0x0072, 0x03ce) outw(0x0379, 0x03ce) outw(0xa071, 0x03ce) outw(0x1073, 0x03ce) outw(0x0ff9, 0x03ce) outw(0x3034, 0x03c4) outw(0x0035, 0x03c4) outw(0x8530, 0x03c4) outw(0x013c, 0x03c4) outw(0x003b, 0x03c4) outw(0x0c33, 0x03c4) outw(0x003e, 0x03c4) outw(0x553f, 0x03c4) outw(0x083a, 0x03c4) outw(0x0231, 0x03c4) outw(0x0b70, 0x03ce) outw(0x00f4, 0x03ce) outw(0x3d36, 0x03c4) outw(0x01bf, 0x03ce) inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01 inb(0x03da) = 0x01
inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x01 inb(0x03ba) = 0x00 outb(0xbe, 0x03ce) inb(0x03cf) = 0x6a outw(0x00bf, 0x03ce) updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 int10 vector at c41b4 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 outb(0x56, 0x03ce) inb(0x03cf) = 0x00 outw(0x0456, 0x03ce) inb(0x03c6) = 0x04 outb(0x44, 0x03c6) outb(0x33, 0x03ce) inb(0x03cf) = 0x00 outb(0x06, 0x03ce) inb(0x03cf) = 0x0e outw(0x0833, 0x03ce) outw(0x803c, 0x03ce) inb(0x03cc) = 0x00 outb(0x00, 0x03c2) inb(0x03cc) = 0x00 outb(0x02, 0x03c2) outw(0x003c, 0x03ce) outb(0x33, 0x03ce) inb(0x03cf) = 0x08 outw(0x0033, 0x03ce) outb(0x95, 0x03ce) inb(0x03cf) = 0x00 outw(0x0095, 0x03ce) updating int vector 0x43 updating int vector 0x43 outw(0xa871, 0x03ce) outb(0x70, 0x03ce) inb(0x03cf) = 0x0b outw(0xcb70, 0x03ce) outw(0x05fa, 0x03ce) outb(0x4e, 0x03ce) inb(0x03cf) = 0x00 outw(0x004e, 0x03ce) inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff inb(0x03da) = 0xff
it'd be more interesting to see the bios calls its making than some random hw io.
what is that ?? but it is the only one.
updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 outb(0x56, 0x03ce) inb(0x03cf) = 0x00
* Christian Sühs chris@suehsi.de [060422 16:45]:
it'd be more interesting to see the bios calls its making than some random hw io.
what is that ?? but it is the only one.
Did you get no other output than that? Its incomplete.
Try running it verbose then. There's something missing.
updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 outb(0x56, 0x03ce) inb(0x03cf) = 0x00
New start:
I have compiled testbios without the printfs for outs and ins.
Than I have made to runs:
First, boot with factory bios, after that a boot with LB have a look at the attachments, that is the whole output.
in both cases the file was catched with minicom. Also I was able to start/stop testbios normal.
With the factory bios I get a sometimes flickering screen. Testbios stops automaticaly after a while.
With LB it happens nothing on the screen :(
chris
QLC-> ./testbios --abseg /dev/mem -s 32768 aw512n.bin running file aw512n.bin No base specified. defaulting to 0xc0000 No initial code segment specified. defaulting to 0xc000 No initial instruction pointer specified. defaulting to 0x0003 updating int vector 0x10 updating int vector 0x10 updating int vector 0x42 updating int vector 0x42 updating int vector 0x43 updating int vector 0x43 updating int vector 0x1f updating int vector 0x1f updating int vector 0x1d updating int vector 0x1d updating int vector 0x1d updating int vector 0x1d updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 int10 vector at c41b4 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 updating int vector 0x43 updating int vector 0x43 updating int vector 0x43 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 int10 vector at c41b4 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 updating int vector 0x43 updating int vector 0x43 updating int vector 0x43 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 int10 vector at c41b4 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 updating int vector 0x10 run_bios_int: INT 10 CS:IP = c000:41b4 updating int vector 0x43 updating int vector 0x43 updating int vector 0x1d updating int vector 0x1d QLC->
First, boot with factory bios, after that a boot with LB have a look at the attachments, that is the whole output.
Running testbios after the factory bios has already posted the chip dosen't really tell us much. Its good to know that it at least runs in some setup though.
Try this. Find a PCI video card and plug it in your system. Then tell your factory bios to either init a PCI card first (If your chip is AGP) or it should find the PCI card before the onboard video and init that chip. Leaving your on board device un-posted.
Then you need to use 'setpci' to disable the IO range for the PCI card. You have to do this from a serial console because your VGA will stop.
Then use the -d option to specify your onboard device to testbios. You have to convert Bus:dev:func to the packed notation. See the wiki faq on testbios for details.
Hey... I just realized that none of your command lines have the -d option specified. That won't work, its not optional. You _have_ to specifiy a device. Without it you are sending all your PCI requests to 0:0:0 which is probally not your video device.
The reason it does something after factory and not LB is because factory has allready talked to the device and enabled the legacy IO. With LB most of stuff on the card is disabled and the bios is just looping forever looking for an IO bit to go active.
I just looked at the Wiki and it is incorrect. -d is not 'diag' mode. I'll go fix it.
Set your device and try again. If it still dosen't work then try my alternate card method and run testbios on a non-posted card under factory.
-- Richard A. Smith
works.
Well, ok not really hard. Not all is readonly, but the main system runs out of the RAM and at the moment I use a kernel where is serial output disabled ;)
That's why the first step in my instructions said to "get a serial console up." Its pretty much required for VGA debugging.
I have piped the output to a file, which is very large and I think it is not useful to attach the whole file. Also this try seems successfuller, because of the screen goes black and sometimes it flickers. <ctrl>c stops testbios normaly.
You need to comment out the in/out printfs. in vgabios edit the file helper_exec.c starting at line 131 comment out all the printf's for the in and out statements. That will quiet down the noise level quite a bit. When you run it on the target system you may need to always re-direct the output to a file. I've found that the slowdown associated with the printf to the console (which has to go out the serial port) may cause some trouble with timing.
Route it to a file to look at but also try routeing the output to
/dev/null to see if it makes any difference.
Those printfs really need to be off by default.
If vgabios succeeds then you should see some sort of bios sign on message on your screen. Since there was no vga available when Linux booted there won't be a console. You might be able to load a framebuffer _module_ at that time. But the best dianostic is to try and load the X server. The X log file has lots of good info in it for debugging. Note that you don't need the whole X setup just the server for your chip.
-- Richard A. Smith
You need to comment out the in/out printfs. in vgabios edit the file helper_exec.c starting at line 131 comment out all the printf's for the in and out statements. That will quiet down the noise level quite a bit. When you run it on the target system you may need to always re-direct the output to a file. I've found that the slowdown associated with the printf to the console (which has to go out the serial port) may cause some trouble with timing.
Well, but there is a big problem for me. The VFS mounted the filesystem readonly. I'm not sure why, but the system is not initialize properly.
I will try to fix that.
If vgabios succeeds then you should see some sort of bios sign on message on your screen. Since there was no vga available when Linux booted there won't be a console. You might be able to load a framebuffer _module_ at that time. But the best dianostic is to try and load the X server. The X log file has lots of good info in it for debugging. Note that you don't need the whole X setup just the server for your chip.
Ok later more ;)
-- Richard A. Smith
always re-direct the output to a file. I've found that the slowdown associated with the printf to the console (which has to go out the serial port) may cause some trouble with timing.
Well, but there is a big problem for me. The VFS mounted the filesystem readonly. I'm not sure why, but the system is not initialize properly.
I will try to fix that.
Can you just remout it? 'mount -o remount, rw /'
Or perhaps enable ramfs in your kernel and just make a ram disk to hold the info. Of course when testdisk crashes the system you will lose the log but its a start.
-- Richard A. Smith