[LinuxBIOS] etherboot/filo + sata startup timing

Ward Vandewege ward at gnu.org
Mon May 1 17:55:45 CEST 2006


Hi Stefan,

On Sat, Apr 29, 2006 at 01:16:17AM +0200, Stefan Reinauer wrote:
> The latest Subversion revision at
> 
>    svn://openbios.org/filo/trunk/filo-0.5
> 
> should have working S-ATA. I have no S-ATA here so I could not test it.
> It's the version that also comes with the GRUB user interface.
> 
> It still lacks two things:
> 
>  - reading syslinux.cfg from cdroms/dvds to allow really easy CD booting
>  - zelf support

Not sure what happened, but it seems we're not 100% there yet. I've attached
a boot log, and my filo Config file. It hangs after saying 'IDE channel 2
not found'.

I wonder if this is because it ignored (!) the AUTOBOOT_DELAY, which would
mean the SATA drives would not be fully ready yet. This was a cold boot.

Suggestions?
Ward.

-- 
Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior System Administrator
-------------- next part --------------
LinuxBIOS-1.1.8_s2881_Fallback Mon May  1 11:03:27 EDT 2006 starting...
(0,1) link=00
(1,0) link=00
02 nodes initialized.
SBLink=02
NC node|link=02
ht reset -


LinuxBIOS-1.1.8_s2881_Fallback Mon May  1 11:03:27 EDT 2006 starting...
(0,1) link=00
(1,0) link=00
02 nodes initialized.
SBLink=02
NC node|link=02
Ram1.00
Ram1.01
Ram2.00
Ram2.01
Ram3
Initializing memory:  done
Initializing memory:  done
Ram4
v_esp=000cfd4c
testx = 5a5a5a5a
Copying data from cache to ram -- switching to use ram as stack... Done
testx = 5a5a5a5a
Disabling cache as ram now 
Clearing initial memory region: Done
Copying LinuxBIOS to ram.
src=fffe0004
dst=00004000
linxbios_ram.bin length = 00019770
Jumping to LinuxBIOS.
LinuxBIOS-1.1.8_s2881_Fallback Mon May  1 11:03:27 EDT 2006 booting...
Enumerating buses...
APIC_CLUSTER: 0 enabled
PCI_DOMAIN: 0000 enabled
  PCI: 00:18.3 siblings=1
CPU: APIC: 00 enabled
CPU: APIC: 01 enabled
PCI: 00:19.0 [1022/1100] enabled
PCI: 00:19.1 [1022/1101] enabled
PCI: 00:19.2 [1022/1102] enabled
PCI: 00:19.3 [1022/1103] enabled
  PCI: 00:19.3 siblings=1
CPU: APIC: 02 enabled
CPU: APIC: 03 enabled
PCI: pci_scan_bus for bus 0
PCI: 00:18.0 [1022/1100] enabled
PCI: 00:18.1 [1022/1101] enabled
PCI: 00:18.2 [1022/1102] enabled
PCI: 00:18.3 [1022/1103] enabled
PCI: 00:19.0 [1022/1100] enabled
PCI: 00:19.1 [1022/1101] enabled
PCI: 00:19.2 [1022/1102] enabled
PCI: 00:19.3 [1022/1103] enabled
PCI: 01:00.0 [1022/7450] enabled
PCI: 01:01.0 [1022/7450] enabled next_unitid: 0003
PCI: 01:00.0 [1022/7460] enabled
PCI: 01:03.0 [1022/7460] enabled next_unitid: 0007
PCI: pci_scan_bus for bus 1
PCI: 01:01.0 [1022/7450] enabled
PCI: 01:01.1 [1022/7451] enabled
PCI: 01:02.0 [1022/7450] enabled
PCI: 01:02.1 [1022/7451] enabled
PCI: 01:03.0 [1022/7460] enabled
PCI: 01:04.0 [1022/7468] enabled
PCI: 01:04.1 [1022/7469] enabled
PCI: 01:04.2 [1022/746a] enabled
PCI: 01:04.3 [1022/746b] enabled
PCI: pci_scan_bus for bus 2
PCI: 02:09.0 [14e4/1648] enabled
PCI: 02:09.1 [14e4/1648] enabled
Disabling static device: PCI: 02:0a.0
Disabling static device: PCI: 02:0a.1
PCI: pci_scan_bus returning with max=02
PCI: 02: 100MHz PCI-X
PCI: pci_scan_bus for bus 3
PCI: pci_scan_bus returning with max=03
PCI: 03: 133MHz PCI-X
PCI: pci_scan_bus for bus 4
PCI: 04:00.0 [1022/7464] enabled
PCI: 04:00.1 [1022/7464] enabled
PCI: 04:05.0 [1095/3114] enabled
PCI: 04:06.0 [1002/4752] enabled
PCI: pci_scan_bus returning with max=04
PNP: 002e.0 enabled
PNP: 002e.1 disabled
PNP: 002e.2 enabled
PNP: 002e.3 enabled
PNP: 002e.5 enabled
PNP: 002e.6 disabled
PNP: 002e.7 disabled
PNP: 002e.8 disabled
PNP: 002e.9 disabled
PNP: 002e.a disabled
PNP: 002e.b enabled
smbus: PCI: 01:04.3[0]->I2C: 01:50 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:51 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:52 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:53 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:54 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:55 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:56 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:57 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:2d enabled
smbus: PCI: 01:04.3[0]->I2C: 01:2a enabled
smbus: PCI: 01:04.3[0]->I2C: 01:49 enabled
smbus: PCI: 01:04.3[0]->I2C: 01:4a enabled
PCI: pci_scan_bus returning with max=04
PCI: pci_scan_bus returning with max=04
done
Allocating resources...
Reading resources...
PCI: 01:01.0 1c <- [0x00fffff000 - 0x00ffffefff] bus 2 io
PCI: 01:01.0 24 <- [0xfffffffffff00000 - 0xffffffffffefffff] bus 2 prefmem
PCI: 01:03.0 24 <- [0x00fff00000 - 0x00ffefffff] bus 4 prefmem
Done reading resources.
Setting resources...
PCI: 00:18.0 1ba <- [0x00fd300000 - 0x00fd2fffff] prefmem <node 0 link 2>
PCI: 00:18.0 1c2 <- [0x0000001000 - 0x0000002fff] io <node 0 link 2>
PCI: 00:18.0 1b2 <- [0x00fc000000 - 0x00fd2fffff] mem <node 0 link 2>
PCI: 01:01.0 20 <- [0x00fd100000 - 0x00fd1fffff] bus 2 mem
PCI: 02:09.0 10 <- [0x00fd100000 - 0x00fd10ffff] mem64
PCI: 02:09.0 18 <- [0x00fd110000 - 0x00fd11ffff] mem64
PCI: 02:09.1 10 <- [0x00fd120000 - 0x00fd12ffff] mem64
PCI: 02:09.1 18 <- [0x00fd130000 - 0x00fd13ffff] mem64
PCI: 01:01.1 10 <- [0x00fd200000 - 0x00fd200fff] mem64
PCI: 01:02.1 10 <- [0x00fd201000 - 0x00fd201fff] mem64
PCI: 01:03.0 1c <- [0x0000001000 - 0x0000001fff] bus 4 io
PCI: 01:03.0 20 <- [0x00fc000000 - 0x00fd0fffff] bus 4 mem
PCI: 04:00.0 10 <- [0x00fd000000 - 0x00fd000fff] mem
PCI: 04:00.1 10 <- [0x00fd001000 - 0x00fd001fff] mem
PCI: 04:05.0 10 <- [0x0000001410 - 0x0000001417] io
PCI: 04:05.0 14 <- [0x0000001430 - 0x0000001433] io
PCI: 04:05.0 18 <- [0x0000001420 - 0x0000001427] io
PCI: 04:05.0 1c <- [0x0000001440 - 0x0000001443] io
PCI: 04:05.0 20 <- [0x0000001400 - 0x000000140f] io
PCI: 04:05.0 24 <- [0x00fd003000 - 0x00fd0033ff] mem
PCI: 04:06.0 10 <- [0x00fc000000 - 0x00fcffffff] mem
PCI: 04:06.0 14 <- [0x0000001000 - 0x00000010ff] io
PCI: 04:06.0 18 <- [0x00fd002000 - 0x00fd002fff] mem
PCI: 04:06.0 30 <- [0x00fff80000 - 0x00fff9ffff] romem
PNP: 002e.0 60 <- [0x00000003f0 - 0x00000003f7] io
PNP: 002e.0 70 <- [0x0000000006 - 0x0000000006] irq
PNP: 002e.0 74 <- [0x0000000002 - 0x0000000002] drq
PNP: 002e.2 60 <- [0x00000003f8 - 0x00000003ff] io
PNP: 002e.2 70 <- [0x0000000004 - 0x0000000004] irq
PNP: 002e.3 60 <- [0x00000002f8 - 0x00000002ff] io
PNP: 002e.3 70 <- [0x0000000003 - 0x0000000003] irq
PNP: 002e.5 60 <- [0x0000000060 - 0x0000000060] io
PNP: 002e.5 62 <- [0x0000000064 - 0x0000000064] io
PNP: 002e.5 70 <- [0x0000000001 - 0x0000000001] irq
PNP: 002e.5 72 <- [0x000000000c - 0x000000000c] irq
PNP: 002e.b 60 <- [0x0000000290 - 0x0000000297] io
PNP: 002e.b 70 <- [0x0000000005 - 0x0000000005] irq
PCI: 01:04.1 20 <- [0x0000002420 - 0x000000242f] io
PCI: 01:04.2 10 <- [0x0000002400 - 0x000000241f] io
PCI: 01:04.3 58 <- [0x0000002000 - 0x00000020ff] io
PCI: 00:18.3 94 <- [0x00f8000000 - 0x00fbffffff] mem <gart>
PCI: 00:19.3 94 <- [0x00f8000000 - 0x00fbffffff] mem <gart>
Done setting resources.
Done allocating resources.
Enabling resources...
PCI: 00:18.0 cmd <- 140
PCI: 01:01.0 bridge ctrl <- 0003
PCI: 01:01.0 cmd <- 146
PCI: 02:09.0 subsystem <- 10f1/2881
PCI: 02:09.0 cmd <- 142
PCI: 02:09.1 subsystem <- 10f1/2881
PCI: 02:09.1 cmd <- 142
PCI: 01:01.1 subsystem <- 10f1/2881
PCI: 01:01.1 cmd <- 146
PCI: 01:02.1 subsystem <- 10f1/2881
PCI: 01:02.1 cmd <- 146
PCI: 01:03.0 bridge ctrl <- 0003
PCI: 01:03.0 cmd <- 147
PCI: 04:00.0 subsystem <- 10f1/2881
PCI: 04:00.0 cmd <- 142
PCI: 04:00.1 subsystem <- 10f1/2881
PCI: 04:00.1 cmd <- 142
PCI: 04:05.0 subsystem <- 10f1/2881
PCI: 04:05.0 cmd <- 143
PCI: 04:06.0 subsystem <- 10f1/2881
PCI: 04:06.0 cmd <- 1c3
PCI: 01:04.0 subsystem <- 10f1/2881
PCI: 01:04.0 cmd <- 14f
w83627hf hwm smbus enabled
PCI: 01:04.1 subsystem <- 10f1/2881
PCI: 01:04.1 cmd <- 141
PCI: 01:04.2 subsystem <- 10f1/2881
PCI: 01:04.2 cmd <- 141
PCI: 01:04.3 subsystem <- 10f1/2881
PCI: 01:04.3 cmd <- 141
PCI: 00:18.1 subsystem <- 10f1/2881
PCI: 00:18.1 cmd <- 140
PCI: 00:18.2 subsystem <- 10f1/2881
PCI: 00:18.2 cmd <- 140
PCI: 00:18.3 cmd <- 140
PCI: 00:19.0 cmd <- 140
PCI: 00:19.1 cmd <- 140
PCI: 00:19.2 cmd <- 140
PCI: 00:19.3 cmd <- 140
done.
Initializing devices...
Root Device init
APIC_CLUSTER: 0 init
Initializing CPU #0
CPU: vendor AMD device 20f12
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 4096MB, type WB
Setting variable MTRR 1, base: 4096MB, range: 1024MB, type WB
Setting variable MTRR 2, base: 3072MB, range: 1024MB, type UC
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x0210, patch id = 0x00000000
microcode: patch id that want to apply= 0x0000004d
microcode: updated to patch id = 0x0000004d  success
Setting up local apic... apic_id: 0 done.
Clearing memory 2048K - 2097152K: ------------------------------- done
CPU #0 Initialized
start_eip=0x00010000
Initializing CPU #1
CPU: vendor AMD device 20f12
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 4096MB, type WB
Setting variable MTRR 1, base: 4096MB, range: 1024MB, type WB
Setting variable MTRR 2, base: 3072MB, range: 1024MB, type UC
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x0210, patch id = 0x00000000
microcode: patch id that want to apply= 0x0000004d
microcode: updated to patch id = 0x0000004d  success
Setting up local apic... apic_id: 1 done.
CPU #1 Initialized
start_eip=0x00010000
Initializing CPU #2
CPU: vendor AMD device 20f12
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 4096MB, type WB
Setting variable MTRR 1, base: 4096MB, range: 1024MB, type WB
Setting variable MTRR 2, base: 3072MB, range: 1024MB, type UC
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x0210, patch id = 0x00000000
microcode: patch id that want to apply= 0x0000004d
microcode: updated to patch id = 0x0000004d  success
Setting up local apic... apic_id: 2 done.
Clearing memory 2097152K - 5242880K: ----------------++++++++++++++++ done
CPU #2 Initialized
start_eip=0x00010000
Initializing CPU #3
Waiting for 1 CPUS to stop
CPU: vendor AMD device 20f12
Enabling cache

Setting fixed MTRRs(0-88) type: UC
Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM
Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM
DONE fixed MTRRs
Setting variable MTRR 0, base:    0MB, range: 4096MB, type WB
Setting variable MTRR 1, base: 4096MB, range: 1024MB, type WB
Setting variable MTRR 2, base: 3072MB, range: 1024MB, type UC
DONE variable MTRRs
Clear out the extra MTRR's

MTRR check
Fixed MTRRs   : Enabled
Variable MTRRs: Enabled

microcode: equivalent processor rev id  = 0x0210, patch id = 0x00000000
microcode: patch id that want to apply= 0x0000004d
microcode: updated to patch id = 0x0000004d  success
Setting up local apic... apic_id: 3 done.
CPU #3 Initialized
All AP CPUs stopped
PCI: 00:18.0 init
PCI: 01:01.0 init
PCI: 02:09.0 init
PCI: 02:09.1 init
PCI: 01:03.0 init
PCI: 04:05.0 init
PCI: 04:06.0 init
PCI: 01:04.0 init
amd8111: ioapic bsp_apicid = 00
RTC Init
RTC: Checksum invalid zeroing cmos
Invalid CMOS LB checksum
enabling HPET @0xfed00000
PNP: 002e.0 init
PNP: 002e.2 init
PNP: 002e.3 init
PNP: 002e.5 init
PNP: 002e.b init
PCI: 01:04.1 init
IDE1 IDE0 PCI: 01:04.3 init
set power on after power fail
smbus: PCI: 01:04.3[0]->I2C: 01:2d init
PCI: 00:18.1 init
PCI: 00:18.2 init
PCI: 00:18.3 init
NB: Function 3 Misc Control.. done.
PCI: 00:19.0 init
PCI: 00:19.1 init
PCI: 00:19.2 init
PCI: 00:19.3 init
NB: Function 3 Misc Control.. done.
Devices initialized
Writing IRQ routing tables to 0xf0000...done.
Wrote the mp table end at: 00000020 - 000001f4
Moving GDT to 0x500...ok
Wrote linuxbios table at: 00000530 - 00000e28  checksum 4d73

Welcome to elfboot, the open sourced starter.
January 2002, Eric Biederman.
Version 1.3

    33:stream_init() - rom_stream: 0xfffc0000 - 0xfffdffff
Found ELF candiate at offset 0
New segment addr 0x100000 size 0x2bdc0 offset 0xc0 filesize 0xd2a8
(cleaned up) New segment addr 0x100000 size 0x2bdc0 offset 0xc0 filesize 0xd2a8
New segment addr 0x12bdc0 size 0x48 offset 0xd380 filesize 0x48
(cleaned up) New segment addr 0x12bdc0 size 0x48 offset 0xd380 filesize 0x48
Dropping non PT_LOAD segment
Dropping non PT_LOAD segment
Loading Segment: addr: 0x0000000000100000 memsz: 0x000000000002bdc0 filesz: 0x000000000000d2a8
Clearing Segment: addr: 0x000000000010d2a8 memsz: 0x000000000001eb18
Loading Segment: addr: 0x000000000012bdc0 memsz: 0x0000000000000048 filesz: 0x0000000000000048
Jumping to boot code at 0x108cc4
FILO version 0.5 (root at countzero.vandewege.net) Mon May  1 10:59:12 EDT 2006
collect_linuxbios_info: Searching for LinuxBIOS tables...
find_lb_table: Found canidate at: 00000530
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: 00000530
convert_memmap: 0x00000000000000 0x00000000000e94 16
convert_memmap: 0x00000000000e94 0x0000000009f16c 1
convert_memmap: 0x000000000c0000 0x00000000030000 1
convert_memmap: 0x000000000f0000 0x00000000000400 16
convert_memmap: 0x000000000f0400 0x0000007ff0fc00 1
convert_memmap: 0x00000080000000 0x00000040000000 1
convert_memmap: 0x00000100000000 0x00000040000000 1
IDE channel 2 not found
-------------- next part --------------
# !!! NOTE !!!
# Do NOT add spaces or comments at the end of option lines.
# It confuses some versions of make.

# Use grub instead of autoboot?
USE_GRUB = 1

# Grub menu.lst path
#MENULST_FILE = "hda3:/boot/filo/menu.lst"
MENULST_FILE = "hde1:/grub/menu.lst"

# Image filename for automatic boot and optional command line parameter
#AUTOBOOT_FILE = "hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200"
AUTOBOOT_FILE = "hde1:/linuxbios.elf"
#AUTOBOOT_FILE = "mem at 0xfff80000"
#AUTOBOOT_FILE = "hde1 at 0"
#AUTOBOOT_FILE = "uda1:/vmlinuz.elf"

# Time in second before booting AUTOBOOT_FILE
AUTOBOOT_DELAY = 5

# Driver for hard disk, CompactFlash, and CD-ROM on IDE bus
IDE_DISK = 1

# Driver for USB Storage
#USB_DISK = 1

# VGA text console
VGA_CONSOLE = 1
PC_KEYBOARD = 1

# Serial console 
SERIAL_CONSOLE = 1
SERIAL_IOBASE = 0x3f8
# if SERIAL_SPEED is commented out, the speed will not be changed.
#SERIAL_SPEED = 115200

# Filesystems
FSYS_EXT2FS = 1
#FSYS_FAT = 1
#FSYS_JFS = 1
#FSYS_MINIX = 1
#FSYS_REISERFS = 1
#FSYS_XFS = 1
FSYS_ISO9660 = 1

# Support for boot disk image in bootable CD-ROM (El Torito)
ELTORITO = 1

# PCI support
SUPPORT_PCI = 1

# Enable this to scan PCI busses above bus 0
# AMD64 based boards do need this.
PCI_BRUTE_SCAN = 1

# Sound support (needs SUPPORT_PCI)
#SUPPORT_SOUND = 1

# Sound drivers
#VIA_SOUND = 1

# Debugging
#DEBUG_ALL = 1
DEBUG_ELFBOOT = 1
#DEBUG_ELFNOTE = 1
DEBUG_LINUXBIOS = 1
#DEBUG_MALLOC = 1
#DEBUG_MULTIBOOT = 1
#DEBUG_SEGMENT = 1
#DEBUG_SYS_INFO = 1
#DEBUG_TIMER = 1
#DEBUG_BLOCKDEV = 1
#DEBUG_PCI = 1
#DEBUG_VIA_SOUND = 1
#DEBUG_LINUXLOAD = 1
#DEBUG_IDE = 1
#DEBUG_USB = 1
#DEBUG_ELTORITO = 1

# i386 options

# Loader for standard Linux kernel image, a.k.a. /vmlinuz
LINUX_LOADER = 1

# Boot FILO from Multiboot loader (eg. GRUB)
#MULTIBOOT_IMAGE = 1

# Use PCI Configuration Mechanism #1 (most boards)
PCI_CONFIG_1 = 1


More information about the coreboot mailing list