mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
howto for L440GX
This commit is contained in:
parent
2d208cd5c6
commit
9c4b56149b
1 changed files with 204 additions and 0 deletions
204
HOWTO/L440GX
Normal file
204
HOWTO/L440GX
Normal file
|
@ -0,0 +1,204 @@
|
|||
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.
|
||||
|
Loading…
Add table
Reference in a new issue