This is actually 2 questions in one.
I've been having some problems getting VGA to work on my epia-m board. I was able to get etherboot to load the kernel, etc, but when I made the recent changes for VGA, elfboot doesn't like what I did. I've included a capture of the serial output
and my configuration file. I also was interested in doing something like the cromwell open-source bios for the Xbox, where vga is fully initialized from the start and a nice graphical screen can be set up to enable booting from etherboot, cd-rom or the hard disk via grub. My Xbox mod-chip is also 256kb, so I'm guessing it should work. Here's the serial port capture:
LinuxBIOS-1.0.0 Thu Aug 26 13:21:59 EDT 2004 starting...
80 08 07 0d 0a 01 40 00 04 75 75 00 82 08 00 01
0e 04 0c 01 02 20 c0 a0 75 00 00 50 3c 50 2d 40
a0 a0 50 50 00 00 00 00 00 41 4b 34 32 75 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Copying LinuxBIOS to ram.
Jumping to LinuxBIOS.
LinuxBIOS-1.0.0 Thu Aug 26 13:21:59 EDT 2004 booting...
Finding PCI configuration type.
PCI: Using configuration type 1
Scanning PCI bus...PCI: pci_scan_bus for bus 0
PCI: 00:00.0 [1106/3123]
PCI: 00:01.0 [1106/b091]
PCI: 00:0d.0 [1106/3044]
PCI: 00:10.0 [1106/3038]
PCI: 00:10.1 [1106/3038]
PCI: 00:10.2 [1106/3038]
PCI: 00:10.3 [1106/3104]
PCI: 00:11.0 [1106/3177]
PCI: 00:11.1 [1106/0571]
PCI: 00:11.5 [1106/3059]
PCI: 00:12.0 [1106/3065]
PCI: pci_scan_bus for bus 1
PCI: 01:00.0 [1106/3122]
PCI: pci_scan_bus returning with max=01
PCI: pci_scan_bus returning with max=01
done
Allocating PCI resources...
PCI: 00:00.0 register 10(00000008), read-only ignoring it
PCI: 00:00.0 register 10(00000008), read-only ignoring it
PCI: 00:00.0 register 10(00000008), read-only ignoring it
PCI: 00:00.0 register 10(00000008), read-only ignoring it
ASSIGN RESOURCES, bus 0
PCI: 00:01.0 1c <- [0x00001000 - 0x00000fff] bus 1 io
PCI: 00:01.0 24 <- [0xf8000000 - 0xfbffffff] bus 1 prefmem
PCI: 00:01.0 20 <- [0xfc000000 - 0xfcffffff] bus 1 mem
ASSIGN RESOURCES, bus 1
PCI: 01:00.0 10 <- [0xf8000000 - 0xfbffffff] prefmem
PCI: 01:00.0 14 <- [0xfc000000 - 0xfcffffff] mem
ASSIGNED RESOURCES, bus 1
PCI: 00:0d.0 10 <- [0xfd000000 - 0xfd0007ff] mem
PCI: 00:0d.0 14 <- [0x00001800 - 0x0000187f] io
PCI: 00:10.0 20 <- [0x00001880 - 0x0000189f] io
PCI: 00:10.1 20 <- [0x000018a0 - 0x000018bf] io
PCI: 00:10.2 20 <- [0x000018c0 - 0x000018df] io
PCI: 00:10.3 10 <- [0xfd001000 - 0xfd0010ff] mem
PCI: 00:11.1 20 <- [0x000018e0 - 0x000018ef] io
PCI: 00:11.5 10 <- [0x00001000 - 0x000010ff] io
PCI: 00:12.0 10 <- [0x00001400 - 0x000014ff] io
PCI: 00:12.0 14 <- [0xfd002000 - 0xfd0020ff] mem
ASSIGNED RESOURCES, bus 0
Allocating VGA resource
done.
Enabling PCI resourcess...PCI: 00:00.0 cmd <- 06
PCI: 00:01.0 cmd <- 07
PCI: 00:0d.0 cmd <- 83
PCI: 00:10.0 cmd <- 01
PCI: 00:10.1 cmd <- 01
PCI: 00:10.2 cmd <- 01
PCI: 00:10.3 cmd <- 02
PCI: 00:11.0 cmd <- 07
PCI: 00:11.1 cmd <- 07
PCI: 00:11.5 cmd <- 01
PCI: 00:12.0 cmd <- 83
PCI: 01:00.0 cmd <- 03
done.
Initializing PCI devices...
PCI devices initialized
totalram: 96M
Initializing CPU #0
Enabling cache...
Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) type: WB
DONE fixed MTRRs
Setting variable MTRR 0, base: 0MB, range: 64MB, type WB
Setting variable MTRR 1, base: 64MB, range: 32MB, type WB
DONE variable MTRRs
Clear out the extra MTRR's
call intel_enable_fixed_mtrr()
call intel_enable_var_mtrr()
Leave setup_mtrrs
done.
Max cpuid index : 1
Vendor ID : CentaurHauls
Processor Type : 0x00
Processor Family : 0x06
Processor Model : 0x09
Processor Mask : 0x00
Processor Stepping : 0x01
Feature flags : 0x0380b135
MTRR check
Fixed MTRRs : Enabled
Variable MTRRs: Enabled
Disabling local apic...done.
CPU #0 Initialized
Mainboard fixup
Final mainboard fixup
Southbridge fixup
setting firewire
Assigning IRQ 10 to 0:d.0
Readback = 10
setting usb
Assigning IRQ 11 to 0:10.0
Readback = 11
Assigning IRQ 10 to 0:10.1
Readback = 10
Assigning IRQ 12 to 0:10.2
Readback = 12
Assigning IRQ 5 to 0:10.3
Readback = 5
setting vt8235
Assigning IRQ 5 to 0:11.1
Readback = 5
Assigning IRQ 12 to 0:11.5
Readback = 12
setting ethernet
Assigning IRQ 11 to 0:12.0
Readback = 11
setting vga
Assigning IRQ 11 to 1:0.0
Readback = 11
setting pci slot
setting vt8235 slot
Assigning IRQ 5 to 0:11.1
Readback = 5
Assigning IRQ 12 to 0:11.5
Readback = 12
Checking IRQ routing tables...
/home/dhillman/freebios/src/arch/i386/lib/pirq_routing.c: 30:check_pirq_routing_table() - irq_routing_table located at: 0x00008c60
done.
Copying IRQ routing tables to 0xf0000...done.
Verifing priq routing tables copy at 0xf0000...failed
Wrote linuxbios table at: 00000500 - 00000654 checksum d443
Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.2
37:init_bytes() - zkernel_start:0xfff00000 zkernel_mask:0x0000ffff
Cannot Load ELF Image
What should I be looking for if it's successful, besides the
output on the monitor?
Here's my config file:
#
# LinuxBIOS config file for: VIA epia-m mini-itx
#
target /home/dhillman/epia
# via epia
mainboard via/epia-m
# Enable Serial Console for debugging
option SERIAL_CONSOLE=1
option TTYS0_BAUD=115200
option DEFAULT_CONSOLE_LOGLEVEL=9
option DEBUG=1
# Use 256KB Standard Flash as Normal BIOS
option RAMTEST=1
option USE_GENERIC_ROM=1
option STD_FLASH=1
option ROM_SIZE=262144
option ZKERNEL_START=0xfffd0000
# payload size = 192KB
option PAYLOAD_SIZE=196608
# use ELF Loader to load Etherboot
option USE_ELF_BOOT=1
# Use Etherboot as our payload
#payload /home/dhillman/etherboot-5.0.8/src/bin32/via-rhine.ebi
#payload /home/dhillman/epia/payload.adlo
#payload /home/dhillman/epia/vga+eb.bin
payload /home/dhillman/epia/vgabios.bin
# for VGA support (optional)
option HAVE_FRAMEBUFFER=1
option SMA_SIZE=8
option CONFIG_VGABIOS=1
option CONFIG_REALMODE_IDT=1
option CONFIG_PCIBIOS=1
option VGABIOS_START=0xfffe0000
#option VGABIOS_START=0xfff00000
addaction romimage dd if=vgabios.bin of=romimage bs=65536 seek=2 conv=sync conv=notrunc
dir src/bioscall
# end VGA support