mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
204 lines
6.9 KiB
Text
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.
|
|
|