switch-coreboot/HOWTO/L440GX
Ronald G. Minnich 9c4b56149b howto for L440GX
2000-12-31 20:17:03 +00:00

204 lines
6.9 KiB
Text

This file contains instructions for the Intel L440GX+ based mainboards.
NOTE: this is an untested version, which we will test the week of 1/8/2000.
Unfortunately, there is a step in this HOWTO that could be hazardous to your
mainboard. If you screw up, you'll end up with a brick. Fortunately it is
hard to do this step wrong, but you never know.
Because of these hazards, you must take full responsibility if you
decide to install LinuxBIOS following these procedures. Neither Los
Alamos National Labs nor any lab personnel can be held responsible for
any adverse consequences of your attempt to follow these procedures.
WARNING: There is NO WARRANTY, express or implied, with this
software. In fact, if you don't know what you're doing, and you get
careless, you're going to end up with a nice paperweight instead of a
motherboard, an emergency room bill, or a funeral service.
YOU HAVE BEEN WARNED.
Now that we're done with the mandatory US legal jargon
(how I hate lawyers ...)
The mainboards that are "known good" are:
L440GX+
Vendors we have experience with that work:
www.valinux.com, with their va2200 systems
Linux distribution: RedHat 6.2 or later. We haven't tried anything else.
They may all work fine.
Other software notes: You MUST have 'as' version 2.9.5 or later.
You MUST have ssh to connect to sourceforge
You MUST have the phlash disk from Intel for your
mainboard
You need to have a target machine (the machine that runs LinuxBIOS)
and a build machine (which will let you build LinuxBIOS). These can be
one and the same machine. In this HOWTO we assume they're the same.
We nevertheless refer to a 'build' machine and 'target' machine in case you
want to use a different machine.
Also, freebios and linuxbios still share the same source tree. We use the
name 'linuxbios' where it makes sense, and 'freebios' otherwise. But they
are the same source base.
----
NOTE: these steps are tested up to step 3, and work.
The steps for loading linuxbios are simple:
0) get linux installed on your target machine
1) Get Linuxbios source from the sourceforge
2) get a 2.4.0-test12 kernel, patch it, then build it
3) Get the phlash utilities for your mainboard from developer.intel.com
4) config and build linuxbios
5) build the floppy with the new flash images, boot the floppy, and flash
the memory using the utility
6) hit reset. You're up.
---
Step 0)
Get Linux installed on your target machine. We have used
RedHat 6.2, but any recent Linux distribution should work, such
as Mandrake 7.0.
Step 1)
o You need to get linuxbios source.
cd to the directory you want the source tree to be.
Then:
export CVS_RSH=ssh (or in tcsh setenv CVS_RSH ssh)
cvs -d:pserver:anonymous@cvs.freebios.sourceforge.net:/cvsroot/freebios login
(at the password prompt, just hit <return>)
cvs -z3 -d:pserver:anonymous@cvs.freebios.sourceforge.net:/cvsroot/freebios co freebios
Step 2)
o go to www.kernel.org and get linux-2.4.0-test12
o Once you have pulled this file down and untar'ed it,
apply the proper patch from the freebios/src/kernel_patches
directory. The patch is:
linux-2.4.0-test12-l440gx.patch
o Now copy config-2.4.0-test12.l440gx to .config, then
make oldconfig
make clean
make dep
make vmlinux
make modules
make modules_install
make bzdisk (You should test boot this floppy disk just to be safe)
You now have a kernel for linuxbios.
And then try booting this kernel on the target to make sure it works.
Step 3) Get the phlash utilities from developer.intel.com for your mainboard
Build a floppy image with the utilites. Make a directory
(e.g. ~/phlash) and copy all the floppy files into it.
Step 4:
o You now need to figure out where you want to put your build images.
DO NOT PUT THESE IN THE LINUXBIOS SOURCE TREE.
You want to put them OUTSIDE THE TREE, so you can always
cvs update
and not lose any of your build directory.
Linuxbios does all the builds in a single directory, much as BSD does.
To build linuxbios requires a Makefile, a crt0.S file, and a ld script
file. These are generated by a config tool located in
freebios/utils/config
The config tool is a Python program originally written by
Dean Risinger of the ACL.
To build the initial Makefile, assembly stub, and ld script,
you need to build a config file (simple), run the config tool,
cd to the build directory, and type 'make'.
Here is a config file for the winfast 6300
# This will make a target directory of ./winfast
# Note that this is RELATIVE TO WHERE YOU ARE WHEN YOU RUN THE
# CONFIG TOOL. Make it absolute if you like
target l440gx
mainboard intel/l440gx
# Enable Serial Console for debugging
# It will come up at 115200,8n1
option SERIAL_CONSOLE
# Enable MicroCode update and L2 Cache init for PII and PIII
option UPDATE_MICROCODE
option CONFIGURE_L2_CACHE
# Use the internal VGA frame buffer device
option HAVE_FRAMEBUFFER
# Path to your kernel (vmlinux)
# NOTE; you need a path to your test12 kernel here.
linux /usr/src/linux-2.4.0-test12
# Kernel command line parameters
commandline root=/dev/hda1
The target command names the build directory. The mainboard command
names the mainboard. We have set options for a serial console which
will get you linuxbios debug output via the serial port; updating
microcode on the PIII (mandatory for coppermine!); configuring the
L2 cache (harmless, leave it in); framebuffer init (leave it in
if you want a console). You have to tell it where to find the vmlinux
you build (the 'linux' command); and finally you need a commandline
for now.
That's the file.
To run the config tool, you need two args: the first is the
name of a config file, and the second is the (absolute) pathname
of the freebios source tree.
The config tool is NLBConfig.py. Make sure you use that and not
LBConfig.py, the older version.
Here's what it looks like when you run it.
python ~/src/freebois/util/config/NLBConfig.py winfast.config ~/src/freebios
l440gx is not a directory.
I know I should make this, but I'm too paranoid
To fix this, type
mkdir -p l440gx
then run this program again
Note this first time, we got an error, since I forgot to make
the 'target' directory.
So, for the second run, I do the mkdir, then run the tool:
mkdir -p winfast
python LBConfig.py winfast.config ~/src/bios/freebios
Now we do a make:
cd l440gx
make
make phlash
You now have 10 or so files in /tmp, named things like
/tmp/p11-xyz-.bio
and so on, which you will at some point copy to your
phlash disk
Step 5)
With the intel phlash floppy in the drive, type
mcopy /tmp/p11* a:
Boot the floppy, and run the flash update program that is on the
floppy
Step 6) Hit reset. Linuxbios should come up in a few seconds.
If it doesn't work:
1) if you can, hook up a serial line to your target, settings 115200,8n1
and see what messages come out. If you can capture them, send them
to linuxbios@lanl.gov with a description of your problem.