Hi,
I've been trying to boot my epia-m9000 with coreboot-v2 (rev 3348) and filo-0.5 (rev 48).
I can not get the normal Linux VGA text console to work. I also don't see any VGA output from filo, nor via int 0x10 calls if I use "legacybios" as a payload. The monitor attached seems to think there is no signal present at all.
Interestingly, the machine boots into the OS with no problems. The hard drive has Fedora Core 9 installed on it. I instructed filo to use the FC9 grub file (MENULST_FILE = "hda1:/grub/grub.conf"). I was very impressed at how filo was able to boot the system seamlessly once it was given the grub config file.
Ironically, I can even start the X server, and get vga output with it. However, I still don't get VGA text output if I switch between the X server and a text console.
Here is what I did to get to this point.
* Use coreboot-v2 (rev 3348)
* Obtain the VGA option rom pci1106,3122.rom from: http://www.coreboot.org/viewvc/trunk/optionroms/?root=optionroms
* Change targets/via/epia-m/Config.lb to only have a single "fallback" image, and make enough room in the rom for the VGA bios. Specifically I changed lines to:
option ROM_SIZE=256*1024 - 57344 option FALLBACK_SIZE=ROM_SIZE
buildrom ./coreboot.rom ROM_SIZE "fallback"
* After every build, prepend the vga bios to the coreboot.rom to make the full 256KiB rom:
cat pci1106,3122.rom coreboot.rom > coreboot.final.rom
Again, the X server works, but I don't get normal bootup VGA text output. I've tried many different combinations with the vga bios without luck (using dd to extract vga bios, padding OptionsRom bios to 64K, adding explicit pci entry to mainboard Config.lb).
It's clear that the vga bios is running - the logs show lots of interaction with int15.
Any ideas?
-Kevin
================================================ 0
coreboot-2.0.0.0-Fallback Mon May 26 11:32:41 EDT 2008 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)60 Cycle time at CL X-0.5 (nS)75 Cycle time at CL X-1 (nS)00 Starting at CAS 2.5 We can do CAS 2 tRP 48 tRCD 48 tRAS 2a Low Bond 00 High Bond98 Setting DQS delay65vt8623 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 d6 32 01 34 42 2d 43 58 00 44 00 00 70:82 48 00 01 01 08 50 00 01 00 00 00 00 00 00 00 80:0f 65 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 aa 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 03 13 00 00 00 00 00 00 00 00 AGP Doing MTRR init. Copying coreboot to RAM. Jumping to coreboot. coreboot-2.0.0.0-Fallback Mon May 26 11:32:41 EDT 2008 booting... clocks_per_usec: 1579 Enumerating buses... APIC_CLUSTER: 0 enabled Finding PCI configuration type. PCI: Using configuration type 1 PCI_DOMAIN: 0000 enabled PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [1106/3123] enabled PCI: 00:01.0 [1106/b091] enabled Disabling static device: PCI: 00:0a.0 Disabling static device: PCI: 00:0a.1 PCI: 00:0d.0 [1106/3044] enabled In vt8235_enable 1106 3038. PCI: 00:10.0 [1106/3038] enabled In vt8235_enable 1106 3038. PCI: 00:10.1 [1106/3038] enabled In vt8235_enable 1106 3038. PCI: 00:10.2 [1106/3038] enabled In vt8235_enable ffff ffff. Disabling static device: PCI: 00:10.3 In vt8235_enable 1106 3177. Initialising Devices Keyboard init... PCI: 00:11.0 [1106/3177] enabled In vt8235_enable 1106 0571. PCI: 00:11.1 [1106/0571] enabled In vt8235_enable 1106 3059. PCI: 00:11.5 [1106/3059] enabled In vt8235_enable 1106 3068. PCI: 00:11.6 [1106/3068] disabled In vt8235_enable 1106 3065. PCI: 00:12.0 [1106/3065] enabled PCI: pci_scan_bus for bus 01 PCI: 01:00.0 [1106/3122] enabled PCI: pci_scan_bus returning with max=001 vt1211 enabling PNP devices. PNP: 002e.0 enabled vt1211 enabling PNP devices. PNP: 002e.1 enabled vt1211 enabling PNP devices. PNP: 002e.2 enabled vt1211 enabling PNP devices. PNP: 002e.3 enabled vt1211 enabling PNP devices. PNP: 002e.b enabled PCI: pci_scan_bus returning with max=001 done Allocating resources... Reading resources... Done reading resources. Setting resources... I would set ram size to 0x40000 Kbytes PCI: 00:0d.0 10 <- [0x00febfe000 - 0x00febfe7ff] size 0x00000800 gran 0x0b mem PCI: 00:0d.0 14 <- [0x0000001800 - 0x000000187f] size 0x00000080 gran 0x07 io PCI: 00:10.0 20 <- [0x0000001880 - 0x000000189f] size 0x00000020 gran 0x05 io PCI: 00:10.1 20 <- [0x00000018a0 - 0x00000018bf] size 0x00000020 gran 0x05 io PCI: 00:10.2 20 <- [0x00000018c0 - 0x00000018df] size 0x00000020 gran 0x05 io PNP: 002e.0 60 <- [0x00000003f0 - 0x00000003f7] size 0x00000008 gran 0x03 io PNP: 002e.0 70 <- [0x0000000006 - 0x0000000006] size 0x00000001 gran 0x00 irq PNP: 002e.0 74 <- [0x0000000002 - 0x0000000002] size 0x00000001 gran 0x00 drq PNP: 002e.1 60 <- [0x0000000378 - 0x000000037f] size 0x00000008 gran 0x03 io PNP: 002e.1 70 <- [0x0000000007 - 0x0000000007] size 0x00000001 gran 0x00 irq PNP: 002e.1 74 <- [0x0000000003 - 0x0000000003] size 0x00000001 gran 0x00 drq PNP: 002e.2 60 <- [0x00000003f8 - 0x00000003ff] size 0x00000008 gran 0x03 io PNP: 002e.2 70 <- [0x0000000004 - 0x0000000004] size 0x00000001 gran 0x00 irq PNP: 002e.3 60 <- [0x00000002f8 - 0x00000002ff] size 0x00000008 gran 0x03 io PNP: 002e.3 70 <- [0x0000000003 - 0x0000000003] size 0x00000001 gran 0x00 irq PNP: 002e.b 60 <- [0x000000ec00 - 0x000000ecff] size 0x00000100 gran 0x08 io PCI: 00:11.1 20 <- [0x00000018e0 - 0x00000018ef] size 0x00000010 gran 0x04 io PCI: 00:11.5 10 <- [0x0000001000 - 0x00000010ff] size 0x00000100 gran 0x08 io PCI: 00:12.0 10 <- [0x0000001400 - 0x00000014ff] size 0x00000100 gran 0x08 io PCI: 00:12.0 14 <- [0x00febff000 - 0x00febff0ff] size 0x00000100 gran 0x08 mem Done setting resources. Done allocating resources. Enabling resources... PCI: 00:00.0 cmd <- 06 PCI: 00:01.0 bridge ctrl <- 000f PCI: 00:01.0 cmd <- 07 PCI: 01:00.0 cmd <- 00 PCI: 00:0d.0 cmd <- 83 PCI: 00:10.0 subsystem <- 00/00 PCI: 00:10.0 cmd <- 01 PCI: 00:10.1 subsystem <- 00/00 PCI: 00:10.1 cmd <- 01 PCI: 00:10.2 subsystem <- 00/00 PCI: 00:10.2 cmd <- 01 PCI: 00:11.0 cmd <- 07 PNP: 002e.0 - enabling PNP: 002e.1 - enabling PNP: 002e.2 - enabling PNP: 002e.3 - enabling PNP: 002e.b - enabling PCI: 00:11.1 cmd <- 81 PCI: 00:11.5 subsystem <- 00/00 PCI: 00:11.5 cmd <- 01 PCI: 00:12.0 cmd <- 83 done. Initializing devices... Root Device init APIC_CLUSTER: 0 init Initializing CPU #0 CPU: vendor Centaur device 67a CPU: family 06, model 07, stepping 0a WARNING: Using generic cpu ops Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB Setting fixed MTRRs(24-88) Type: WB DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 128MB, type WB Setting variable MTRR 1, base: 128MB, range: 64MB, type WB Setting variable MTRR 2, base: 192MB, range: 32MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
Disabling local apic...done. CPU #0 Initialized PCI: 00:10.0 init PCI: 00:10.1 init PCI: 00:10.2 init PCI: 00:11.0 init vt8235 init RTC Init Invalid CMOS LB checksum pci_routing_fixup: dev is 00011c34 setting firewire Assigning IRQ 9 to 0:d.0 Readback = 9 setting usb Assigning IRQ 5 to 0:10.0 Readback = 5 Assigning IRQ 9 to 0:10.1 Readback = 9 Assigning IRQ 9 to 0:10.2 Readback = 9 Assigning IRQ 5 to 0:10.3 Readback = 5 setting vt8235 Assigning IRQ 5 to 0:11.1 Readback = 5 Assigning IRQ 9 to 0:11.5 Readback = 9 Assigning IRQ 9 to 0:11.6 Readback = 9 setting ethernet Assigning IRQ 5 to 0:12.0 Readback = 5 setting vga Assigning IRQ 5 to 1:0.0 Readback = 5 setting pci slot setting cardbus slot setting riser slot PNP: 002e.0 init PNP: 002e.1 init PNP: 002e.2 init PNP: 002e.3 init PNP: 002e.b init PCI: 00:11.1 init Enabling VIA IDE. ide_init: enabling compatibility IDE addresses enables in reg 0x42 0x9 enables in reg 0x42 read back as 0x9 enables in reg 0x40 0x8 enables in reg 0x40 read back as 0xb enables in reg 0x9 0x8a enables in reg 0x9 read back as 0x8a command in reg 0x4 0x81 command in reg 0x4 reads back as 0x7 PCI: 00:11.5 init PCI: 00:12.0 init Configuring VIA Rhine LAN PCI: 00:00.0 init VT8623 random fixup ... Frame buffer at d0000000 PCI: 00:01.0 init VT8623 AGP random fixup ... PCI: 00:0d.0 init PCI: 01:00.0 init VGA random fixup ... INSTALL REAL-MODE IDT DO THE VGA BIOS found VGA: vid=1106, did=3122 rom base, size: fffc0000 write_protect_vgabios bus/devfn = 0x100 biosint: INT# 0x15 biosint: eax 0x5f00 ebx 0x1ace4 ecx 0x19f8c edx 0x1ace4 biosint: ebp 0x19f54 esp 0xff2 edi 0xf804 esi 0x1ace4 biosint: ip 0x641c cs 0xc000 flags 0x46 biosint: INT# 0x1a biosint: eax 0xb108 ebx 0x10000 ecx 0x10000 edx 0x103d5 biosint: ebp 0x19f54 esp 0xfcc edi 0xf6 esi 0x1c01b biosint: ip 0x40f0 cs 0xc000 flags 0x46 0xb108: bus 0 devfn 0x0 reg 0xf6 val 0x3 biosint: INT# 0x15 biosint: eax 0x5f02 ebx 0x1ace4 ecx 0x9f01 edx 0x103d5 biosint: ebp 0x19f54 esp 0xfdc edi 0x44 esi 0x1c01b biosint: ip 0x6468 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x401 edx 0x10112 biosint: ebp 0x19f54 esp 0xfa4 edi 0x44 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x401 edx 0x10112 biosint: ebp 0x19f54 esp 0xfa4 edi 0x44 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x401 edx 0x10112 biosint: ebp 0x19f54 esp 0xf92 edi 0x44 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f0f ebx 0x1ace4 ecx 0x9f8c edx 0x103d5 biosint: ebp 0x19f54 esp 0xfee edi 0x44 esi 0x1ace4 biosint: ip 0x651b cs 0xc000 flags 0x7 biosint: INT# 0x15 biosint: eax 0x5f02 ebx 0x1ace4 ecx 0x9f01 edx 0x103d5 biosint: ebp 0x19f54 esp 0xfdc edi 0x44 esi 0x1ace4 biosint: ip 0x6468 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x700 edx 0x10112 biosint: ebp 0x10fca esp 0xf8e edi 0xac51 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x700 edx 0x10112 biosint: ebp 0x10fca esp 0xf7e edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x101 edx 0x10112 biosint: ebp 0x10fca esp 0xf7e edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x78c edx 0x10112 biosint: ebp 0x10fca esp 0xf88 edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x700 edx 0x10112 biosint: ebp 0x10fca esp 0xf7e edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x700 edx 0x10112 biosint: ebp 0x10fca esp 0xf90 edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x701 edx 0x10112 biosint: ebp 0x10fca esp 0xf90 edi 0xb880 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f18 ebx 0x1ace4 ecx 0x9f01 edx 0x103d5 biosint: ebp 0x19f54 esp 0xfde edi 0x44 esi 0x1ace4 biosint: ip 0x6533 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x300 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf8c edi 0xac49 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x46 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x300 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf7c edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x101 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf7c edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x38c edx 0x10112 biosint: ebp 0x10fc8 esp 0xf86 edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x300 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf7c edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x300 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf8e edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0xc01 ecx 0x301 edx 0x10112 biosint: ebp 0x10fc8 esp 0xf8e edi 0xb840 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f06 ebx 0x18001 ecx 0x1 edx 0x0 biosint: ebp 0x10fd6 esp 0xfb4 edi 0x0 esi 0x146a7 biosint: ip 0x6479 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x0 edx 0x112 biosint: ebp 0x10fd6 esp 0xf88 edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x0 edx 0x112 biosint: ebp 0x10fd6 esp 0xf78 edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x101 edx 0x112 biosint: ebp 0x10fd6 esp 0xf78 edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x1 edx 0x112 biosint: ebp 0x10fd6 esp 0xf82 edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x0 edx 0x112 biosint: ebp 0x10fd6 esp 0xf78 edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x0 edx 0x112 biosint: ebp 0x10fd6 esp 0xf8a edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f01 ebx 0x10c01 ecx 0x1 edx 0x112 biosint: ebp 0x10fd6 esp 0xf8a edi 0x0 esi 0x1aacd biosint: ip 0x6448 cs 0xc000 flags 0x246 biosint: INT# 0x15 biosint: eax 0x5f08 ebx 0x18001 ecx 0x1 edx 0x0 biosint: ebp 0x10fd6 esp 0xfb4 edi 0x0 esi 0x146a7 biosint: ip 0x6485 cs 0xc000 flags 0x202 Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...done Checking IRQ routing table consistency... check_pirq_routing_table() - irq_routing_table located at: 0x000f0000 done. ACPI: Writing ACPI tables at f0400... ACPI: * FACS ACPI: * DSDT @ 000f04aa Length 3f0 ACPI: * FADT ACPI: added table 1/8 Length now 40 ACPI: done. Moving GDT to 0x500...ok Adjust low_table_end from 0x00000530 to 0x00001000 Adjust rom_table_end from 0x000f0c00 to 0x00100000 Wrote coreboot table at: 00000530 - 00000c24 checksum 6e6a
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
rom_stream: 0xfffce000 - 0xffff0fff Found ELF candidate at offset 0 header_offset is 0 Try to load at offset 0x0 New segment addr 0x100000 size 0x412c0 offset 0xc0 filesize 0x13504 (cleaned up) New segment addr 0x100000 size 0x412c0 offset 0xc0 filesize 0x13504 New segment addr 0x1412c0 size 0x48 offset 0x135c4 filesize 0x48 (cleaned up) New segment addr 0x1412c0 size 0x48 offset 0x135c4 filesize 0x48 Dropping non PT_LOAD segment Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x00000000000412c0 filesz: 0x0000000000013504 Clearing Segment: addr: 0x0000000000113504 memsz: 0x000000000002ddbc Loading Segment: addr: 0x00000000001412c0 memsz: 0x0000000000000048 filesz: 0x0000000000000048 Jumping to boot code at 0x10ed28 FILO version 0.5.5 (kevin@morn.localdomain) Sat May 24 17:55:55 EDT 2008 menu: hda1:/grub/grub.conf hda: LBA 8455MB: WDC AC28400R Mounted EXT2 filesystem Found Linux version 2.6.25.3-18.fc9.i586 (mockbuild@) #1 SMP Tue May 13 04:32:36 EDT 2008 bzImage. Loading kernel... ok Loading initrd... ok Jumping to entry point... ================================================