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@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@clustermatic.org [mailto:linuxbios- admin@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
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@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@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@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@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@worldnet.att.net
"The Force will be with you...Always." Obi-Wan Kenobi "Use the Force, Luke." Obi-Wan Kenobi
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios