boot the kernel 2.4.19 from linuxbios

Eric W. Biederman ebiederm at xmission.com
Sun Oct 20 22:47:01 CEST 2002


"Munjun Kang" <malas at pinetron.com> writes:

> Dear Eric W. Biederman.
> 
> I try to boot kernel from linuxbios.
> In this time, I meet serious problem.
> I saw your kernel startup patch for linuxbios. (x86 Boot enhancements)
> In my opinion, you can solve my problem.
> 
> I succeed to loading linux kernel, but Can't mount to root any device, ramdisk,
> hdd, nfs.
>
> In select ramdisk as a root file system, there are different panic message by
> kernel module setting.
> 
> And, other device is similar to that.
> I think that problem is memory management,
> How about do you think?
>
> If you have some idea, plz let me know.

My suggestions.
1) setup to use the external etherboot, and the linuxbios elf loader,
   it keeps you from being stuck with just loading Linux.
2) Load memtest86 and see if you memory appears o.k.
3) Get an oops that reports something, without running ksyms oops on
   the output I have no idea.  Where in the kernel you are crashing.

The best clue you have given is:

> VFS: Mounted root (ext3 filesystem).
> Freeing unused kernel memory: 244k freed
> attempt to access beyond end of device
> 03:02: rw=0, want=2147481940, limit=14651280
> attempt to access beyond end of device
> 03:02: rw=0, want=738197788, limit=14651280

It looks like there is something fishy in your hard drive code.

I don't have any direct experience with the VIA 694X, so I don't know
which kinds of things are likely to go wrong.

I am forwarding this to the LinuxBIOS list in case someone else has a clue.

Eric

> Thanks for reading.
> 
> Regards,
> malas
> 
> ---------- follow is linuxbios boot message --------
> 
> LinuxBIOS-1.0.0 Thu Oct 17 10:50:01 KST 2002 starting...
> Copying LinuxBIOS to ram.
> Jumping to LinuxBIOS.
> LinuxBIOS-1.0.0 Thu Oct 17 10:50:01 KST 2002 booting...
> Finding PCI configuration type.
> Scanning PCI bus...
> PCI: pci_scan_bus for bus 0
> PCI: 00:00.0 [1106/0605]
> PCI: 00:01.0 [1106/8605]
> 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 [5333/8d01]
> PCI: pci_scan_bus returning with max=01
> PCI: pci_scan_bus returning with max=01
> done
> smasize: 8 MB
> totalram: 120 MB
> 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
> Setting variable MTRR 2, base:   96MB, range:   16MB, type WB
> Setting variable MTRR 3, base:  112MB, range:    8MB, 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 : 0x08
> Feature flags      : 0x00803035
> 
> 
> MTRR check
> Fixed MTRRs   : Enabled
> Variable MTRRs: Enabled
> 
> Configuring L2 cache...Not 'GenuineIntel' Processor
> Enable Cache
> done.
> Disabling local apic...done.
> CPU #0 Initialized
> IDE enable in reg. 0x50 is 0x7
> set IDE reg. 0x50 to 0x7
> IRQs in reg. 0x4c are 0x4
> setting reg. 0x4c to 0x4
> IDE channel enable reg. 0x40 is 0x8
> set IDE channel enable reg. 0x40 to 0xb
> Prg. Interface reg. 0x9 is 0x8f
> set Pro. Interface reg. 0x9 to 0x8a
> command reg. 0x4 is 0x80
> set command reg. 0x4 to 0x85
> Checking IRQ routing tables...
> Allocating PCI resources...
> ASSIGN RESOURCES, bus 0
> PCI: 00:00.0 10 <- [0xf8000000 - 0xfbfffffe] prefmem
> PCI: 00:01.0 1c <- [not assigned in sub-bus] bus 1 io
> PCI: 00:01.0 24 <- [0xf0000000 - 0xf7ffffff] bus 1 prefmem
> PCI: 00:01.0 20 <- [0xfc000000 - 0xfc0fffff] bus 1 mem
> ASSIGN RESOURCES, bus 1
> PCI: 01:00.0 10 <- [0xfc000000 - 0xfc07fffe] mem
> PCI: 01:00.0 14 <- [0xf0000000 - 0xf7fffffe] prefmem
> PCI: 00:11.1 20 <- [0x00001820 - 0x0000182e] io
> PCI: 00:11.2 20 <- [0x00001500 - 0x0000151e] io
> PCI: 00:11.3 20 <- [0x00001800 - 0x0000181e] io
> PCI: 00:11.5 10 <- [0x00001000 - 0x000010fe] io
> PCI: 00:11.5 14 <- [0x00001830 - 0x00001832] io
> PCI: 00:11.5 18 <- [0x00001840 - 0x00001842] io
> PCI: 00:11.6 10 <- [0x00001100 - 0x000011fe] io
> PCI: 00:12.0 10 <- [0x00001400 - 0x000014fe] io
> PCI: 00:12.0 14 <- [0xfc100000 - 0xfc1000fe] mem
> 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 <- 85
> 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
> nvram_on
> keyboard_on
> Clocks/sec = 801
> Clocks/tick = 8010000
> Preset Video RAM = 2 MB
> m = 65, n = 1, r = 3
> PCI: Enabling bus mastering for device 00:90
> rhine.c v1.0.0 2000-01-07
> IO address 1400 Ethernet Address: ab:cd:10:92:ef:ef
> Analyzing Media type,this will take several seconds........OK
> MII Addr. : 0x01
> PHYID1 : 0x0101, PHYID2 : 0x8f25
> Control : 0x3100, Status : 0x786d
> Auto-Nego. Adv. : 0x05e1, Link Partner Adv. : 0x41e1
> Linespeed : 100Mbs, Full-duplex
> Wrote linuxbios table at: 00000500 - 00000664  checksum 8ed7
> PDVR_Hx> tftp 01000000 linux.img
> # ServerIP = 192.168.0.41
> # ServerMAC = 00:50:fc:3a:46:cd
> # TFTP Ready : blocksize/dot = 1432 bytes
> # Loading ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ................................................................
>           ..................................
> # TFTP Complete : 0x00101d1d bytes at address 0x01000000.
> PDVR_Hx> boot 1000000
> # Checking Image at 0x01000000.
> # Image Name:   PDVR-H8 Kernel Image
>   Image Type:   Intel x86 Linux Kernel Image (gzip compressed)
>   Data Size:    1055965 Bytes = 1031 kB = 1 MB
>   Load Address: 00100000
>   Entry Point:  00100000
> # Verifying Checksum ... OK
> # Uncompressing kernel image...
> # command line - [root=/dev/hda2 console=ttyS0,115200n8]
> # boot kernel
> 
> ----------------- following is kernel boot message
> ------------------------------
> 
> 
> Linux version 2.4.19 (malas at dvrdev) (gcc version 2.96 20000731 (Red Hat Linux
> 7.3 2.96-110)) #84 Thu Oct 17 16:29:57 KST 2002
> 
> 
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
>  BIOS-e820: 00000000000a0000 - 0000000000100000 (reserved)
>  BIOS-e820: 0000000000100000 - 0000000007800000 (usable)
>  BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
> 120MB LOWMEM available.
> On node 0 totalpages: 30720
> zone(0): 4096 pages.
> zone(1): 26624 pages.
> zone(2): 0 pages.
> Kernel command line: root=/dev/hda2 console=ttyS0,115200n8
> Initializing CPU#0
> Detected 800.050 MHz processor.
> Console: colour dummy device 80x25
> Calibrating delay loop... 1595.80 BogoMIPS
> Memory: 118616k/122880k available (1172k kernel code, 3880k reserved, 788k data,
> 244k init, 0k highmem)
> 
> Checking if this processor honours the WP bit even in supervisor mode... Ok.
> kdb version 2.3 by Scott Lurndal, Keith Owens. Copyright SGI, All Rights
> Reserved
> 
> Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
> Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
> Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
> Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
> Page-cache hash table entries: 32768 (order: 5, 131072 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 Ezra stepping 08
> Checking 'hlt' instruction... OK.
> POSIX conformance testing by UNIFIX
> mtrr: v1.40 (20010327) Richard Gooch (rgooch at atnf.csiro.au)
> mtrr: detected mtrr type: Intel
> PCI: Using configuration type 1
> PCI: Probing PCI hardware
> PCI: IDE base address fixup for 00:11.1
> PCI: Scanning for ghost devices on bus 0
> PCI: Scanning for ghost devices on bus 1
> Unknown bridge resource 0: assuming transparent
> PCI: IRQ init
> PCI: Interrupt Routing Table found at 0xc00fd000
> PCI: IRQ pirq_table found
> 00:11 slot=00 0:00/1eb8 1:00/1eb8 2:00/1eb8 3:05/1eb8
> 00:11 slot=00 0:00/1eb8 1:00/1eb8 2:00/1eb8 3:05/1eb8
> 00:11 slot=00 0:00/1eb8 1:00/1eb8 2:03/1eb8 3:00/1eb8
> 00:11 slot=00 0:00/1eb8 1:00/1eb8 2:03/1eb8 3:00/1eb8
> 00:12 slot=00 0:05/1eb8 1:01/1eb8 2:02/1eb8 3:03/1eb8
> 00:14 slot=01 0:05/1eb8 1:01/1eb8 2:02/1eb8 3:03/1eb8
> 00:16 slot=02 0:03/1eb8 1:05/1eb8 2:01/1eb8 3:02/1eb8
> 00:18 slot=03 0:02/1eb8 1:03/1eb8 2:05/1eb8 3:01/1eb8
> 01:00 slot=04 0:01/1eb8 1:02/1eb8 2:03/1eb8 3:05/1eb8
> PCI: Attempting to find IRQ router for 1106:8231
> PCI: Using IRQ router VIA [1106/8231] at 00:11.0
> PCI: IRQ fixup
> IRQ for 00:11.5:2 -> not routed
> IRQ for 00:11.6:2 -> not routed
> IRQ for 00:12.0:0 -> PIRQ 05, mask 1eb8, excl 0000 -> newirq=0 -> got IRQ 9
> PCI: Found IRQ 9 for device 00:12.0
> IRQ for 01:00.0:0 -> PIRQ 01, mask 1eb8, excl 0000 -> newirq=0 -> got IRQ 5
> PCI: Found IRQ 5 for device 01:00.0
> PCI: Allocating resources
> PCI: Resource f8000000-fbffffff (f=1208, d=0, p=0)
> PCI: Resource 00001820-0000182f (f=101, d=0, p=0)
> PCI: Resource 00001000-000010ff (f=101, d=0, p=0)
> PCI: Resource 00001830-00001833 (f=101, d=0, p=0)
> PCI: Resource 00001840-00001843 (f=101, d=0, p=0)
> PCI: Resource 00001100-000011ff (f=101, d=0, p=0)
> PCI: Resource 00001400-000014ff (f=101, d=0, p=0)
> PCI: Resource fc100000-fc1000ff (f=200, d=0, p=0)
> PCI: Resource fc000000-fc07ffff (f=200, d=0, p=0)
> PCI: Resource f0000000-f7ffffff (f=1208, d=0, p=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
> savagefb: savagefb_init
> savagefb: savage_init
> savagefb: savagefb_probe
> IRQ for 01:00.0:0 -> PIRQ 01, mask 1eb8, excl 0000 -> newirq=5 -> got IRQ 5
> PCI: Found IRQ 5 for device 01:00.0
> savagefb: savage_map_mmio
> savagefb: mapped io at c8000000
> savagefb: savage_enable_mmio
> 
> savagefb: savage_init_hw
> savagefb: probed videoram:  0k
> savagefb: Detected current MCLK value of 14 MHz
> savagefb: savage_map_video
> savagefb: frame buffer in use
> savagefb: savage_unmap_video
> savagefb: savage_unmap_mmio
> savagefb: savage_disable_mmio
> 
> Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI
> enabled
> 
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> Uniform Multi-Platform E-IDE driver Revision: 6.31
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> VP_IDE: IDE controller on PCI bus 00 dev 89
> VP_IDE: chipset revision 6
> VP_IDE: not 100% native mode: will probe irqs later
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> VP_IDE: VIA vt8231 (rev 10) IDE UDMA100 controller on pci00:11.1
>     ide0: BM-DMA at 0x1820-0x1827, BIOS settings: hda:pio, hdb:pio
>     ide1: BM-DMA at 0x1828-0x182f, BIOS settings: hdc:pio, hdd:pio
> hda: IBM-DJNA-351520, ATA DISK drive
> hdc: CRD-8523B, ATAPI CD/DVD-ROM drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> da: 30033360 sectors (15377 MB) w/430KiB Cache, CHS=29795/16/63, UDMA(33)
> hdc: ATAPI 52X CD-ROM drive, 128kB Cache, DMA
> Uniform CD-ROM driver Revision: 3.12
> Partition check:
>  hda: [PTBL] [1869/255/63] hda1 hda2 hda3
> RAMDISK driver initialized: 16 RAM disks of 20420K size 1024 blocksize
> VIA Rhine Farmily Fast Ethernet Adapter Driver Ver. 4.11
> Copyright (c) 2002 VIA Technologies, Inc.
> IRQ for 00:12.0:0 -> PIRQ 05, mask 1eb8, excl 0000 -> newirq=9 -> got IRQ 9
> PCI: Found IRQ 9 for device 00:12.0
> eth0: VIA VT6102 Rhine II Fast Ethernet Adapter                   
> eth0: MAC=AB:CD:10:92:EF:EF IO=0x1400 Mem=0xc8000000  IRQ=9 
> NET4: Linux TCP/IP 1.0 for NET4.0
> IP Protocols: ICMP, UDP, TCP, IGMP
> IP: routing cache hash table of 512 buckets, 4Kbytes
> TCP: Hash tables configured (established 8192 bind 8192)
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
> kjournald starting.  Commit interval 5 seconds
> EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,2), internal journal
> EXT3-fs: recovery complete.
> EXT3-fs: mounted filesystem with ordered data mode.
> VFS: Mounted root (ext3 filesystem).
> Freeing unused kernel memory: 244k freed
> attempt to access beyond end of device
> 03:02: rw=0, want=2147481940, limit=14651280
> attempt to access beyond end of device
> 03:02: rw=0, want=738197788, limit=14651280
> kmod: failed to exec /sbin/modprobe -s -k char-major-9, errno = 2
> Unable to handle kernel paging request at virtual address 05196224
>  printing eip:
> c012c04c
> *pde = 00000000
> Oops: 0000
> CPU:    0
> EIP:    0010:[<c012c04c>]    Not tainted
> EFLAGS: 00010002
> eax: 0f66f883   ebx: 00000000   ecx: 0000002c   edx: 00000000
> esi: c77d8180   edi: c77d8000   ebp: c77dbf64   esp: c77dbf58
> ds: 0018   es: 0018   ss: 0018
> Process swapper (pid: 8, stackpage=c77db000)
> Stack: c77d8184 c77d8000 c77d81a8 c77dbf90 c012c5b1 c115e0c0 c77d8000 c77d8180 
>        c01189f3 c77d8180 00000246 c77d8184 c115e0c0 c77da000 c77dbfac c0119048 
>        c115e0c0 c77d8184 c77da000 c11edea0 00000009 c77dbfb8 c0119151 00000000 
> Call Trace:    [<c012c5b1>] [<c01189f3>] [<c0119048>] [<c0119151>] [<c0108fc3>]
>   [<c010774d>] [<c0121950>]
> 
> Code: 8b 44 87 18 83 f8 ff 75 eb 5b 31 c0 5e 5f 5d c3 8d 74 26 00 
> 
> Entering kdb (current=0xc77da000, pid 8) Oops: Oops
> due to oops @ 0xc012c04c
> eax = 0x0f66f883 ebx = 0x00000000 ecx = 0x0000002c edx = 0x00000000 
> esi = 0xc77d8180 edi = 0xc77d8000 esp = 0xc77dbf58 eip = 0xc012c04c 
> ebp = 0xc77dbf64 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010002 
> xds = 0x00000018 xes = 0x00000018 origeax = 0xffffffff &regs = 0xc77dbf24
> kdb> 
> 
> 
> 
> 
> 
> 
> ----------------------------------------
> 
> Munjun Kang
> Pinetron Co., Ltd
> malas at pinetron.com
> Phone: +82 2 856 6501       Fax: +82 2 856 6522
> 
> #ICQ : 65838018
> MSN : anmalas at hotmail.com
> 
> Rm. 601, Haejun Bldg., 954-4 Doksan-dong,
> Kumchun-gu, Seoul, Korea, 153-823
> 
> ----------------------------------------



More information about the coreboot mailing list