New problems with building Baremetal

Gregg C Levine hansolofalcon at worldnet.att.net
Mon May 10 16:08:00 CEST 2004


Hello from Gregg C Levine
Well Steven, that worked. Both Baremetal, and USB compiled with out
any complaints, the library contents also built correctly. Now the
obvious question. I selected a ROM image sent to me, by an earlier
correspondent, and then got it to work inside Bochs. The original
reasoning is that the board that he was building came close the one
being emulated. Here's the boot log from it:
LinuxBIOS-1.0.0 Wed Nov 13 22:27:29 EST 2002 starting...
Ram1
After 0x0000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x54...
After 0x00...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x4000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x0000000 nop...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x54...
After 0x00...
Before 0x4000000 nop...
After 0x4000000 nop...
After 0x4000000 nop...
First DRAM setup done
Ram2
Ram3
Ram Enable 1
Ram Enable 2
Ram Enable 3
Ram Enable 4
Ram Enable 5
Ram4
Ram5
Ram6
Copying LinuxBIOS to ram.
Jumping to LinuxBIOS.
LinuxBIOS-1.0.0 Wed Nov 13 22:27:29 EST 2002 booting...
Finding PCI configuration type.
PCI: Using configuration type 1
Scanning PCI bus...PCI: pci_scan_bus for bus 0
PCI: 00:00.0 [8086/1237]
PCI: 00:01.0 [8086/7000]
PCI: 00:02.0 [1234/1111]
PCI: pci_scan_bus returning with max=00
done
Allocating PCI resources...
ASSIGN RESOURCES, bus 0
PCI: 00:00.0 10 <- [0x00001000 - 0x00001003] io
PCI: 00:00.0 14 <- [0x00001010 - 0x00001013] io
PCI: 00:00.0 18 <- [0x00001020 - 0x00001023] io
PCI: 00:00.0 1c <- [0x00001030 - 0x00001033] io
PCI: 00:00.0 20 <- [0x00001040 - 0x00001043] io
PCI: 00:00.0 24 <- [0x00001050 - 0x00001053] io
PCI: 00:01.0 10 <- [0x00001060 - 0x00001063] io
PCI: 00:01.0 14 <- [0x00001070 - 0x00001073] io
PCI: 00:01.0 18 <- [0x00001080 - 0x00001083] io
PCI: 00:01.0 1c <- [0x00001090 - 0x00001093] io
PCI: 00:01.0 20 <- [0x000010a0 - 0x000010a3] io
PCI: 00:01.0 24 <- [0x000010b0 - 0x000010b3] io
PCI: 00:02.0 10 <- [0x000010c0 - 0x000010c3] io
PCI: 00:02.0 14 <- [0x000010d0 - 0x000010d3] io
PCI: 00:02.0 18 <- [0x000010e0 - 0x000010e3] io
PCI: 00:02.0 1c <- [0x000010f0 - 0x000010f3] io
PCI: 00:02.0 20 <- [0x00001100 - 0x00001103] io
PCI: 00:02.0 24 <- [0x00001400 - 0x00001403] io
ASSIGNED RESOURCES, bus 0
Allocating VGA resource
done.
Enabling PCI resourcess...PCI: 00:00.0 cmd <- 07
PCI: 00:01.0 cmd <- 07
PCI: 00:02.0 cmd <- 03
done.
Initializing PCI devices...
PCI devices initialized
totalram: 128M
Initializing CPU #0
Enabling cache...done.

Max cpuid index    : 1
Vendor ID          : GenuineIntel
Processor Type     : 0x00
Processor Family   : 0x05
Processor Model    : 0x01
Processor Mask     : 0x00
Processor Stepping : 0x03
Feature flags      : 0x00800131

done.
CPU #0 Initialized
intel_mainboard_fixup()
Testing SMI
SMI disabled
Enabling extended BIOS access...done.
Checking IRQ routing
tables.../home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routin
g.c:    24:check_pirq_routing_table() - irq_routing_table located at:
0x00009740
/home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routing.c:
31:check_pirq_routing_table() - checksum is: 0x63 but should be: 0xa6
/home/andrew/linuxbios/freebios/src/arch/i386/lib/pirq_routing.c:
49:check_pirq_routing_table() - checksum error in irq routing table
done.
Copying IRQ routing tables to 0xf0000...done.
Wrote linuxbios table at: 00000500 - 00000660  checksum 48b3

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

    37:init_bytes() - zkernel_start:0xfffc0000
zkernel_mask:0x0000007f
Cannot Load ELF Image

By the way, that happened while testing the arrangement both before I
had gotten Baremetal to compile, and afterwards. I stuck the ELF file,
as an Option ROM file, however, apparently the Linux BIOS ROM image
doesn't find it. 

If need be, I'll probably need to build my own image, and see what
happens from there.
-------------------
Gregg C Levine hansolofalcon at worldnet.att.net
------------------------------------------------------------
"The Force will be with you...Always." Obi-Wan Kenobi
"Use the Force, Luke."  Obi-Wan Kenobi

> -----Original Message-----
> From: linuxbios-admin at clustermatic.org [mailto:linuxbios-
> admin at clustermatic.org] On Behalf Of Steven James
> Sent: Monday, May 10, 2004 3:55 PM
> To: Gregg C Levine
> Cc: Linuxbios
> Subject: Re: New problems with building Baremetal
> 
> Greetings,
> 
> In the lib directory, try removing ide.o from DEPS for now. That
should
> get the library to compile.
> 
> The rest is all warnings except at the end where it can't link
against
> libbaremetal.a
> 
> G'day,
> sjames
> 
> 
> -------------------------steven james, director of research, linux
labs
> ... ........ ..... ....                    230 peachtree st nw ste
2701
> the original linux labs                             atlanta.ga.us
30303
>       -since 1995
http://www.linuxlabs.com
>                                               office & fax
866.545.6306
>
----------------------------------------------------------------------
-
> 
> 
> On Mon, 10 May 2004, Gregg C Levine wrote:
> 
> > Hello from Gregg C Levine
> > Now something else has happened. I've managed to build a copy of
GCC
> > version 2.9.5.3 and have it installed in the /opt directory.  But
> > there are unusual problems in the building of the bare metal
library,
> > here's a script output regarding the errors:
> > Script started on Mon May 10 14:47:28 2004
> > root at who5:/usr/src/lobos/freebios/util/baremetal/lib# make
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/printk.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2    -c
-o
> > serial_subr.o serial_subr.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2    -c
-o
> > subr.o subr.c
> > In file included from subr.c:16:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/vsprintf.c
> > In file included from ../../../src/lib/vsprintf.c:18:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/memcpy.c
> > In file included from ../../../src/lib/memcpy.c:1:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/malloc.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/memset.c
> > In file included from ../../../src/lib/memset.c:1:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/lib/compute_ip_checksum.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2    -c
-o
> > elfboot.o elfboot.c
> > In file included from elfboot.c:8:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2    -c
-o
> > boot.o boot.c
> > In file included from boot.c:4:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2  -c
> > ../../../src/pc80/ide/ide.c
> > ../../../src/pc80/ide/ide.c:27: delay.h: No such file or directory
> > ../../../src/pc80/ide/ide.c:28: pci.h: No such file or directory
> > make: *** [ide.o] Error 1
> > root at who5:/usr/src/lobos/freebios/util/baremetal/lib# exit
> > Script done on Mon May 10 14:47:36 2004
> >
> > Obviously some of those errors can be corrected by reminding the
make
> > file to find the include files that GCC 2.95.3 prefers. But the
ones
> > that concern me, are the "missing files" for the IDE issues.
> >
> > And here's the latest problem with the USB attachment to bare
metal:
> > Script started on Mon May 10 14:49:02 2004
> > root at who5:/usr/src/lobos/freebios/util/baremetal/usb# make
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o uhci.o uhci.c
> > uhci.c:332: warning: `USBCMD' redefined
> > uhci.h:290: warning: this is the location of the previous
definition
> > uhci.c:333: warning: `USBSTS' redefined
> > uhci.h:291: warning: this is the location of the previous
definition
> > uhci.c:334: warning: `USBINTR' redefined
> > uhci.h:292: warning: this is the location of the previous
definition
> > uhci.c:335: warning: `FRNUM' redefined
> > uhci.h:293: warning: this is the location of the previous
definition
> > uhci.c:336: warning: `FLBASE' redefined
> > uhci.h:294: warning: this is the location of the previous
definition
> > uhci.c:337: warning: `SOFMOD' redefined
> > uhci.h:295: warning: this is the location of the previous
definition
> > uhci.c:338: warning: `PORTSC1' redefined
> > uhci.h:296: warning: this is the location of the previous
definition
> > uhci.c:339: warning: `PORTSC2' redefined
> > uhci.h:297: warning: this is the location of the previous
definition
> > uhci.c: In function `ctrl_msg':
> > uhci.c:776: warning: assignment makes pointer from integer without
a
> > cast
> > uhci.c: In function `hub_port_reset':
> > uhci.c:1193: warning: passing arg 1 of `dump_hex' from
incompatible
> > pointer type
> > uhci.c: In function `usb_hub_init':
> > uhci.c:1272: warning: assignment makes pointer from integer
without a
> > cast
> > uhci.c: In function `configure_device':
> > uhci.c:1383: warning: passing arg 1 of `dump_config_descriptor'
from
> > incompatible pointer type
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o usb_scsi_low.o usb_scsi_low.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o debug.o debug.c
> > In file included from debug.c:31:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o scsi_cmds.o scsi_cmds.c
> > In file included from scsi_cmds.c:26:
> > /usr/include/sys/types.h:152: warning: redefinition of `ushort'
> > uhci.h:13: warning: `ushort' previously declared here
> > scsi_cmds.c: In function `ll_read_block':
> > scsi_cmds.c:258: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `ll_write_block':
> > scsi_cmds.c:280: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `ll_read_long':
> > scsi_cmds.c:311: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `get_capacity':
> > scsi_cmds.c:328: warning: passing arg 5 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `query':
> > scsi_cmds.c:349: warning: passing arg 5 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `ReportLUNS':
> > scsi_cmds.c:372: warning: passing arg 5 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `ReportOpCodes':
> > scsi_cmds.c:423: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c:423: warning: passing arg 5 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `CheckVolumes':
> > scsi_cmds.c:469: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `CheckPartitions':
> > scsi_cmds.c:494: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > scsi_cmds.c: In function `UnitReady':
> > scsi_cmds.c:514: warning: passing arg 2 of `scsi_command' from
> > incompatible pointer type
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o pci_util.o pci_util.c
> > /opt/gcc-2.95.3/bin/gcc -I ../include -I ../include/i386 -O2
-DDEBUG
> > -DZKERNEL_START=0xfff00000   -c -o block_fill_inbuf.o
> > block_fill_inbuf.c
> > In file included from block_fill_inbuf.c:8:
> > ../include/string.h:9: warning: conflicting types for built-in
> > function `strcpy'
> > make: *** No rule to make target `../lib/baremetal.a', needed by
> > `usbboot.elf'.  Stop.
> > root at who5:/usr/src/lobos/freebios/util/baremetal/usb# exit
> > Script done on Mon May 10 14:49:10 2004
> >
> > Again I expect that by instructing the make file to use the
include
> > files supplied by GCC 2.95.3, that most of the errors will be
gone,
> > but I'm listing those for reference.
> > -------------------
> > Gregg C Levine hansolofalcon at worldnet.att.net
> > ------------------------------------------------------------
> > "The Force will be with you...Always." Obi-Wan Kenobi
> > "Use the Force, Luke."  Obi-Wan Kenobi
> >
> >
> > _______________________________________________
> > Linuxbios mailing list
> > Linuxbios at clustermatic.org
> > http://www.clustermatic.org/mailman/listinfo/linuxbios
> >
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at clustermatic.org
> http://www.clustermatic.org/mailman/listinfo/linuxbios




More information about the coreboot mailing list