NetBSD/distrib/notes/evbarm/prep

317 lines
12 KiB
Plaintext

.\" $NetBSD: prep,v 1.5 2002/06/29 10:54:14 lukem Exp $
.\"
.\" Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the NetBSD
.\" Foundation, Inc. and its contributors.
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
.\" contributors may be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.
First and foremost, before beginning the installation process,
.Em make sure you have a reliable backup
of any data on the target system that you wish to keep.
Mistakes in
e.g. partitioning your hard disk may lead to data loss.
.
.Ss2 Preparation for the Intel IQ80310
The IQ80310 uses RedBoot firmware from Red Hat, Inc.
RedBoot supports loading the kernel via the serial port and the on-board
Ethernet.
These notes assume that the Ethernet will be used to load the kernel.
RedBoot uses the Trivial File Transfer Protocol
(TFTP) to load the kernel via the network.
.Pp
These notes also assume that the IQ80310 will be run as a diskless
system; that an NFS server will provide the root file system.
The
.Nx
kernel uses the Dynamic Host Configuration Protocol (DHCP) to
obtain network address and root file system information.
.Pp
The first step is to configure your DHCP, NFS, and TFTP server
software.
You will need the MAC address for the on-board Ethernet,
which RedBoot can provide; see the RedBoot documentation for more
information.
.Pp
The next step is to configure RedBoot to obtain its IP address from
your DHCP server; see the RedBoot documentation for more information.
.Pp
Once your DHCP server and RedBoot are properly configured, you should
see information similar to the following when the IQ80310 is reset
or powered-up:
.Bd -literal
RedBoot(tm) debug environment - built 17:16:14, Feb 12 2001
Platform: IQ80310 (XScale)
Copyright (C) 2000, Red Hat, Inc.
RAM: 0xa0000000-0xa2000000
FLASH: 0x00000000 - 0x00800000, 64 blocks of 0x00020000 bytes each.
IP: 192.168.0.10, Default server: 192.168.0.1
RedBoot\*>
.Ed
.Pp
A compressed kernel image and loader suitable for placing into
flash is provided with the distribution.
Use of this image is optional;
a kernel that can be directly loaded over the network
by RedBoot is also provided.
.Pp
The image for the IQ80310 can be found under the
.Nx*M
\*V distribution directory in
.Pa \*M/binary/gzimg/gzimg_IQ80310_flash_0x00080000.gz ,
and corresponds to the kernel in
.Pa \*M/binary/kernel/netbsd-IQ80310.gz .
The following steps
describe how to copy the compressed kernel image into flash.
.Pp
.(enum
Uncompress the gzimg file and place it into the TFTP server's
download area (note, the kernel inside the gzimg is still
compressed after this step).
.Pp
.Dl server# Ic gzcat gzimg_IQ80310_flash_0x00080000.gz > /tftpboot/gzimg_IQ80310_flash_0x00080000
.It
Load the gzimg from the TFTP server.
.Pp
.Bd -literal
RedBoot\*> load -r -b 0xa0200000 gzimg_IQ80310_flash_0x00080000
Raw file loaded 0xa0200000-0xa0305fe0
.Ed
.It
Use the RedBoot
.Ic fis
command to copy the image into flash.
For more information on the RedBoot
Flash Image System, see the RedBoot documentation.
.Bd -literal
RedBoot\*> fis create -b 0xa0200000 -f 0x00080000 -l 0x00200000 netbsd.gz
.Ns ... Erase from 0x00080000-0x00280000: ....................
.Ns ... Program from 0xa0200000-0xa0400000 at 0x00080000: ....................
.Ns ... Unlock from 0x007e0000-0x00800000: .
.Ns ... Erase from 0x007e0000-0x00800000: .
.Ns ... Program from 0xa1fd0000-0xa1ff0000 at 0x007e0000: .
.Ns ... Lock from 0x007e0000-0x00800000: .
.Ed
.enum)
.Pp
Once the compressed kernel image has been copied into flash, it may
be started by jumping to the flash address of the image:
.Bd -literal
RedBoot\*> g 0x00080000
\*>\*> NetBSD/IQ80310 Gzip Boot, Revision 1.1
\*>\*> (root@tgm, Thu Mar 28 18:32:45 PST 2002)
\*>\*> RAM 0xa0000000 - 0xafffffff, heap at 0xaffd0000
\*>\*> Load address: 0xa0200000
\*>\*> Image size: 741244
Uncompressing image...done.
Jumping to image @ 0xa0200000...
NetBSD/evbarm (IQ80310) booting ...
Resetting secondary PCI bus...
initarm: Configuring system ...
physmemory: 65536 pages at 0xa0000000 -\*> 0xafffffff
init subsystems: stacks vectors undefined pmap irq done.
[ using 155084 bytes of netbsd ELF symbol table ]
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.5ZC (IQ80310) #20: Fri Mar 29 10:25:53 PST 2002
root@tgm:/u1/netbsd/src/sys/arch/evbarm/compile/IQ80310
total memory = 256 MB
avail memory = 232 MB
using 1228 buffers containing 13208 KB of memory
mainbus0 (root)
cpu0 at mainbus0: i80200 step A-0 (XScale core)
cpu0: DC enabled IC enabled WB enabled LABT
cpu0: 32KB/32B 32-way Instruction cache
cpu0: 32KB/32B 32-way write-back-locking Data cache
obio0 at mainbus0: board rev. F, CPLD rev. D, backplane present
com0 at obio0 addr 0xfe810000: ns16550a, working fifo
com0: console
com1 at obio0 addr 0xfe800000: ns16550a, working fifo
iopxs0 at mainbus0: i80312 Companion I/O, acting as PCI host
iopxs0: configuring Secondary PCI bus
pci0 at iopxs0 bus 1
pci0: i/o space, memory space enabled
ppb0 at pci0 dev 7 function 0: Digital Equipment DECchip 21154 PCI-PCI Bridge (rev. 0x05)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled
fxp0 at pci1 dev 0 function 0: i82559S Ethernet, rev 9
fxp0: interrupting at iq80310 irq 1
fxp0: Ethernet address 00:80:4d:46:0b:b9
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
clock: hz=100 stathz=0 profhz=0
boot device: \*<unknown\*>
root device:
.Ed
.
.Ss2 Preparation for the Intel IQ80321
The IQ80321 uses RedBoot firmware from Red Hat, Inc.
RedBoot supports loading the kernel via the serial port and the on-board
Ethernet.
These notes assume that the Ethernet will be used to load the kernel.
RedBoot uses the Trivial File Transfer Protocol
(TFTP) to load the kernel via the network.
.Pp
These notes also assume that the IQ80321 will be run as a diskless
system; that an NFS server will provide the root file system.
The
.Nx
kernel uses the Dynamic Host Configuration Protocol (DHCP) to
obtain network address and root file system information.
.Pp
The first step is to configure your DHCP, NFS, and TFTP server
software.
You will need the MAC address for the on-board Ethernet,
which RedBoot can provide; see the RedBoot documentation for more
information.
.Pp
The next step is to configure RedBoot to obtain its IP address from
your DHCP server; see the RedBoot documentation for more information.
.Pp
Once your DHCP server and RedBoot are properly configured, you should
see information similar to the following when the IQ80321 is reset
or powered-up:
.Bd -literal
Ethernet eth0: MAC address 00:07:e9:03:38:40
IP: 192.168.0.11, Default server: 192.168.0.1
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 11:21:56, Feb 1 2002
Platform: IQ80321 (XScale)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
RAM: 0x00000000-0x08000000, 0x00017008-0x01ddd000 available
FLASH: 0xf0000000 - 0xf0800000, 64 blocks of 0x00020000 bytes each.
RedBoot\*>
.Ed
.Pp
A compressed kernel image and loader suitable for placing into
flash is provided with the distribution.
Use of this image is optional;
a kernel that can be directly loaded over the network
by RedBoot is also provided.
.Pp
The image for the IQ80321 can be found under the
.Nx*M
\*V distribution directory in
.Pa \*M/binary/gzimg/gzimg_IQ80321_flash_0xf0080000.gz ,
and corresponds to the kernel in
.Pa \*M/binary/kernel/netbsd-IQ80321.gz .
The following steps
describe how to copy the compressed kernel image into flash.
.Pp
.(enum
Uncompress the gzimg file and place it into the TFTP server's
download area (note, the kernel inside the gzimg is still
compressed after this step).
.Pp
.Dl server# Ic gzcat gzimg_IQ80321_flash_0xf0080000.gz > /tftpboot/gzimg_IQ80321_flash_0xf0080000
.It
Load the gzimg from the TFTP server.
.Pp
.Bd -literal
RedBoot\*> load -r -b 0x00200000 gzimg_IQ80321_flash_0xf0080000
Raw file loaded 0x00200000-0x00305fe4
.Ed
.It
Use the RedBoot
.Ic fis
command to copy the image into flash.
For more information on the RedBoot
Flash Image System, see the RedBoot documentation.
.Bd -literal
RedBoot\*> fis create -b 0x00200000 -f 0xf0080000 -l 0x00200000 netbsd.gz
* CAUTION * about to program 'netbsd.gz'
at 0xf0080000..0xf027ffff from 0x00200000 - are you sure (y/n)? y
.Ns ... Erase from 0xf0080000-0xf0280000: .......................
.Ns ... Program from 0x00200000-0x00400000 at 0xf0080000: ......................
.Ns ... Unlock from 0xf07e0000-0xf0800000: .
.Ns ... Erase from 0xf07e0000-0xf0800000: .
.Ns ... Program from 0x01ddf000-0x01dff000 at 0xf07e0000: .
.Ns ... Lock from 0xf07e0000-0xf0800000: .
.Ed
.enum)
.Pp
Once the compressed kernel image has been copied into flash, it may
be started by jumping to the flash address of the image:
.Bd -literal
RedBoot\*> g 0xf0080000
\*>\*> NetBSD/IQ80321 Gzip Boot, Revision 1.1
\*>\*> (root@tgm, Thu Mar 28 18:32:45 PST 2002)
\*>\*> RAM 0xa0000000 - 0xa7ffffff, heap at 0xa7fd0000
\*>\*> Load address: 0xa0200000
\*>\*> Image size: 739495
Uncompressing image...done.
Jumping to image @ 0xa0200000...
NetBSD/evbarm (IQ80321) booting ...
initarm: Configuring system ...
physmemory: 32768 pages at 0xa0000000 -\*> 0xa7ffffff
init subsystems: stacks vectors undefined pmap irq done.
[ using 155076 bytes of netbsd ELF symbol table ]
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 1.5ZC (IQ80321) #1: Thu Mar 28 18:31:58 PST 2002
root@tgm:/u1/netbsd/src/sys/arch/evbarm/compile/IQ80321
total memory = 128 MB
avail memory = 113 MB
using 1228 buffers containing 6656 KB of memory
mainbus0 (root)
cpu0 at mainbus0: i80321 step A-0 (XScale core)
cpu0: DC enabled IC enabled WB enabled LABT
cpu0: 32KB/32B 32-way Instruction cache
cpu0: 32KB/32B 32-way write-back-locking Data cache
obio0 at mainbus0
com0 at obio0 addr 0xfe800000: ns16550a, working fifo
com0: console
iopxs0 at mainbus0: i80321 I/O Processor, acting as PCI host
iopxs0: configuring PCI bus
pci0 at iopxs0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
wm0 at pci0 dev 4 function 0: Intel i82544 1000BASE-T Ethernet, rev. 2
wm0: interrupting at iop321 irq 27
wm0: Ethernet address 00:07:e9:03:38:40
makphy0 at wm0 phy 1: Marvell 88E1000 Gigabit PHY, rev. 0
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
clock: hz=100 stathz=0 profhz=0
boot device: \*<unknown\*>
root device:
.Ed