I'am looking for a while to set a new options in Config.lb to test
my V2 VGABIOS code : i need VGABIOS_START options and ZKERNEL
START also, theses are deprecated in V2. Is the config python script
openned to user's new entries ?
I've read in Stefan Reinauer's AMD 64 port guide in Command definitions
section from Language that he declares option A=(1+2) or option B=0xa.
Why not... but in this case wouldn't the script complains while using
a undeclared option ? Further in, if declared it'll complained it is
a unexistant option ... so how could I add my option entry in the
config dictionnary without making any DIY fixup nor breaking rules of
BTW i know this question may be senstive (but sensible:) couldn't
it be possible that the config.py dictionnary be external
and no longer err.. BTW where is it holds exactly ?!?
I mean to be able to see in a external file (i let external to
config.py) commands and codes it triggers (commands and available
options). Then this file could be parse by config.py. IHMO, add a
options would be far easier :)
Disclaimer: I too am a N00B and these are my observations thus far.
They may not be 100% correct, but these things have worked for me. I
hope that they'll help other N00Bz get started.
WHAT IS FREEBIOS2?
Well I stumbled upon freebios2 when I couldn't find support in the
freebios tree for my Tyan s2885. Then I noticed under the CVSWeb
browser for the project the freebios2 directory.
Apparently, this is what will be LinuxBIOS V2. They've done away with
kernel patches, so you don't need to worry about patching the kernel
like in V1. Instead there is an intermediary payload that can be
Etherboot, FILO, or some other loader to get your Linux kernel into
WHY CAN'T I GET THE SOURCES FROM SOURCEFORGE (ANYMORE)?
If you're like me, all of a sudden CVS access stopped working. Well,
they changed the BIND implementation, so the documentation is out of
date. You need to use, "cvs
There is still no password for anonymous login.
WHERE DO I START?
Build the documentation under freebios2/documentation. It will give you
a solid overview of how the project works, including how to download the
source you just downloaded. ;-)
Freebios2 supports a number of newer boards. Tyan are particularly
well-supported and the EPIA boards are actively being worked on. Look
under, "freebios2/targets..." for the collection.
HOW DO I BUILD FREEBIOS2?
Once you've selected a vendor and mainboard you should execute,
"./buildtarget <vendor>/<board>". This will generate all sources
specific to your mainboard. To make a rom image, start your make in the
freebios2/targets/<vendor>/<board>/<board> directory. If all goes
smoothly you should get a linuxbios.rom image.
HOW DO I FLASH A ROM?
There are a number of methods and I'm not versed enough to cover them
all. But I have successfully used the BIOS flash utility from AMI, and
I currently use a professional Data I/O burner. I spent a lot of time
trying to figure out the proper format to use on my burner. There is no
format; it's just a straight binary image, so use binary mode (on the
Data I/O it's "absolute binary (16)").
There is also a flash-n-burn utility in the source tree. Perhaps
someone on the list can add the specifics of how to get that going on
HOW DO I CHANGE CONFIGURATION OF MY IMAGE?
First take a look at freebios2/targets/<vendor>/<board>/Config.lb. This
is the main configuration file for your ROM image. This is where you
specify what payload to use, and most of the settings that anyone would
care about. Make sure to do a "./buildtarget <vendor>/<board>" whenever
you modify this file.
However, in my case I was running into issues running my dual-processor
board with only one processor. As it turns out there is another
Config.lb located in freebios2/src/mainboard/<vendor>/<board>. This
file controls the contents of some of the generated sources for your
board. To date, this is the only way I was able to prevent my ROM image
from trying to initialize a CPU that wasn't there.
WHY DON'T I SEE ANYTHING HAPPENING?
In most cases the VGA support just isn't there yet. So go find yourself
a null modem cable and hook up your console at 15200-8-N-1, and sit back
and watch the fireworks!
WHAT ABOUT PAYLOADS?
I'm currently exploring this area. The first payload I used
successfully was FILO. No you don't make pastry with it. It is a
bootloader that acts much like LILO. You can get the source here:
If you have an IDE disk with a Linux kernel on it, this is the way to
If you're diskless then you may want to try Etherboot:
http://etherboot.sourceforge.net. This payload gives you the ability to
load over the network, but requires you to configure a DHCP server and
TFTP server at a minimum.
Like LinuxBIOS, Etherboot expects an ELF formatted image, so if you're
loading a kernel across the network you need to run it through
mkelfImage. As of now the correct version to use is 2.5. You can get
the latest sources here:
WHAT ABOUT ZELF?
This is my latest N00B stumbling block, and unfortunately I haven't
found an answer. I know that it's a compressed elf format, but I can't
figure out what I need to do to get elfboot (part of LinuxBIOS) to load
payloads with the ZELF extension. So for now I would recommend N00Bz
stick with ELF format, until we get a definitive answer.
Hope this is helpful, good luck!
Actuality Systems, Inc.
--- Mathieu Deschamps <mdeschamps(a)mangrove-systems.com> wrote:
>Here's what i've found for low level programmers :]
>It's a doc on PCAT BIOS, detailling every interruptions
>and their values .This is just fine a trusted adress
>but it's all in french.
>If you're looking for these type of infos
>go and have a look : http://www.qsl.net/f6flv
Is there an english version of this
Gratis e-postadress ---> http://www.mailamig.nu
Hi! Linuxbios is working prety well now on my Epia mII 10k, but a few
1. I can't get VGA to work. I've extracted it from a original-bios booted
dd if=/proc/kcore of=video.bios.bin bs=1 count=65536 skip=790528
and then appended it to my filo payload like the HOWTO says I've to do,
and modified the config file with all the options in EPIA howto, but
nothing shows up on my monitor (tft screen, has it something to do with?)
2. If I boot up my mobo without the PCMCIA/CF module on, it boots properly
but, if I put it on and try to boot, linux bios does somethings and then
reboot, forever. any known bug about this?
> b8? Anybody know what that one is?
The vgabios itself has a bug in it. The b8 is an invalid INT # and
what has happened is the vgabios code itself has crashed and is executing
randomly. On the EPIA-M I had seen this problem on certain units where if
the motherboard got too hot (but not really that hot) and you reboot, it
would just sit there beeping forever with its onboard noisemaker. This was
with the stock AWARD bios. The problem would go away if I set up a fan to
blow on the motherboard and cool it down.
Under linuxbios the problem would manifest itself where during the vgabios
init code you'd get into an endless loop of invalid INT callbacks. So it
would stop the system from booting.
My "fix" was to only allow certain INT's in the callback and so if an
invalid one happens, we just abort out of the VGA init code. This worked fine
for our purposes, the vgabios had been able to init the hardware enough to
get the system working, and life could go on. Note also when this endless
INT callback thingy happened in linuxbios, if I blasted the fan on the
motherboard to cool it down, that would fix the problem.
I really don't know how a bug in the vgabios could manifest itself only on
certain motherboards and only when they get hot. But it's not impossible.
Note these int21 handler code was required for getting the vgabios working
on the EPIA-M. Whether the thing is a case statement or a table is
irrelevant, the case statement approach allows for endless customization.
The point is the int21 callbacks must be implemented. That's how a black
box like the vgabios can be delivered to VIA without source, yet VIA can
integrate it into their AWARD bios. The INT 21 callbacks like 4F01 are for
the vgabios to query the system to find out how much video ram has been
reserved for the display (I default to 8M), what is the preferred output
device, and other mysterious and poorly documented settings. The documentation
I was going on was the CLE266 BIOS PORTING GUIDE from VIA, an NDA document.
It is cryptic and incomplete (typical). It doesn't cover all of the INT21
callbacks that the vgabios makes use of.
Even if you boot off the AWARD bios, then run the vgabios with the emulator
and make use of the AWARD bios to know what to return for these 4fxx INT21
callbacks, you're still left with the bug in the vgabios itself. I'm satisfied
there is a bug there so I haven't spent any more time trying to improve the
Long story short I don't know why Ignacio Verona's not getting VGA output
on his EPIA-MII. However there is a reason for all the business in linuxbios
with the unsupport int printing + aborting the vgabios execution and the
code in the epia-m tree that handles the callbacks, so don't start thinking
about ripping it out unless you really know what you're doing.
Here's what i've found for low level programmers :]
It's a doc on PCAT BIOS, detailling every interruptions
and their values .This is just fine a trusted adress
but it's all in french.
If you're looking for these type of infos
go and have a look : http://www.qsl.net/f6flv
1. UHCI support: bulk transfer not working.
2. OHCI support: need add code to support ED and TD this week.
发件人: Jay Miller [mailto:email@example.com]
发送时间: 2004年5月17日 8:36
抄送: linuxbios(a)clustermatic.org; pyro(a)linuxlabs.com
主题: Re: USB boot
Has the code for USB support been committed, and if so, where?
Actuality Systems, Inc.