[coreboot] Problems with VIA EPIA-ME6000

Klaus Stammermann klaus123 at ibnoetzold.de
Wed Mar 5 10:33:34 CET 2008


> On Tue, Mar 04, 2008 at 05:10:40PM +0100, Klaus Stammermann wrote:
>> Here the diff:
>> -----------------------------------------------------------------------------------------------------------------------------------
>> Index: src/mainboard/via/epia-m/Options.lb
>> ===================================================================
>> --- src/mainboard/via/epia-m/Options.lb	(Revision 3086)
>> +++ src/mainboard/via/epia-m/Options.lb	(Arbeitskopie)
>> @@ -51,8 +51,8 @@
>>  ###
>>  ### Build options
>>  ###
>> -default CONFIG_PCI_ROM_RUN=0
>> -default CONFIG_CONSOLE_VGA=0
>> +default CONFIG_PCI_ROM_RUN=1
>> +default CONFIG_CONSOLE_VGA=1
>
> Looks ok.
>
>>  ##
>>  ## Build code for the fallback boot
>> Index: targets/via/epia-m/Config.lb
>> ===================================================================
>> --- targets/via/epia-m/Config.lb	(Revision 3086)
>> +++ targets/via/epia-m/Config.lb	(Arbeitskopie)
>> @@ -7,21 +7,21 @@
>>  option  DEFAULT_CONSOLE_LOGLEVEL=8
>>  option  CONFIG_CONSOLE_SERIAL8250=1
>>
>> -option ROM_SIZE=256*1024
>> +option ROM_SIZE=(256*1024)-(64*1024)
>
> OK, assuming you have a 256KB ROM chip and your VGA BIOS is 64KB.
>

I have 256KB ROM and I got some VGA BIOS. One of them is exactly 64KB but
that one out of script is smaller (see below).

>>  option HAVE_OPTION_TABLE=1
>>  option CONFIG_ROM_PAYLOAD=1
>>  option HAVE_FALLBACK_BOOT=1
>>  #option CONFIG_COMPRESSED_PAYLOAD_NRV2B=1
>> -option CONFIG_COMPRESSED_PAYLOAD_NRV2B=0
>> +#option CONFIG_COMPRESSED_PAYLOAD_NRV2B=0
>
> Why?
>
>
>>  ### Compute the location and size of where this firmware image
>>  ### (coreboot plus bootloader) will live in the boot rom chip.
>>  ###
>> -option FALLBACK_SIZE=131072
>> +option FALLBACK_SIZE=(96*1024)
>
> Not sure about this. I'd rather not change it unless really necessary
> (it isn't in this case, I think).
>
>
>>  ## Coreboot C code runs at this location in RAM
>>  option _RAMBASE=0x00004000
>> @@ -31,18 +31,22 @@
>>  #
>>  romimage "normal"
>>  	option USE_FALLBACK_IMAGE=0
>> -#option ROM_IMAGE_SIZE=128*1024
>> -	option ROM_IMAGE_SIZE=64*1024
>> +#	option ROM_IMAGE_SIZE=(128*1024)-27312
>> +	option ROM_IMAGE_SIZE=(96*1024)-27312
>
> This is wrong.
>
> ROM_IMAGE_SIZE is the maximum size the coreboot code can use (without
> payload, without VGA ROM, etc).
>
> Something like 64*1024 is usually ok.
>
>

OK, I will look at that. I got these options out of Config.vga.filo.

>> +#	option ROM_IMAGE_SIZE=0xc000
>> +#	option ROM_SECTION_OFFSET=0x10000
>> +#	option ROM_SECTION_SIZE=0x18000
>>  	option COREBOOT_EXTRA_VERSION=".0-Normal"
>> -	payload $(HOME)/svn/payload.elf
>> +	payload $(HOME)/Entwicklung/LinuxBIOS/VIA-BIOS/filo.small.elf
>
> Never used $(HOME) here, but I assume it works? If not, try
> /tmp/filo.elf and copy your payload there.
>
>

I don't think I got problems with this but I can try an absolute path.

>>  end
>>
>>  romimage "fallback"
>>  	option USE_FALLBACK_IMAGE=1
>> -	#option ROM_IMAGE_SIZE=128*1024
>> -	option ROM_IMAGE_SIZE=60*1024
>> +#	option ROM_IMAGE_SIZE=(128*1024)-27312
>> +	option ROM_IMAGE_SIZE=(96*1024)-27312
>
> Also wrong, see above.
>
>
>> +#	option ROM_IMAGE_SIZE=0xc000
>>  	option COREBOOT_EXTRA_VERSION=".0-Fallback"
>> -	payload $(HOME)/svn/payload.elf
>> +	payload $(HOME)/Entwicklung/LinuxBIOS/VIA-BIOS/filo.small.elf
>>  end
>>
>>  buildrom ./coreboot.rom ROM_SIZE "normal" "fallback"
>> -----------------------------------------------------------------------------------------------------------------------------------
>
>
>> In an earlier version I changed Config.lb in src dir to get VGA BIOS.
>> But now
>> it isn't included. If it is important, I could post it later.
>
> Plese post it.

On monday I'll send it to mailinglist.

>
> But the above patch comes from an 'svn diff' at the top-level directory,
> correct? I.e. all your current changes are in there?
>

Yes, these are actual all changes on top-level dir of corebott sandbox.

>> > Also, where did you get your VGA ROM from? Using which tools
>> (awardeco,
>> > amideco, phnxdeco, other)? How big is it exactly?
>> >
>> On http://www.coreboot.org/VGA_support at bottom there is a perl script.
>> Using
>> this I got my VGABIOS. This is 60416 bytes big
>
> OK. Which vendor BIOS does the board have? Can you use
> awardeco/amideco/phnxdeco to get the VGA BIOS and compare it with the
> one from the script? Just to be sure that worked fine...
>

I'll try this on monday. I don't know, what vendor BIOS was in ROM. I used
the original BIOS got from VIA.

>> (optionsrom is 57344 bytes which I used at last).
>
> Huh, what's that? Where from?
>

Look at post of Stefan Reinauer
(http://www.coreboot.org/pipermail/coreboot/2008-March/031664.html)

>> filo.small.elf is 27312 bytes big. So don't wonder what number this is.
>
> Are you sure this is ok? The smallest usable FILO I've used so far is
> ca. 57 KB. Your 27 KB FILO looks _very_ small.
>
> Also, please use the latest version from
>
>  % svn co svn://coreboot.org/filo/trunk/filo-0.5
>
> Type 'make' (that will generate a Config file), then edit Config, then
> type make again.
>
>
> Uwe.
> --
> http://www.hermann-uwe.de  | http://www.holsham-traders.de
> http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
>

I'm not sure if payload is ok. But at first I used a bigger one and the
errors where same. So I removed all I think I'll not need. How can I test
payload?

But if your smallest payload is 57KB and I will use normal and fallback
and a VGA BIOS I get space problems. About 64KB for VGA and 2 payloads
about 57KB are 178KB. Is 78KB for normal and fallback not too small?

I will update my filo and look at that config. Maybe there is some special
on my config (e.g. I only need ext2, so all other are deactivated).

Klaus




More information about the coreboot mailing list