Thanks to Ron and Eric's kind words yesterday, and me kicking my brain into gear, I got Linuxbios and Filo up and running on my epia yesterday. However, I now have a couple of other issues which I've come to a dead halt with. I've been trying to add vga support, having extracted the original vga bios using dd as per the Epia How To. This appears to be detected correctly during boot and the screen turns on, then flickers with some garbage on it. If I have agpgart enabled in the kernel I get a hard kernel hang when the agp chipset is detected - is this normal ? I've tried this with a 2.4.24 and 2.4.22 kernel with the same result. Also I never actually get any output on the VGA, just random noise and colours every couple of seconds. The memory on my Epia is also detected incorrectly as 64K rather than 128K. Can anyone point me in the right direction here ? Thanks,
Matt
LinuxBIOS-1.0.0 Mon Mar 15 17:26:20 GMT 2004 starting... Enabled first bank of RAM: 0x04000000 bytes Copying LinuxBIOS to ram. Jumping to LinuxBIOS. LinuxBIOS-1.0.0 Mon Mar 15 17:26:20 GMT 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/0601] PCI: 00:01.0 [1106/8601] PCI: 00:11.0 [1106/8231] PCI: 00:11.1 [1106/0571] PCI: 00:11.2 [1106/3038] PCI: 00:11.3 [1106/3038] PCI: 00:11.4 [1106/8235] PCI: 00:11.5 [1106/3058] PCI: 00:11.6 [1106/3068] PCI: 00:12.0 [1106/3065] PCI: pci_scan_bus for bus 1 PCI: 01:00.0 [1023/8500] 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 <- [0xfe900000 - 0xfe8fffff] bus 1 prefmem PCI: 00:01.0 20 <- [0xfd800000 - 0xfe8fffff] bus 1 mem ASSIGN RESOURCES, bus 1 PCI: 01:00.0 10 <- [0xfd800000 - 0xfdffffff] mem PCI: 01:00.0 14 <- [0xfe800000 - 0xfe81ffff] mem PCI: 01:00.0 18 <- [0xfe000000 - 0xfe7fffff] mem ASSIGNED RESOURCES, bus 1 PCI: 00:11.1 20 <- [0x00001c40 - 0x00001c4f] io PCI: 00:11.2 20 <- [0x00001c00 - 0x00001c1f] io PCI: 00:11.3 20 <- [0x00001c20 - 0x00001c3f] io PCI: 00:11.5 10 <- [0x00001000 - 0x000010ff] io PCI: 00:11.5 14 <- [0x00001c50 - 0x00001c53] io PCI: 00:11.5 18 <- [0x00001c60 - 0x00001c63] io PCI: 00:11.6 10 <- [0x00001400 - 0x000014ff] io PCI: 00:12.0 10 <- [0x00001800 - 0x000018ff] io PCI: 00:12.0 14 <- [0xfe900000 - 0xfe9000ff] 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:11.0 cmd <- 87 PCI: 00:11.1 cmd <- 81 PCI: 00:11.2 cmd <- 01 PCI: 00:11.3 cmd <- 01 PCI: 00:11.4 cmd <- 00 PCI: 00:11.5 cmd <- 01 PCI: 00:11.6 cmd <- 01 PCI: 00:12.0 cmd <- 83 PCI: 01:00.0 cmd <- 03 done. Initializing PCI devices... PCI devices initialized Disable Cache Bank2 64MB (MA type 0x8) bank 4 MA 0x0: 0 bytes bank 4 MA 0x8: 0 bytes bank 4 MA 0xe: 0 bytes Enable Cache Total 60MB + frame buffer 4MB Enabling shadow DRAM at 0xC0000-0xFFFFF: done totalram: 60M Initializing CPU #0 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: 32MB, type WB Setting variable MTRR 1, base: 32MB, range: 16MB, type WB Setting variable MTRR 2, base: 48MB, range: 8MB, type WB Setting variable MTRR 3, base: 56MB, range: 4MB, 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 : 0x07 Processor Mask : 0x00 Processor Stepping : 0x03 Feature flags : 0x00803035
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
Disabling local apic...done. CPU #0 Initialized Mainboard fixup IDE enable in reg. 50 is 0x7 set IDE reg. 50 to 0x7 IRQs in reg. 4c are 0x4 setting reg. 4c to 0x4 enables in reg 0x40 0x8 enables in reg 0x40 read back as 0xb enables in reg 0x9 0x8f enables in reg 0x9 read back as 0x8a command in reg 0x4 0x81 command in reg 0x4 reads back as 0x7 Ethernet fixup Configuring VIA LAN RTC Init RTC: Checksum invalid zeroing cmos Invalid CMOS LB checksum Final mainboard fixup Southbridge fixup IDE enable in reg. 50 is 0x7 set IDE reg. 50 to 0x7 IRQs in reg. 4c are 0x4 setting reg. 4c to 0x4 enables in reg 0x40 0xb 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 0x7 command in reg 0x4 reads back as 0x7 Ethernet fixup Configuring VIA LAN RTC Init Invalid CMOS LB checksum setting southbridge Assigning IRQ 12 to 0:11.2 Readback = 12 Assigning IRQ 12 to 0:11.3 Readback = 12 Assigning IRQ 10 to 0:11.5 Readback = 10 Assigning IRQ 10 to 0:11.6 Readback = 10 setting ethernet Assigning IRQ 11 to 0:12.0 Readback = 11 setting pci slot INSTALL REAL-MODE IDT DO THE VGA BIOS found VGA: vid=1023, did=8500 0x55 0xaa 0x60 0xeb 0x53 0x37 0x34 0x30 0x30 0x30 0x37 0xc2 0x8a 0x2a 0x2a 0x520biosint: # 0x1a, eax 0xb109 ebx 0x100 ecx 0x100 edx 0xa699 biosint: ebp 0x10fd8 esp 0xfc9 edi 0x2 esi 0x13484 biosint: ip 0x5ef4 cs 0xc000 flags 0x16 0xb109: bus 1 devfn 0x0 reg 0x2 val 0x8500 biosint: # 0x25, eax 0xc000 ebx 0x100 ecx 0x8500 edx 0x3c2 biosint: ebp 0x10fd8 esp 0xfc7 edi 0x2 esi 0x13484 biosint: ip 0x232f cs 0xc000 flags 0x246 biosint: Unsupport int #0x25 biosint: # 0x1a, eax 0xb108 ebx 0x80000000 ecx 0x82351180 edx 0x3c4 biosint: ebp 0x10fd8 esp 0xfc5 edi 0xfb esi 0x13484 biosint: ip 0x261a cs 0xc000 flags 0x287 0xb108: bus 0 devfn 0x0 reg 0xfb val 0xa0 Checking IRQ routing tables... /home/matt/freebios/src/arch/i386/lib/pirq_routing.c: 30:check_pirq_routing_0done. Copying IRQ routing tables to 0xf0000...done. Verifing priq routing tables copy at 0xf0000...succeed Wrote linuxbios table at: 00000500 - 000006a0 checksum a371
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2
37:init_bytes() - zkernel_start:0xfffd0000 zkernel_mask:0x0000ffff Found ELF candiate at offset 0 New segment addr 0x100000 size 0x26440 offset 0xc0 filesize 0xc3a8 (cleaned up) New segment addr 0x100000 size 0x26440 offset 0xc0 filesize 0xc3a8 New segment addr 0x126440 size 0x48 offset 0xc480 filesize 0x48 (cleaned up) New segment addr 0x126440 size 0x48 offset 0xc480 filesize 0x48 Dropping non PT_LOAD segment Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x0000000000026440 filesz: 0x08Clearing Segment: addr: 0x000000000010c3a8 memsz: 0x000000000001a098 Loading Segment: addr: 0x0000000000126440 memsz: 0x0000000000000048 filesz: 0x08Jumping to boot code at 0x108c5c FILO version 0.4.1 (root@fedora.rolec.ltd.uk) Mon Mar 15 17:15:57 GMT 2004 collect_sys_info: boot eax = 0xe1fb007 collect_sys_info: boot ebx = 0x3bb9df4 collect_sys_info: boot arg = 0x3bb9df4 malloc_diag: alloc: 0 bytes (0 blocks), free: 16376 bytes (1 blocks) malloc_diag: alloc: 24 bytes (1 blocks), free: 16352 bytes (1 blocks) collect_elfboot_info: Bootloader: elfboot collect_elfboot_info: Version: 1.2 malloc_diag: alloc: 40 bytes (2 blocks), free: 16336 bytes (1 blocks) collect_linuxbios_info: Searching for LinuxBIOS tables... find_lb_table: Found canidate at: 00000500 find_lb_table: header checksum o.k. find_lb_table: table checksum o.k. find_lb_table: record count o.k. collect_linuxbios_info: Found LinuxBIOS table at: 00000500 malloc_diag: alloc: 128 bytes (3 blocks), free: 16248 bytes (1 blocks) convert_memmap: 0x00000000000000 0x00000000000700 16 convert_memmap: 0x00000000000700 0x0000000009f900 1 convert_memmap: 0x000000000c0000 0x00000000030000 1 convert_memmap: 0x000000000f0000 0x00000000000400 16 convert_memmap: 0x000000000f0400 0x00000003b0fc00 1 collect_sys_info: 0000000000000700-00000000000a0000 collect_sys_info: 00000000000c0000-00000000000f0000 collect_sys_info: 00000000000f0400-0000000003c00000 collect_sys_info: RAM 60 MB relocate: Current location: 0x100000-0x126487 relocate: Relocating to 0x3bd9b70-0x3bffff7... ok setup_timers: CPU 533 MHz pci_init: Scanning PCI: found 11 devices malloc_diag: alloc: 272 bytes (4 blocks), free: 16104 bytes (1 blocks) pci_init: 00:00.0 1106:0601 0600 00 pci_init: 00:01.0 1106:8601 0604 00 pci_init: 01:00.0 1023:8500 0300 00 pci_init: 00:11.0 1106:8231 0601 00 pci_init: 00:11.1 1106:0571 0101 8a pci_init: 00:11.2 1106:3038 0c03 00 pci_init: 00:11.3 1106:3038 0c03 00 pci_init: 00:11.4 1106:8235 0000 00 pci_init: 00:11.5 1106:3058 0401 00 pci_init: 00:11.6 1106:3068 0780 00 pci_init: 00:12.0 1106:3065 0200 00 Press <Enter> for default boot, or <Esc> for boot prompt... timed out boot: hda1:/boot/linuxbios initrd=/boot/initrd.splash acpi=off splash=silent vg0malloc_diag: alloc: 400 bytes (5 blocks), free: 15976 bytes (1 blocks) malloc_diag: alloc: 416 bytes (6 blocks), free: 15960 bytes (1 blocks) file_open: dev=hda1, path=/boot/linuxbios find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4 ide_software_reset: Waiting for ide0 to become ready for reset... ok init_drive: Testing for hda init_drive: Probing for hda init_drive: LBA mode, sectors=39102336 init_drive: Init device params... ok hda: LBA 20GB: ST320014A devopen: Partition 1 start 32 length 3127264 Mounted ext2fs malloc_diag: alloc: 400 bytes (5 blocks), free: 15976 bytes (1 blocks) elf_load: Not a bootable ELF image malloc_diag: alloc: 416 bytes (6 blocks), free: 15960 bytes (1 blocks) file_open: dev=hda1, path=/boot/linuxbios devopen: already open malloc_diag: alloc: 400 bytes (5 blocks), free: 15976 bytes (1 blocks) Found Linux version 2.4.22 (root@rolec) #5 Tue Mar 16 07:37:51 GMT 2004 (protoc.init_linux_params: Setting up paramters at 0x90000 set_memory_size: 0000000000000700 - 00000000000a0000 set_memory_size: 00000000000c0000 - 00000000000f0000 set_memory_size: 00000000000f0400 - 0000000003c00000 set_memory_size: ramtop=0x3c00000 set_memory_size: ext_mem_k=60416, alt_mem_k=60416 parse_command_line: original command line: "initrd=/boot/initrd.splash acpi=off"parse_command_line: kernel command line at 0x91000 malloc_diag: alloc: 432 bytes (6 blocks), free: 15944 bytes (1 blocks) parse_command_line: initrd=/boot/initrd.splash parse_command_line: kernel command line (64 bytes): "acpi=off splash=silent vga"load_linux_kernel: offset=0x1600 addr=0x100000 size=0xe20e6 Loading kernel... ok file_open: dev=<NULL>, path=/boot/initrd.splash load_initrd: start=0x3bcd000 end=0x3bd97d8 Loading initrd... ok malloc_diag: alloc: 400 bytes (5 blocks), free: 15976 bytes (1 blocks) start_linux: eip=0x100000 Jumping to entry point... Linux version 2.4.22 (root@rolec) (gcc version 3.3.1) #5 Tue Mar 16 07:37:51 GM4BIOS-provided physical RAM map: BIOS-e820: 0000000000000700 - 00000000000a0000 (usable) BIOS-e820: 0000000000100000 - 0000000003c00000 (usable) 60MB LOWMEM available. hm, page 00000000 reserved twice. On node 0 totalpages: 15360 zone(0): 4096 pages. zone(1): 11264 pages. zone(2): 0 pages. Kernel command line: acpi=off splash=silent vga=791 console=tty0 console=ttyS0,0Initializing CPU#0 Detected 533.365 MHz processor. Console: colour dummy device 80x25 Calibrating delay loop... 1064.96 BogoMIPS Memory: 58252k/61440k available (1233k kernel code, 2800k reserved, 342k data, )Checking if this processor honours the WP bit even in supervisor mode... Ok. Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) Inode cache hash table entries: 4096 (order: 3, 32768 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line) CPU: L2 Cache: 64K (32 bytes/line) CPU: Centaur VIA Samuel 2 stepping 03 Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel ACPI: Subsystem revision 20030813 ACPI: Interpreter disabled. PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: ACPI tables contain no PCI IRQ routing entries PCI: Probing PCI hardware (bus 00) PCI: Using IRQ router default [1106/8231] at 00:11.0 Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Journalled Block Device driver loaded Detected PS/2 Mouse Port. pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI edttyS00 at 0x03f8 (irq = 4) is a 16550A via-rhine.c:v1.10-LK1.1.19 July-12-2003 Written by Donald Becker http://www.scyld.com/network/via-rhine.html eth0: VIA VT6102 Rhine-II at 0x1800, 00:40:63:c9:ba:8f, IRQ 11. eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1. PPP generic driver version 2.4.2 Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 25M agpgart: Detected Via Apollo PLE133 chipset