mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
770 lines
28 KiB
Text
770 lines
28 KiB
Text
This file contains instructions for the Acer Ali M1535D Southbridge
|
|
and M1631 Northbridge based mainboards.
|
|
|
|
Unfortunately, there is a step in this HOWTO that could be hazardous. The
|
|
hazards include (but are not limited to)
|
|
1) destroying your motherboard
|
|
2) hurting yourself
|
|
3) killing yourself
|
|
|
|
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: we assume you've built kernels, know how to open up your PC,
|
|
and how to yank the flash part out while power is on and put in a
|
|
different part. 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
|
|
|
|
|
|
The mainboards that are "known good" are:
|
|
ASUS CUA Rev 1.03.
|
|
|
|
This board already has a 32-DIP Zero Insertion Force
|
|
(ZIF) socket for the flash part. This makes putting in Disk On Chip much
|
|
easier.
|
|
|
|
Linux distribution: RedHat 7.1 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 need to have a LinuxBIOS 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 'LinuxBIOS' machine in case you
|
|
want to use a different machine. However, since we just use a console
|
|
via the serial port, you need at least two machines if you want to see
|
|
the output once you start LinuxBIOS.
|
|
|
|
CAUTION: We have NOT YET configured the graphics card on the Asus. If your
|
|
LinuxBIOS machine and build machine are the same, you can't see any output
|
|
from LinuxBIOS, unless you can get your hands on a terminal. If this is
|
|
the ONLY computer you have, use EXTREME CAUTION. Do NOT destroy your BIOS
|
|
chip once you remove it from the socket, you will be stuck!
|
|
YOU HAVE BEEN WARNED!
|
|
|
|
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 all the way up to the end, they work.
|
|
|
|
The steps for loading linuxbios are simple:
|
|
0) get linux installed on your LinuxBIOS machine
|
|
1) Get Linuxbios source from the sourceforge
|
|
2) get a 2.4.9 kernel for you LinuxBIOS machine, patch it, then build it
|
|
3) config and build linuxbios
|
|
4) Get the MTD utilities from http://www.linux-mtd.infradead.org/
|
|
and build the 'erase' utility
|
|
5) Configure a new 2.4.9 kernel on your build machine for burning Disk On Chip
|
|
6) put a Disk On Chip into the flash socket
|
|
7) Burn the chip
|
|
8) Configure serial connection and hit reset.
|
|
|
|
|
|
---
|
|
Step 0)
|
|
Get Linux installed on your LinuxBIOS machine. We have used
|
|
RedHat 7.1, 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.9
|
|
|
|
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:
|
|
|
|
ide-spinup-2.4.9-asus.patch
|
|
|
|
Your patch command will look like this:
|
|
cd linux_directory
|
|
patch -p1 < ~/freebios/src/kernel_patches/ide-spinup-2.4.9-asus.patch
|
|
Here is the output I get when I apply the patch:
|
|
|
|
patching file arch/i386/Linuxbios.in
|
|
patching file arch/i386/config.in
|
|
patching file drivers/ide/ide-probe.c
|
|
|
|
You should NOT get any rejects when applying this patch. If you do,
|
|
please make sure your patch command is correct. The most common
|
|
error is supplying an incorrect patch level (the -p option). Please
|
|
refer to the patch man page for details.
|
|
|
|
o There are a couple of things you have to fix in the 2.4.9 kernel.
|
|
|
|
First, IF YOU ARE RUNNING REDHAT 7.1 ON YOUR LinuxBIOS machine,
|
|
you need to fix /drivers/char/serial.c.
|
|
IF YOU DON'T DO THIS, LINUXBIOS WILL BOOT UP, BUT YOU WON'T BE ABLE
|
|
TO TYPE ANYTHING USING YOUR TERMINAL KEYBOARD.
|
|
|
|
Go to linux-directory/drivers/char
|
|
Edit the file serial.c and comment out lines 1772 and 1773
|
|
|
|
if ((cflag & CREAD) == 0)
|
|
info->ignore_status_mask |= UART_LSR_DR;
|
|
|
|
Secondly, if you need to burn Disk On Chip MILLENIUM from the ASUS
|
|
|
|
Go to linux-directory/drivers/mtd/devices/
|
|
Edit the file docprobe.c and change line 42.
|
|
|
|
Original line 42: #define DOC_SINGLE_DRIVER
|
|
|
|
New line 42: #undef DOC_SINGLE_DRIVER
|
|
|
|
o Now copy config-2.4.9-asus (from /freebios/src/kernel_patches)
|
|
to .config, then
|
|
make oldconfig
|
|
make clean
|
|
make dep
|
|
make vmlinux
|
|
|
|
In our config file, we turned of a LOT of options OFF and we have only
|
|
a bare-bones kernel, enough to bring LinuxBIOS up on the Asus.
|
|
Nevertheless, important stuff we did are:
|
|
|
|
1. Changed PCI access mode to DIRECT
|
|
2. Turn on MTD support (as a MODULE)
|
|
3. DISABLED Virtual terminal
|
|
4. Turned on AliM15x3 support in IDE, ATA and ATAPI Block devices
|
|
5. Enabled Console for serial port
|
|
6. Turned on all LinuxBIOS support options (Do NOT make them as
|
|
loadable modules!)
|
|
|
|
If you wanna see the changes we did, run make menuconfig from
|
|
your linux-directory or examine the .config file. Once you
|
|
make sure that a small kernel works on your ASUS, you can
|
|
turn on options in the kernel as you need them.
|
|
|
|
You now have a kernel for linuxbios.
|
|
|
|
Step 3)
|
|
|
|
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 ASUS CUA
|
|
|
|
# Sample config file for ACER M1631 CHIPSET ON A ASUS
|
|
# with DoC Millennium (as root)
|
|
|
|
# This will make a target directory of ./asus-cua
|
|
target asus-cua
|
|
|
|
# ASUS CUA main board
|
|
mainboard asus/cua
|
|
|
|
# ****************** NEED CORRECT DOC IPL
|
|
# use DOC MIL
|
|
option USE_DOC_MIL
|
|
docipl mainboard/asus/cua/ipl.S
|
|
|
|
# Enable Serial Console for debugging
|
|
option SERIAL_CONSOLE=1
|
|
|
|
# Enable IRQ Routing table stuff
|
|
option HAVE_PIRQ_TABLE=1
|
|
|
|
# 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 - DISABLED FOR NOW!
|
|
# option HAVE_FRAMEBUFFER
|
|
|
|
# I want that floppy ...
|
|
option MUST_ENABLE_FLOPPY
|
|
|
|
# *****************MODIFIED BY BHARATH********************
|
|
# Path to your kernel (vmlinux)
|
|
linux /usr/src/vmlinux-acer-2.4.9
|
|
|
|
# Kernel command line parameters
|
|
#commandline root=/dev/hda2 console=ttyS0,115200 console=tty0 single
|
|
# *******************MODIFIED BY BHARATH ****************
|
|
commandline root=/dev/hda5 console=ttyS0,115200 floppy=nodma single
|
|
|
|
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); disable frame buffer init (no VGA
|
|
support yet). 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 ~/freebios/util/config/NLBConfig.py asus-cua.config ~/freebios
|
|
|
|
/root/linuxbios/config_files/asus-cua is not a directory.
|
|
I know I should make this, but I'm too paranoid
|
|
To fix this, type
|
|
mkdir -p /root/linuxbios/config_files/asus-cua
|
|
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 asus-cua
|
|
|
|
python ~/src/freebios/util/config/NLBConfig.py asus-cua.config ~/src/freebios
|
|
|
|
The output of the tool is:
|
|
Will place Makefile, crt0.S, ldscript.ld in /root/linuxbios/config_files/asus-c
|
|
ua
|
|
Process config file: /root/linuxbios/freebios/src/mainboard/asus/cua/Config
|
|
Now Process the i386 base files
|
|
Process config file: /root/linuxbios/freebios/src/arch/i386/Config
|
|
Process config file: /root/linuxbios/freebios/src/arch/i386/boot/Config
|
|
Process config file: /root/linuxbios/freebios/src/arch/i386/lib/Config
|
|
Process config file: /root/linuxbios/freebios/src/arch/i386/smp/Config
|
|
Process config file: /root/linuxbios/freebios/src/lib/Config
|
|
Process config file: /root/linuxbios/freebios/src/boot/Config
|
|
Process config file: /root/linuxbios/freebios/src/rom/Config
|
|
Added mainboard init file: cpu/i386/entry16.inc
|
|
Added ldscript init file: /root/linuxbios/freebios/src/cpu/i386/entry16.lds
|
|
Added mainboard init file: northbridge/acer/m1631/chipset_init.inc
|
|
Added mainboard init file: superio/acer/m1535/setup_serial.inc
|
|
Added mainboard init file: pc80/serial.inc
|
|
Process config file: /root/linuxbios/freebios/src/northbridge/acer/m1631/Config
|
|
Process config file: /root/linuxbios/freebios/src/southbridge/acer/m1535/Config
|
|
Added mainboard init file: cpu/p6/earlymtrr.inc
|
|
Process config file: /root/linuxbios/freebios/src/cpu/p5/Config
|
|
Process config file: /root/linuxbios/freebios/src/cpu/p6/Config
|
|
Trying to create /root/linuxbios/config_files/asus-cua/Makefile
|
|
Trying to create /root/linuxbios/config_files/asus-cua/ldoptions
|
|
Trying to create /root/linuxbios/config_files/asus-cua/crt0.S
|
|
Trying to create /root/linuxbios/config_files/asus-cua/LinuxBIOSDoc.config
|
|
|
|
OK, all those messages are normal. Now we do a make:
|
|
|
|
cd asus-cua
|
|
make
|
|
|
|
We now have three files to be loaded into the Disk On Chip. The first
|
|
is called docipl. It is 512 bytes. The second is called linuxbios.strip,
|
|
and is the binary image of the linuxbios that gets loaded into Doc.
|
|
The third file is your kernel, and is stripped and compressed,
|
|
vmlinux.bin.gz
|
|
|
|
-rw------- 1 rminnich CIC-ACL 512 Dec 20 08:41 docipl
|
|
-rwx------ 1 rminnich CIC-ACL 33494 Dec 20 08:41 linuxbios.strip*
|
|
-rwx------ 1 rminnich CIC-ACL 756069 Dec 20 08:41 vmlinux.bin.gz*
|
|
|
|
|
|
You're now ready to burn the Disk On Chip, but first ....
|
|
|
|
Steps 4 and 5 illustrate ONE WAY of burning Disk On Chip. If you
|
|
have other ways of burning LinuxBIOS onto Flash, please go ahead and use
|
|
your steps.
|
|
|
|
Step 4) Get the MTD utilities from http://www.linux-mtd.infradead.org/
|
|
(see the instructions at that site)
|
|
cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs co mtd
|
|
cd mtd/util
|
|
sh -x MAKEDEV
|
|
make
|
|
(You need the erase utility)
|
|
Install the erase utility where it is in your path.
|
|
|
|
Step 5) Configuring your kernel on your build machine for Disk on Chip.
|
|
|
|
You are going to use the script burn_mtd_asus_cua. PLEASE
|
|
NOTE: THIS SCRIPT WORKS ONLY ON MOTHERBOARDS WITH THE ACER ALI
|
|
M1631 northbridge. WE TESTED THIS SCRIPT ON THE ASUS CUA.
|
|
|
|
The fix for other chipsets seems simple enough: just change
|
|
the setpci line in burn_mtd_asus_cua to enable your chipset to write
|
|
to flash. However, you have to get this information from the chipset
|
|
documentation. THIS, IN OUR EXPERIENCE, IS HARD! Again, if you
|
|
have other ways of burning LinuxBIOS onto Flash, please go ahead
|
|
and do so!
|
|
|
|
You need a new 2.4.9 kernel for your build machine so you can
|
|
burn the Disk On Chip. Get a 2.4.9 kernel, untar it.
|
|
|
|
MAKE SURE YOU change
|
|
linux-directory/drivers/char/mtd/devices/docprobe.c as shown
|
|
in Step 2).
|
|
|
|
Copy the file config-2.4.9-flash-burn from freebios/src/kernel_patches
|
|
to your 2.4.9 directory as .config
|
|
|
|
make oldconfig
|
|
make clean
|
|
make dep
|
|
make bzImage
|
|
make modules
|
|
make modules_install
|
|
|
|
You should test this kernel by making a boot floppy. Once you
|
|
are satisfied this kernel works, add an entry to lilo.conf.
|
|
Step 6)
|
|
NOTE: BE ADVISED THAT THIS STEP CAN HURT OR KILL YOU!
|
|
YOU ARE WORKING WITH A POWERED-ON COMPUTER AT THIS POINT.
|
|
THE COMPUTER NEEDS TO BE OPENED UP, AND YOU NEED TO REMOVE A CHIP
|
|
WHILE THE COMPUTER IS ON.
|
|
IF YOU HAVE NOT DONE THIS TYPE OF WORK, DO NOT DO IT!
|
|
WE TAKE NO RESPONSIBILITY FOR ANYTHING THAT HAPPENS AT THIS STEP.
|
|
BEFORE DOING THIS STEP WITH POWER ON, YOU SHOULD TRY IT WITH POWER OFF.
|
|
|
|
Open your build machine (LEAVE THE POWER ON), yank the flash, and
|
|
plug in the DoC. We recommend you practice this first with the
|
|
power off. Make sure that whatever you do, you are not shorting
|
|
things out. Avoid using a metal tool!
|
|
|
|
NOTE: YOU CAN HURT YOURSELF AT THIS STEP. We can't take any
|
|
responsibility for what happens to you here. If you haven't
|
|
done this, or are not trained, or have a history of getting
|
|
hurt by hardware, DON'T DO IT.
|
|
|
|
Step 7) Run the following script:
|
|
RUN THIS SCRIPT FROM THE BUILD DIRECTORY FOR LINUXBIOS
|
|
|
|
Run the burn_mtd_asus_cua script from freebios/util/mtd
|
|
Here's what the output looks like when you run it:
|
|
|
|
mmod: module docprobe is not loaded
|
|
rmmod: module doc2001 is not loaded
|
|
rmmod: module docecc is not loaded
|
|
|
|
6+1 records in
|
|
7+0 records out
|
|
0+1 records in
|
|
1+0 records out
|
|
Erase Total 128 Units
|
|
Performing Flash Erase of length 8192 at offset 0xfe000 done
|
|
1+0 records in
|
|
1+0 records out
|
|
1+0 records in
|
|
1+0 records out
|
|
126+0 records in
|
|
126+0 records out
|
|
896+0 records in
|
|
896+0 records out
|
|
|
|
AGAIN, PLEASE NOTE: THIS SCRIPT ONLY WORKS ON A MOTHERBOARD
|
|
WITH THE ACER ALI M1631 Northbridge. IF YOUR BUILD MACHINE
|
|
DOES NOT USE THIS CHIPSET, YOU NEED TO FIGURE OUT HOW TO
|
|
ENABLE FLASH WRITING FOR YOUR CHIPSET!
|
|
|
|
Step 8) Hook a serial cable form your LinuxBIOS machine to your terminal.
|
|
Settings are 115200 baud, 8 data bits, no parity, 1 stop bit.
|
|
POWER OFF THE MACHINE. DoC requires this.
|
|
Turn it back on. Linuxbios should come up in a few seconds.
|
|
Here is a dump from minicom when I booted my LinuxBIOS machine and
|
|
typed in an ls command:
|
|
|
|
LinuxBIOS booting...
|
|
Finding PCI configuration type.
|
|
PCI: Using configuration type 1
|
|
Scanning PCI bus...PCI: pci_scan_bus for bus 0
|
|
pci_get_sizedev_fn 0x0, register 0, read-only SO, ignoring it
|
|
addr was 0x8, size was 0x8
|
|
pci_get_sizedev_fn 0x0, register 1, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:00 [10b9/1621]
|
|
pci_get_sizedev_fn 0x8, register 0, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x8, register 1, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:08 [10b9/5247]
|
|
pci_get_sizedev_fn 0x30, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x30, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x30, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x30, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:30 [10b9/5451]
|
|
pci_get_sizedev_fn 0x38, register 0, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x38, register 1, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x38, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x38, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x38, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x38, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:38 [10b9/1533]
|
|
pci_get_sizedev_fn 0x80, register 0, read-only SO, ignoring it
|
|
addr was 0x1f1, size was 0x1f1
|
|
pci_get_sizedev_fn 0x80, register 1, read-only SO, ignoring it
|
|
addr was 0x3f5, size was 0x3f5
|
|
pci_get_sizedev_fn 0x80, register 2, read-only SO, ignoring it
|
|
addr was 0x171, size was 0x171
|
|
pci_get_sizedev_fn 0x80, register 3, read-only SO, ignoring it
|
|
addr was 0x375, size was 0x375
|
|
pci_get_sizedev_fn 0x80, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:80 [10b9/5229]
|
|
pci_get_sizedev_fn 0x88, register 0, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x88, register 1, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x88, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x88, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x88, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x88, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:88 [10b9/7101]
|
|
pci_get_sizedev_fn 0xa0, register 1, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0xa0, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0xa0, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0xa0, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0xa0, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 00:a0 [10b9/5237]
|
|
PCI: pci_scan_bus for bus 1
|
|
pci_get_sizedev_fn 0x0, register 2, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 3, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 4, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
pci_get_sizedev_fn 0x0, register 5, read-only SO, ignoring it
|
|
addr was 0x0, size was 0x0
|
|
PCI: 01:00 [10de/00a0]
|
|
PCI: pci_scan_bus returning with max=01
|
|
PCI: pci_scan_bus returning with max=01
|
|
done
|
|
Acer sizeram pcidev 00005d68
|
|
0x6c 0xf7d2a83d, size 0x8000000
|
|
0x70 0xf7c1a82d, size 0x4000000
|
|
0x74 0xf7d2a82d, size 0x8000000
|
|
size in 0x6c is 0x10000000
|
|
size in 0x70 is 0x8000000
|
|
size in 0x74 is 0x10000000
|
|
totalram: 640M
|
|
Initializing CPU #0
|
|
Updating microcode
|
|
microcode_info: sig = 0x00000683 pf=0x00000010 rev = 0x00000000
|
|
Enabling cache...
|
|
Setting variable MTRR 0, base: 0MB, range: 512MB, type: WB
|
|
Setting variable MTRR 1, base: 512MB, range: 128MB, type: WB
|
|
Setting variable MTRR 2, base: 640MB, range: 0MB, type: UC
|
|
done.
|
|
|
|
Max cpuid index : 3
|
|
Vendor ID : GenuineIntel
|
|
Processor Type : 0x00
|
|
Processor Family : 0x06
|
|
Processor Model : 0x08
|
|
Processor Mask : 0x00
|
|
Processor Stepping : 0x03
|
|
Feature flags : 0x0387fbff
|
|
|
|
Cache/TLB descriptor values: 1 reads required
|
|
Desc 0x01 : Instr TLB: 4KB pages, 4-way set assoc, 32 entries
|
|
Desc 0x02 : Instr TLB: 4MB pages, fully assoc, 2 entries
|
|
Desc 0x03 : Data TLB: 4KB pages, 4-way set assoc, 64 entries
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x00 : null
|
|
Desc 0x82 : L2 Unified cache: 256K bytes, 8-way set assoc, 32 byte line size
|
|
Desc 0x08 : Inst cache: 16K bytes, 4-way set assoc, 32 byte line size
|
|
Desc 0x04 : Data TLB: 4MB pages, 4-way set assoc, 8 entries
|
|
Desc 0x0c : Data cache: 16K bytes, 2-way or 4-way set assoc, 32 byte line size
|
|
|
|
op: 0x03 eax:0x00000000 ebx:0x00000000 ecx:0x4744fe9c edx:0x0001a723
|
|
|
|
|
|
MTRR check
|
|
Fixed MTRRs : Enabled
|
|
Variable MTRRs: Enabled
|
|
|
|
Configuring L2 cache...CPU signature of 680 so no L2 cache configuration
|
|
Enable Cache
|
|
done.
|
|
Disabling local apic...done.
|
|
CPU #0 Initialized
|
|
Allocating PCI resources...COMPUTE_ALLOCATE: do IO
|
|
compute_allocate_io: base 0x1000
|
|
compute_allocate_io: base 0x1000
|
|
BUS 1: set iolimit to 0xfff
|
|
BUSIO: done Bridge Bus 0x1, iobase now 0x1000
|
|
DEVIO: Bus 0x0, devfn 0x30, reg 0x0: iosize 0x100
|
|
-->set base to 0x1000
|
|
DEVIO: Bus 0x0, devfn 0x80, reg 0x4: iosize 0x10
|
|
-->set base to 0x1100
|
|
BUS 0: set iolimit to 0x1fff
|
|
COMPUTE_ALLOCATE: do MEM
|
|
compute_allocate_mem: base 0x80000000
|
|
compute_allocate_mem: base 0x80000000
|
|
DEVMEM: Bus 0x1, devfn 0x0, reg 0x0: memsize 0x1000000
|
|
-->set base to 0x80000000
|
|
BUS 1: set memlimit to 0x80ffffff
|
|
BUSMEM: Bridge Bus 0x1,membase now 0x81000000
|
|
DEVMEM: Bus 0x0, devfn 0x30, reg 0x1: memsize 0x1000
|
|
-->set base to 0x81000000
|
|
DEVMEM: Bus 0x0, devfn 0xa0, reg 0x0: memsize 0x1000
|
|
-->set base to 0x81001000
|
|
BUS 0: set memlimit to 0x810fffff
|
|
COMPUTE_ALLOCATE: do PREFMEM
|
|
Compute_allocate_prefmem: base 0x81100000
|
|
Compute_allocate_prefmem: base 0x81100000
|
|
DEVPREFMEM: Bus 0x1, devfn 0x0, reg 0x1: prefmemsize 0x2000000
|
|
-->set base to 0x82000000
|
|
BUS 1: set prefmemlimit to 0x83ffffff
|
|
BUSPREFMEM: Bridge Bus 0x1, prefmem base now 0x84000000
|
|
BUS 0: set prefmemlimit to 0x83ffffff
|
|
ASSIGN RESOURCES, bus 0
|
|
Bus 0x0 iobase to 0x1000 iolimit 0xfff
|
|
Bus 0x0 membase to 0x80000000 memlimit 0x80ffffff
|
|
Bus 0x0 prefmembase to 0x81100000 prefmemlimit 0x83ffffff
|
|
Bus 0x0 devfn 0x30 reg 0x0 base to 0x1001
|
|
Bus 0x0 devfn 0x30 reg 0x1 base to 0x81000000
|
|
Bus 0x0 devfn 0x80 reg 0x4 base to 0x1101
|
|
Bus 0x0 devfn 0xa0 reg 0x0 base to 0x81001000
|
|
Bus 0x1 devfn 0x0 reg 0x0 base to 0x80000000
|
|
Bus 0x1 devfn 0x0 reg 0x1 base to 0x82000000
|
|
done.
|
|
Enabling PCI resourcess...DEV Set command bus 0x0 devfn 0x0 to 0x6
|
|
DEV Set command bus 0x0 devfn 0x8 to 0x7
|
|
DEV Set command bus 0x0 devfn 0x30 to 0x3
|
|
DEV Set command bus 0x0 devfn 0x38 to 0xf
|
|
DEV Set command bus 0x0 devfn 0x80 to 0x1
|
|
DEV Set command bus 0x0 devfn 0x88 to 0x0
|
|
DEV Set command bus 0x0 devfn 0xa0 to 0x2
|
|
DEV Set command bus 0x1 devfn 0x0 to 0x2
|
|
done.
|
|
intel_mainboard_fixup()
|
|
Zeroing PCI IRQ settings...done.
|
|
Copying IRQ routing tables...done.
|
|
SET THAT BIT!
|
|
Jumping to linuxbiosmain()...
|
|
|
|
Welcome to start32, the open sourced starter.
|
|
This space will eventually hold more diagnostic information.
|
|
|
|
January 2000, James Hendricks, Dale Webster, and Ron Minnich.
|
|
Version 0.1
|
|
|
|
Gunzip setup
|
|
output data is 0x00100000
|
|
Gunzipping boot code
|
|
46:fill_inbuf() - ram buffer:0x0000e0ac
|
|
73:fill_inbuf() - nvram:0x00010000 block_count:0
|
|
flush 0x00100000 count 0x00008000
|
|
flush 0x00108000 count 0x00008000
|
|
flush 0x00110000 count 0x00008000
|
|
flush 0x00118000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00020000 block_count:1
|
|
flush 0x00120000 count 0x00008000
|
|
flush 0x00128000 count 0x00008000
|
|
flush 0x00130000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00030000 block_count:2
|
|
flush 0x00138000 count 0x00008000
|
|
flush 0x00140000 count 0x00008000
|
|
flush 0x00148000 count 0x00008000
|
|
flush 0x00150000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00040000 block_count:3
|
|
flush 0x00158000 count 0x00008000
|
|
flush 0x00160000 count 0x00008000
|
|
flush 0x00168000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00050000 block_count:4
|
|
flush 0x00170000 count 0x00008000
|
|
flush 0x00178000 count 0x00008000
|
|
flush 0x00180000 count 0x00008000
|
|
flush 0x00188000 count 0x00008000
|
|
flush 0x00190000 count 0x00008000
|
|
flush 0x00198000 count 0x00008000
|
|
flush 0x001a0000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00060000 block_count:5
|
|
flush 0x001a8000 count 0x00008000
|
|
flush 0x001b0000 count 0x00008000
|
|
flush 0x001b8000 count 0x00008000
|
|
flush 0x001c0000 count 0x00008000
|
|
73:fill_inbuf() - nvram:0x00070000 block_count:6
|
|
flush 0x001c8000 count 0x00008000
|
|
flush 0x001d0000 count 0x00005720
|
|
<991> command line - [root=/dev/hda5 console=ttyS0,115200 floppy=nodma single]
|
|
Jumping to boot code
|
|
Linux version 2.4.9 (root@localhost.localdomain) (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81)) #2 Sun Oct 21 13:47:17 MST 2001
|
|
BIOS-provided physical RAM map:
|
|
BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
|
|
BIOS-e801: 0000000000100000 - 0000000027f00000 (usable)
|
|
On node 0 totalpages: 163584
|
|
zone(0): 4096 pages.
|
|
zone(1): 159488 pages.
|
|
zone(2): 0 pages.
|
|
Kernel command line: root=/dev/hda5 console=ttyS0,115200 floppy=nodma single
|
|
Initializing CPU#0
|
|
Detected 400.896 MHz processor.
|
|
Calibrating delay loop... 799.53 BogoMIPS
|
|
Memory: 642048k/654336k available (495k kernel code, 11900k reserved, 165k data, 172k init, 0k highmem)
|
|
Dentry-cache hash table entries: 131072 (order: 8, 1048576 bytes)
|
|
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
|
|
Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
|
|
Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes)
|
|
Page-cache hash table entries: 262144 (order: 8, 1048576 bytes)
|
|
CPU: L1 I cache: 16K, L1 D cache: 16K
|
|
CPU: L2 cache: 256K
|
|
Intel machine check architecture supported.
|
|
Intel machine check reporting enabled on CPU#0.
|
|
CPU serial number disabled.
|
|
CPU: Intel Pentium III (Coppermine) stepping 03
|
|
Enabling fast FPU save and restore... done.
|
|
Enabling unmasked SIMD FPU exception support... done.
|
|
Checking 'hlt' instruction... OK.
|
|
POSIX conformance testing by UNIFIX
|
|
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
|
|
mtrr: detected mtrr type: Intel
|
|
PCI: Using configuration type 1
|
|
PCI: Probing PCI hardware
|
|
Unknown bridge resource 0: assuming transparent
|
|
Linux NET4.0 for Linux 2.4
|
|
Based upon Swansea University Computer Society NET3.039
|
|
IA-32 Microcode Update Driver: v1.08 <tigran@veritas.com>
|
|
Starting kswapd v1.8
|
|
pty: 256 Unix98 ptys configured
|
|
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
|
|
ttyS00 at 0x03f8 (irq = 4) is a 16550A
|
|
block: 128 slots per queue, batch=16
|
|
Uniform Multi-Platform E-IDE driver Revision: 6.31
|
|
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
|
|
ALI15X3: IDE controller on PCI bus 00 dev 80
|
|
PCI: No IRQ known for interrupt pin A of device 00:10.0. Please try using pci=biosirq.
|
|
ALI15X3: chipset revision 195
|
|
ALI15X3: not 100% native mode: will probe irqs later
|
|
ALI15X3: simplex device: DMA will fail!!
|
|
ALI15X3: simplex device: DMA disabled
|
|
ide0: ALI15X3 Bus-Master DMA disabled (BIOS)
|
|
ALI15X3: simplex device: DMA disabled
|
|
ide1: ALI15X3 Bus-Master DMA disabled (BIOS)
|
|
hd0: C/H/S=0/0/0 from BIOS ignored
|
|
jamming drive present for hda
|
|
hda: IBM-DTLA-307030, ATA DISK drive
|
|
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
|
|
hdc: CREATIVE CD5233E, ATAPI CD/DVD-ROM drive
|
|
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
|
|
ide1 at 0x170-0x177,0x376 on irq 15
|
|
ide1: probed IRQ 15 failed, using default.
|
|
hda: 60036480 sectors (30739 MB) w/1916KiB Cache, CHS=59560/16/63
|
|
Partition check:
|
|
hda: [PTBL] [3737/255/63] hda1 hda2 < hda5 hda6 >
|
|
VFS: Mounted root (ext2 filesystem) readonly.
|
|
Freeing unused kernel memory: 172k freed
|
|
modprobe: modprobe: Can't locate module char-major-4
|
|
INIT: version 2.78 booting
|
|
Welcome to Red Hat Linux
|
|
Press 'I' to enter interactive startup.
|
|
Mounting proc filesystem: [ OK ]
|
|
Configuring kernel parameters: [ OK ]
|
|
modprobe: modprobe: Can't locate module char-major-4
|
|
Setting clock (localtime): Sun Oct 21 14:29:59 MST 2001 [ OK ]
|
|
Activating swap partitions: [ OK ]
|
|
Setting hostname localhost.localdomain: [ OK ]
|
|
Checking root filesystem
|
|
/: clean, 120199/2191168 files, 608787/4377704 blocks
|
|
[/sbin/fsck.ext2 -- /] fsck.ext2 -a /dev/hda5
|
|
[ OK ]
|
|
Remounting root filesystem in read-write mode: [ OK ]
|
|
Finding module dependencies: [ OK ]
|
|
Checking filesystems
|
|
/boot: clean, 33/14056 files, 9221/56196 blocks
|
|
Checking all file systems.
|
|
[/sbin/fsck.ext2 -- /boot] fsck.ext2 -a /dev/hda1
|
|
[ OK ]
|
|
Mounting local filesystems: [ OK ]
|
|
Turning on user and group quotas for local filesystems: [ OK ]
|
|
Enabling swap space: [ OK ]
|
|
sh-2.04# ls
|
|
bin core etc lib misc mtd_utils proc sbin usr
|
|
boot dev home lost+found mnt opt root tmp var
|
|
sh-2.04# poweroff
|
|
INIT: Switching to runlevel: 0
|
|
sh-2.04# INIT: Sending processes the TERM signal
|
|
INIT: Starting killall: [ OK ]
|
|
Sending all processes the TERM signal...
|
|
Sending all processes the KILL signal...
|
|
Syncing hardware clock to system time modprobe: modprobe: Can't locate module char-major-4
|
|
|
|
Turning off swap:
|
|
Turning off quotas:
|
|
Unmounting file systems:
|
|
Unmounting proc file system:
|
|
Halting system...
|
|
ifdown: Power down.
|
|
socket: Address family not supported by protocol
|
|
|
|
|
|
If it doesn't work:
|
|
|
|
Please email the dump from your terminal
|
|
to linuxbios@lanl.gov with a description of your problem.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|