Hello,

this was my first try to build a coreboot bios ever, for my tyan s2895 mobo.
I get managed to build and burn the bios into a RD1 512KB bios savior chip.
The computer is booting, and then crashing on Ubuntu logo (10.04 64bits 
version), so far so nice.

Here is what i have done:

My rom build computer is installed with Ubuntu 10.04 64bits version, with 
build-essential and some other packages (flex bison git-core g++ gdb 
libncurses5-dev doxygen iasl build-essential lzma-dev liblzma-dev)
I downloaded latest available verszion of payload seabios, with command "git 
clone git://git.linuxtogo.org/home/kevin/seabios.git seabios".
Then i have adapted the config.h file as follow:

#define CONFIG_COREBOOT 1
#define CONFIG_DEBUG_SERIAL 1
#define CONFIG_VGAHOOKS 1

The make command has build the file => out/bios.bin.elf 1048716 bytes

Now i downloaded latest coreboot files, with a "svn co 
svn://coreboot.org/coreboot/trunk coreboot"
But, on first "make", i run into troubles:

build/coreboot_ram.o: In function `__wrap___umoddi3':
(.text+0x1223f): undefined reference to `__umoddi3'
build/coreboot_ram.o: In function `__wrap___moddi3':
(.text+0x1224a): undefined reference to `__moddi3'
build/coreboot_ram.o: In function `__wrap___udivdi3':
(.text+0x12255): undefined reference to `__udivdi3'
build/coreboot_ram.o: In function `__wrap___divdi3':
(.text+0x12260): undefined reference to `__divdi3'
collect2: ld returned 1 exit status
make: *** [build/coreboot_ram] Erreur 1

Then i find out (in some mailing list archive) that there is a integrated 
compiling toolchain in the coreboot files, under "coreboot/util/crossgcc".
The command "./buildgcc" was succesfull even if it tooks some time, enought to 
drink a coffee.

On second "make" try, same compile errors. After some researches i find out 
that i need to do a "rm -rf build" and a new "make menuconfig", but it didnt 
solved my problem, same compilation errors :(
I finnaly found out that i need to also delete the .xcompile file.
So after the "rm -rf build", "rm .config", "rm .xcompile" and finally a "make 
menuconfig", the "make" was working (i am not a programmer), yes.

I burned the coreboot.rom into the RD1 chip, and restared the computer. I then 
saw briefly a message about pressing F12 for some configuration.
After some other quick messages, which i coulnd read, i saw Ubuntu starting and 
then crashing on the graphical logo. This is not really a problem so far, as i 
was able to switch back to the original bios to get computer up and running.


Now i have a 3 questions for you:

Is the coreboot.rom 32bits only and is there any advantage to build a 64bits 
version of the coreboot bios, as i intend to run a 64bits OS ?
I build the seabios with Ubuntu gcc 64bits version, it is compatible, can i mix 
it, with the coreboot.rom build with i386-elf coreboot toolchain ?
The build seabios (bios.bin.elf) is about 1MB in size, how it is possible to 
put it into a smaller 512KB chip inside coreboot.rom ?

I didnt put VGA bios so far into the coreboot.rom.

In my opinion, it would be a good idea to mention, somewhere in the build 
howto, that there is a integrated toolchain in coreboot, and may be also 
mention not to forget to delete the .xcompile file after the toolchain was 
built.

What are your advice for the next steps ? Put VGA bios into coreboot.rom, 
change Ubuntu default start to non-graphical one ?
I have attached the .config file for coreboot (btw i used lzma compression for 
payload).

Thank you very much, i really appreciate your help.
Frédéric Stemmelin
#
# Automatically generated make config: don't edit
# coreboot version: 4.0
# Thu Sep 16 21:04:09 2010
#

#
# General setup
#
# CONFIG_EXPERT is not set
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
# CONFIG_SCANBUILD_ENABLE is not set
# CONFIG_CCACHE is not set
# CONFIG_USE_OPTION_TABLE is not set

#
# Mainboard
#
# CONFIG_VENDOR_ABIT is not set
# CONFIG_VENDOR_ADVANTECH is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_ARIMA is not set
# CONFIG_VENDOR_ARTEC_GROUP is not set
# CONFIG_VENDOR_ASI is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_A_TREND is not set
# CONFIG_VENDOR_AXUS is not set
# CONFIG_VENDOR_AZZA is not set
# CONFIG_VENDOR_BCOM is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BROADCOM is not set
# CONFIG_VENDOR_COMPAQ is not set
# CONFIG_VENDOR_DELL is not set
# CONFIG_VENDOR_DIGITAL_LOGIC is not set
# CONFIG_VENDOR_EAGLELION is not set
# CONFIG_VENDOR_ECS is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_IBM is not set
# CONFIG_VENDOR_IEI is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_IWILL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LANNER is not set
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MITAC is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_NEC is not set
# CONFIG_VENDOR_NEWISYS is not set
# CONFIG_VENDOR_NOKIA is not set
# CONFIG_VENDOR_NVIDIA is not set
# CONFIG_VENDOR_OLPC is not set
# CONFIG_VENDOR_PC_ENGINES is not set
# CONFIG_VENDOR_RCA is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SOYO is not set
# CONFIG_VENDOR_SUNW is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_TECHNEXION is not set
# CONFIG_VENDOR_TECHNOLOGIC is not set
# CONFIG_VENDOR_TELEVIDEO is not set
# CONFIG_VENDOR_THOMSON is not set
# CONFIG_VENDOR_TRAVERSE is not set
CONFIG_VENDOR_TYAN=y
# CONFIG_VENDOR_VIA is not set
# CONFIG_VENDOR_WINENT is not set
# CONFIG_VENDOR_WYSE is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="tyan/s2895"
CONFIG_MAINBOARD_PART_NUMBER="S2895"
CONFIG_IRQ_SLOT_COUNT=11
CONFIG_MAINBOARD_VENDOR="Tyan"
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_DCACHE_RAM_BASE=0xc8000
CONFIG_DCACHE_RAM_SIZE=0x08000
CONFIG_DCACHE_RAM_GLOBAL_VAR_SIZE=0x01000
CONFIG_APIC_ID_OFFSET=0x10
CONFIG_HW_MEM_HOLE_SIZEK=0x100000
CONFIG_MAX_CPUS=4
CONFIG_MAX_PHYSICAL_CPUS=2
# CONFIG_HW_MEM_HOLE_SIZE_AUTO_INC is not set
CONFIG_SB_HT_CHAIN_ON_BUS0=2
CONFIG_HT_CHAIN_END_UNITID_BASE=0x20
CONFIG_HT_CHAIN_UNITID_BASE=0
CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x10f1
CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0x2895
CONFIG_MEM_TRAIN_SEQ=0
CONFIG_RAMTOP=0x200000
CONFIG_HEAP_SIZE=0x4000
CONFIG_ACPI_SSDTX_NUM=0
CONFIG_RAMBASE=0x100000
CONFIG_SERIAL_CPU_INIT=y
CONFIG_ID_SECTION_OFFSET=0x80
# CONFIG_BOARD_EMULATION_QEMU_X86 is not set
# CONFIG_PCI_64BIT_PREF_MEM is not set
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_LOGICAL_CPUS=y
CONFIG_IOAPIC=y
CONFIG_SMP=y
CONFIG_STACK_SIZE=0x8000
CONFIG_TTYS0_BAUD=115200
CONFIG_TTYS0_BASE=0x3f8
CONFIG_TTYS0_LCS=3
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_MAXIMUM_CONSOLE_LOGLEVEL=8
CONFIG_CONSOLE_SERIAL8250=y
# CONFIG_CONSOLE_VGA is not set
CONFIG_PCI_ROM_RUN=y
# CONFIG_USBDEBUG is not set
CONFIG_VAR_MTRR_HOLE=y
# CONFIG_LIFT_BSP_APIC_ID is not set
# CONFIG_WAIT_BEFORE_CPUS_INIT is not set
# CONFIG_K8_REV_F_SUPPORT is not set
# CONFIG_BOARD_TYAN_S1846 is not set
# CONFIG_BOARD_TYAN_S2735 is not set
# CONFIG_BOARD_TYAN_S2850 is not set
# CONFIG_BOARD_TYAN_S2875 is not set
# CONFIG_BOARD_TYAN_S2880 is not set
# CONFIG_BOARD_TYAN_S2881 is not set
# CONFIG_BOARD_TYAN_S2882 is not set
# CONFIG_BOARD_TYAN_S2885 is not set
# CONFIG_BOARD_TYAN_S2891 is not set
# CONFIG_BOARD_TYAN_S2892 is not set
CONFIG_BOARD_TYAN_S2895=y
# CONFIG_BOARD_TYAN_S2912 is not set
# CONFIG_BOARD_TYAN_S2912_FAM10 is not set
# CONFIG_BOARD_TYAN_S4880 is not set
# CONFIG_BOARD_TYAN_S4882 is not set
CONFIG_BOARD_ROMSIZE_KB_1024=y
# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
CONFIG_COREBOOT_ROMSIZE_KB_512=y
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
CONFIG_COREBOOT_ROMSIZE_KB=512
CONFIG_ROM_SIZE=0x80000
CONFIG_ARCH_X86=y
# CONFIG_AP_IN_SIPI_WAIT is not set
CONFIG_ARCH="i386"
CONFIG_ROMBASE=0xffff0000
CONFIG_ROM_IMAGE_SIZE=0x10000
CONFIG_MAX_REBOOT_CNT=3
# CONFIG_TINY_BOOTBLOCK is not set
CONFIG_BIG_BOOTBLOCK=y
# CONFIG_BOOTBLOCK_SIMPLE is not set
# CONFIG_BOOTBLOCK_NORMAL is not set
# CONFIG_ROMCC is not set

#
# Chipset
#

#
# CPU
#
CONFIG_CPU_SOCKET_TYPE=0x0
CONFIG_DIMM_SUPPORT=0x108
CONFIG_CPU_AMD_SOCKET_940=y
CONFIG_XIP_ROM_BASE=0xffff0000
CONFIG_XIP_ROM_SIZE=0x10000
CONFIG_CPU_AMD_MODEL_FXX=y
CONFIG_CPU_ADDR_BITS=40
# CONFIG_UDELAY_IO is not set
CONFIG_SSE2=y
# CONFIG_UDELAY_LAPIC is not set
# CONFIG_UDELAY_TSC is not set
# CONFIG_TSC_CALIBRATE_WITH_IO is not set
CONFIG_CACHE_AS_RAM=y
CONFIG_MMX=y
CONFIG_SSE=y

#
# Northbridge
#
CONFIG_NORTHBRIDGE_AMD_AMDK8=y
CONFIG_AGP_APERTURE_SIZE=0x4000000
CONFIG_K8_HT_FREQ_1G_SUPPORT=y
# CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY is not set
CONFIG_NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX=y
CONFIG_VIDEO_MB=0

#
# Southbridge
#
CONFIG_SOUTHBRIDGE_AMD_AMD8131=y
CONFIG_SOUTHBRIDGE_NVIDIA_CK804=y

#
# Super I/O
#
CONFIG_SUPERIO_SMSC_LPC47B397=y

#
# Devices
#
CONFIG_VGA_BRIDGE_SETUP=y
CONFIG_VGA_ROM_RUN=y
CONFIG_PCI_OPTION_ROM_RUN_REALMODE=y
# CONFIG_PCI_OPTION_ROM_RUN_YABEL is not set
# CONFIG_CONSOLE_VGA_MULTI is not set
CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_AGP_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y

#
# Generic Drivers
#
# CONFIG_DRIVERS_SIL_3114 is not set
CONFIG_PCI_BUS_SEGN_BITS=0
# CONFIG_MMCONF_SUPPORT_DEFAULT is not set
# CONFIG_MMCONF_SUPPORT is not set

#
# Console options
#
CONFIG_CONSOLE_SERIAL_COM1=y
# CONFIG_CONSOLE_SERIAL_COM2 is not set
# CONFIG_CONSOLE_SERIAL_COM3 is not set
# CONFIG_CONSOLE_SERIAL_COM4 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
# CONFIG_CONSOLE_VGA_ONBOARD_AT_FIRST is not set
# CONFIG_CONSOLE_NE2K is not set
CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_8=y
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_0 is not set
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
# CONFIG_CONSOLE_BTEXT is not set
# CONFIG_CONSOLE_SROM is not set
# CONFIG_CONSOLE_LOGBUF is not set
# CONFIG_NO_POST is not set
# CONFIG_SERIAL_POST is not set
# CONFIG_HAVE_ACPI_RESUME is not set
# CONFIG_HAVE_ACPI_SLIC is not set
CONFIG_HAVE_HARD_RESET=y
CONFIG_HAVE_INIT_TIMER=y
# CONFIG_HAVE_MAINBOARD_RESOURCES is not set
CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PIRQ_ROUTE is not set
# CONFIG_HAVE_SMI_HANDLER is not set
# CONFIG_PCI_IO_CFG_EXT is not set
# CONFIG_USE_WATCHDOG_ON_BOOT is not set
# CONFIG_VGA is not set
# CONFIG_GFXUMA is not set
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_HAVE_MP_TABLE=y
CONFIG_HAVE_PIRQ_TABLE=y
CONFIG_GENERATE_ACPI_TABLES=y
CONFIG_GENERATE_MP_TABLE=y

#
# System tables
#
CONFIG_WRITE_HIGH_TABLES=y
CONFIG_MULTIBOOT=y

#
# Payload
#
# CONFIG_PAYLOAD_NONE is not set
CONFIG_PAYLOAD_ELF=y
CONFIG_FALLBACK_PAYLOAD_FILE="/root/seabios/out/bios.bin.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
# CONFIG_COMPRESSED_PAYLOAD_NRV2B is not set

#
# VGA BIOS
#
# CONFIG_VGA_BIOS is not set

#
# Debugging
#
CONFIG_GDB_STUB=y
CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set
# CONFIG_DEBUG_PIRQ is not set
CONFIG_HAVE_DEBUG_SMBUS=y
# CONFIG_DEBUG_SMBUS is not set
# CONFIG_REALMODE_DEBUG is not set
# CONFIG_LLSHELL is not set
# CONFIG_AP_CODE_IN_CAR is not set
# CONFIG_ENABLE_APIC_EXT_ID is not set
# CONFIG_BOARD_HAS_HARD_RESET is not set
# CONFIG_BOARD_HAS_FADT is not set
CONFIG_HAVE_BUS_CONFIG=y
CONFIG_DRIVERS_PS2_KEYBOARD=y

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to