Hello Frederic,
I'm sorry to get a bit "rude" in my answer, but here is what I want to say:
"crashing on Ubuntu logo" Oh, that's really a nice description of what happens. No way to tell you what's the problem with your bios, without a more detailed error output.
And yes you couldn't see a lot on your screen before booting Ubuntu, because coreboot is fast.
My advice as a next step would be: Try to get an error log which is useful. Means, turn off the graphical stuff of Ubuntu, get a serial console, and a decent log of the failing boot process.
Everything else will be a guessing around without a good chance to track the problem.
BTW: That's one of the reasons why I don't like Ubuntu, people don't learn any more how kernel/boot messages look like, how much information is in there and how to interpret those messages. "Crashing Ubuntu logo" - This is as stupid as the new Ubuntu splash screen which indicates a loading bar, but at the end of the bar it starts in the beginning once again. There is not even a chance to guess in which part of booting problems occur. The same bars come around in Windows Vista/7 and iTunes setup and so on. But who whats to have a loading bar which does say exactly nothing? It seems that too much stuff gets just eye candy and showing the user that something is happening without any interesting information.
Oh, once again sorry. But such things have the power to get me upset. ;)
Kind regards, Harald
On Thursday 16 September 2010 22:18:32 STEMMELIN, FREDERIC (FREDERIC)** CTR ** wrote:
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