[coreboot] First coreboot build for Tyan s2895 K8WE mobo with seabios payload, computer starts, but graphical ubuntu 64bits is crashing
STEMMELIN, FREDERIC (FREDERIC)** CTR **
frederic.stemmelin at alcatel-lucent.com
Thu Sep 16 22:18:32 CEST 2010
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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the coreboot