Nice work so far. I just applied the patch, followed the instructions in Nick's HowTo and flashed linuxbios to my Epia-M10000 (1). The only thing I see on the serial console is:
LinuxBIOS-1.1.8.0Fallback Fr Okt 28 19:21:21 CEST 2005 starting... Enabling mainboard devices
I list below the initial output I would expect to see at log level 8 if it is of help.
Having looked through the code in this area for you, I cant really see why the sequence is not getting into the memory init routines. This makes me wonder if you have a problem with your debugging console, and whether it might be dropping characters at 115200 baud. Ideally it needs to be set up for hardware flow control and for those control lines to be wired through. The primitive driver in lxbios has no concept of software flow control. When I first started doing this stuff I used hyperterminal on windows, but quickly gave up on that. I've found that microcom running on another Linux system (another M 6000 actually) to be the best solution.
Regardless of what you are running to do this, I would suggest making sure that it is set up preferably for hardware flow control, but also try no flow control and see if that gets any further.
You may have already tried this, I'd just like to eliminate this as a possibility first.
One thing I don't really understand in the HowTo is, that you change:
cat fallback/linuxbios.rom > linuxbios.rom to cat /video.bios.bin fallback/linuxbios.rom >linuxbios.rom
in the Makefile. This means, that the video bios is at the beginning of the ROM file. Is that correct?
Yes it is correct, Linuxbios sits at the end of the rom. Why? When running, the rom chip sits at the highest possible memory location so that it can provide a reset vector for the processor at power on. So the chip is located at 0xfffc0000 through 0xffffffff in the address space. The vga bios occupies 0xfffc0000 through 0xfffcffff and the Lx bios 0xfffd0000 through 0xffffffff
The all important reset vector is at 0xfffffff8.
This is why it is so important to check the sizes of files that we are squeezing on to the rom, 1 byte wrong and the reset vector gets screwed.
For you to be getting any output at all, then you have got this bit right.
In the next step I have to get the original BIOS back on the chip. Since I do not own a Bios-Savior, a friend with a programmer has to do this. I think he has to know the format of the ROM-File which flash_rom uses when dumping the BIOS. I assume this is Intel-Hex Format, right?
It is pure binary.
Initial debug output:
LinuxBIOS-1.1.8.0Fallback Fri Oct 28 14:33:23 EDT 2005 starting... Enabling mainboard devices Enabling shadow ram vt8623 init starting Detecting Memory Number of Banks 04 Number of Rows 0d Priamry DRAM width08 No Columns 0a MA type e0 Bank 0 (*16 Mb) 10 No Physical Banks 01 Total Memory (*16 Mb) 10 CAS Supported 2 2.5 Cycle time at CL X (nS)75 Cycle time at CL X-0.5 (nS)a0 Cycle time at CL X-1 (nS)00 Starting at CAS 2.5 tRP 50 tRCD 50 tRAS 2d Low Bond 00 High Bondb6 Setting DQS delay79vt8623 done 00:06 11 23 31 06 00 30 22 00 00 00 06 00 00 00 00 10:08 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00 20:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30:00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 40:00 18 88 80 82 44 00 00 18 99 88 80 82 44 00 00 50:c8 de cf 88 e0 07 00 00 e0 00 10 10 10 10 00 00 60:02 ff 00 30 e6 32 01 38 42 2d 43 58 00 44 00 00 70:82 48 00 01 01 08 50 00 01 00 00 00 00 00 02 00 80:0f 61 00 00 80 00 00 00 02 00 00 00 00 00 00 00 90:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0:02 c0 20 00 07 02 00 1f 04 00 00 00 2f 02 04 00 b0:00 00 00 00 c0 00 00 00 c8 00 00 00 00 00 00 00 c0:01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 d0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0:00 dd 00 00 00 00 01 00 40 00 00 00 00 00 00 00 f0:00 00 00 00 00 00 11 13 00 00 00 00 00 00 00 00 AGP Doing MTRR init. Copying LinuxBIOS to ram. Jumping to LinuxBIOS. .................
Nick Barker