switch-coreboot/HOWTO/ALIM1631_M1535D
2001-11-19 22:31:45 +00:00

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.