Configuring the Firmware/Hardware

PPCbug Reference Manual


To see the PowerPC configuration type

PPC4-Bug>cnfg
Board (PWA) Serial Number = "5243515 "
Board Identifier = "MVME2432-1 "
Artwork (PWA) Identifier = "01-W3394F03G "
MPU Clock Speed = "350"
BUS Clock Speed = "100"
Ethernet Address = 0001AF0802CC
Primary SCSI Identifier = "07"
System Serial Number = " "
System Identifier = " "



To "train" the board with the correct network parameters

PPC4-Bug>niot
Controller LUN =00?
Device LUN =00?
Node Control Memory Address =03F9E000?
Client IP Address =xxx.xxx.1.3?
Server IP Address =xxx.xxx.1.2?
Subnet IP Address Mask =255.255.255.0?
Broadcast IP Address =255.255.255.255?
Gateway IP Address =xxx.xxx.1.1?
Boot File Name ("NULL" for None) =/ppcboot/ppc1/zImage?
Argument File Name ("NULL" for None) =?
Boot File Load Address =001F0000?
Boot File Execution Address =001F0000?
Boot File Execution Delay =00000000?
Boot File Length =00000000?
Boot File Byte Offset =00000000?
BOOTP/RARP Request Retry =00?
TFTP/ARP Request Retry =00?
Trace Character Buffer Address =00000000?
BOOTP/RARP Request Control: Always/When-Needed (A/W)=W?
BOOTP/RARP Reply Update Control: Yes/No (Y/N) =Y?



To network boot

PPC4-Bug>nbo
Network Booting from: DEC21143, Controller 0, Device 0
Device Name: /pci@80000000/pci1011,19@e,0:0,0
Loading: /ppcboot/ppc1/zImage

Client IP Address = xxx.xxx.1.3
Server IP Address = xxx.xxx.1.2
Gateway IP Address = xxx.xxx.1.1
Subnet IP Address Mask = 255.255.255.0
Boot File Name = /ppcboot/ppc1/zImage
Argument File Name =

Network Boot File load in progress... To abort hit

Bytes Received =&661212, Bytes Loaded =&661212
Bytes/Second =&661212, Elapsed Time =1 Second(s)
[11EC]
Residual-Data Located at: $03F88000

Model: (e2)
Serial: MOT050027B
Processor/Bus frequencies (Hz): 350017760/99999832
Time Base Divisor: 4000
Original MSR: 3000
Original HID0: 80a4
Original R31: 0

PCI: Probing PCI hardware
Configurable PCI resources:
03ee1060:03ee11e0 000014 3c000000 00040000 0
03ee11e0:03ee1270 006810 2ff7f000 00001000 0
03ee1270:03ee11f8 007014 2ff7ec00 00000400 0
03ee11f8:03ee1258 006814 0ff7e000 00001000 1
03ee1258:03ee1168 007010 0ff7df80 00000080 1
03ee1168:03ee1180 005920 0ff7ffd0 00000010 1
03ee1180:03ee1108 005924 0ff7ffc0 00000010 1
03ee1108:03ee1138 005910 0ff7fff8 00000008 1
03ee1138:03ee1120 005918 0ff7ffe8 00000008 1
03ee1120:03ee1150 005914 0ff7fff4 00000004 1
03ee1150:03ee1048 00591c 0ff7ffe4 00000004 1
03ee1048:00000000 000010 00000000 00000000 1
alloc_area called:
PCI I/O areas:
03ee12d0:03ee1288 03f824dc 00010000 00011fff
03ee1288:00000000 00000000 00012000 007fffff
PCI memory areas:
03ee12a0:00000000 00000000 01000000 3cffffff
alloc_area called:
PCI I/O areas:
03ee12d0:03ee1288 03f824dc 00010000 00011fff
03ee1288:00000000 00000000 00012000 007fffff
PCI memory areas:
03ee1300:03ee12a0 03f824dc 01000000 010fffff
03ee12a0:00000000 00000000 01100000 3cffffff
Allocated PCI resources:
03ee1060:03ee11e0 000014 01000000 00040000 0
03ee11e0:03ee1270 006810 01040000 00001000 0
03ee1270:03ee11f8 007014 01041000 00000400 0
03ee11f8:03ee1258 006814 00010000 00001000 1
03ee1258:03ee1168 007010 00011000 00000080 1
03ee1168:03ee1180 005920 00011080 00000010 1
03ee1180:03ee1108 005924 00011090 00000010 1
03ee1108:03ee1138 005910 000110a0 00000008 1
03ee1138:03ee1120 005918 000110a8 00000008 1
03ee1120:03ee1150 005914 000110b0 00000004 1
03ee1150:03ee1048 00591c 000110b4 00000004 1
03ee1048:00000000 000010 00000000 00000000 1

Linux/PPC load: console=ttyS0 bigphysarea=1024 root=/dev/nfs nfsroot=xxx.xxx.1.f

Uncompressing the kernel...Kernel at 0x00000000, size=0x177f38
Initrd at 0x00000000, size=0x0
Residual data at 0x00178000
Command line at 0x0017f000
done
Now booting...
PReP architecture
Total memory = 64MB; using 256kB for hash table (at c0180000)
Linux version 2.2.9 (asner@dadp.llnl.gov) (gcc version 2.95.3 20010315 (release2
Boot arguments: console=ttyS0 bigphysarea=1024 root=/dev/nfs nfsroot=xxx.xxx.1.f
OpenPIC Version 1.3 (2 CPUs and 17 IRQ sources) at d1000000
OpenPIC timer frequency is 12500098 Hz
time_init: decrementer frequency = 1499979780/60 (23MHz)
Calibrating delay loop... 699.60 BogoMIPS
Memory: 63124k available (964k kernel code, 1360k data, 88k init) [c0000000,c40]
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Setting PCI interrupts for a "MVME 2400"
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
Starting kswapd v 1.5
Serial driver version 4.27 with no serial options enabled

Linux for PowerPC. Brought to you by The LinuxPPC Project.
Based on Red Hat Linux release 5.0 (Hurricane)
Kernel 2.2.9 on a PowerPC 750




Before you can boot with any of these methods there are a few things you will need to take care of first.  You will need to set the jumpers to boot from the Flash that has the PPCbug image on it.   It seems that most boards come from PREP set up to boot VxWorks.    If you connect your serial cable to the board and see any mention of VxWorks, you need to set the jumper to boot from the other Flash bank.   On the boards that I have recieved from PREP they were all set to boot from bank A,  which was VxWorks.   When I switched them to bank B, I was able to boot with PPCbug. There are two environment parameters that must be set in NVRAM before you can try to boot Linux.  First, the option 'Network PReP-Boot Mode Enable' must be set to yes.   This sets up the memory model the way that Linux expects it.    Second,  the option 'VME3PCI Master Master Enable' enable must be set to no.  I do not know why this needs to be done other than it will not work if it is set to yes.    These environment parameters can all be set with the env command from the PPCbug prompt.   I have provided a couple of examples of what our environments look like on boards that boot Linux.

This example comes from an MVME2432 that boots over the network with tftp. Unlike the examples below it does not need/use bootp   It boots with NFS. It also boots automatically on power-up or reset.   The parameters that allow it to boot correctly all begin with 'Network Auto Boot'.



PPC4-Bug>env
Bug or System environment [B/S] = B?
Field Service Menu Enable [Y/N] = N?
Remote Start Method Switch [G/M/B/N] = B?
Probe System for Supported I/O Controllers [Y/N] = Y?
Auto-Initialize of NVRAM Header Enable [Y/N] = Y?
Network PReP-Boot Mode Enable [Y/N] = Y?
Negate VMEbus SYSFAIL* Always [Y/N] = N?
SCSI Bus Reset on Debugger Startup [Y/N] = N?
Primary SCSI Bus Negotiations Type [A/S/N] = A?
Primary SCSI Data Bus Width [W/N] = N?
Secondary SCSI Identifier = "07"?
NVRAM Bootlist (GEV.fw-boot-path) Boot Enable [Y/N] = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot at power-up only [Y/N] = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot Abort Delay = 5?
Auto Boot Enable [Y/N] = N?
Auto Boot at power-up only [Y/N] = N?
Auto Boot Scan Enable [Y/N] = Y?
Auto Boot Scan Device Type List = FDISK/CDROM/TAPE/HDISK/?
Auto Boot Controller LUN = 00?
Auto Boot Device LUN = 00?
Auto Boot Partition Number = 00?
Auto Boot Abort Delay = 7?
Auto Boot Default String [NULL for an empty string] = ?
ROM Boot Enable [Y/N] = N?
ROM Boot at power-up only [Y/N] = Y?
ROM Boot Enable search of VMEbus [Y/N] = N?
ROM Boot Abort Delay = 5?
ROM Boot Direct Starting Address = FFF00000?
ROM Boot Direct Ending Address = FFFFFFFC?
Network Auto Boot Enable [Y/N] = Y?
Network Auto Boot at power-up only [Y/N] = N?
Network Auto Boot Controller LUN = 00?
Network Auto Boot Device LUN = 00?
Network Auto Boot Abort Delay = 5?
Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000?
Memory Size Enable [Y/N] = Y?
Memory Size Starting Address = 00000000?
Memory Size Ending Address = 04000000?
DRAM Speed in NANO Seconds = 8?
ROM First Access Length (0 - 31) = 31?
ROM Next Access Length (0 - 15) = 15?
DRAM Parity Enable [On-Detection/Always/Never - O/A/N] = O?
L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O?
PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A0B0E0F?
Serial Startup Code Master Enable [Y/N] = Y?
Serial Startup Code LF Enable [Y/N] = N?
VME3PCI Master Master Enable [Y/N] = N?
PCI Slave Image 0 Control = 00000000?
PCI Slave Image 0 Base Address Register = 00000000?
PCI Slave Image 0 Bound Address Register = 00000000?
PCI Slave Image 0 Translation Offset = 00000000?
PCI Slave Image 1 Control = C0820000?
PCI Slave Image 1 Base Address Register = 01000000?
PCI Slave Image 1 Bound Address Register = 20000000?
PCI Slave Image 1 Translation Offset = 00000000?
PCI Slave Image 2 Control = C0410000?
PCI Slave Image 2 Base Address Register = 20000000?
PCI Slave Image 2 Bound Address Register = 22000000?
PCI Slave Image 2 Translation Offset = D0000000?
PCI Slave Image 3 Control = C0400000?
PCI Slave Image 3 Base Address Register = 2FFF0000?
PCI Slave Image 3 Bound Address Register = 30000000?
PCI Slave Image 3 Translation Offset = D0000000?
VMEbus Slave Image 0 Control = E0F20000?
VMEbus Slave Image 0 Base Address Register = 00000000?
VMEbus Slave Image 0 Bound Address Register = 04000000?
VMEbus Slave Image 0 Translation Offset = 80000000?
VMEbus Slave Image 1 Control = 00000000?
VMEbus Slave Image 1 Base Address Register = 00000000?
VMEbus Slave Image 1 Bound Address Register = 00000000?
VMEbus Slave Image 1 Translation Offset = 00000000?
VMEbus Slave Image 2 Control = 00000000?
VMEbus Slave Image 2 Base Address Register = 00000000?
VMEbus Slave Image 2 Bound Address Register = 00000000?
VMEbus Slave Image 2 Translation Offset = 00000000?
VMEbus Slave Image 3 Control = 00000000?
VMEbus Slave Image 3 Base Address Register = 00000000?
VMEbus Slave Image 3 Bound Address Register = 00000000?
VMEbus Slave Image 3 Translation Offset = 00000000?
VMEbus Register Access Image Control Register = 00000000?
VMEbus Register Access Image Base Address Register = 00000000?
PCI Miscellaneous Register = 10000000?
Special PCI Slave Image Register = 00000000?
Master Control Register = 80C00000?
Miscellaneous Control Register = 52060000?
User AM Codes = 00000000?

Update Non-volatile RAM (Y/N) ? y

Reset Local System (CPU) (Y/N) ? n

This example is from an MVME2603  with a SCSI disk attached  with SCSI id 2.    It boots automatically from partition one on power-up or reset.   The parameters that allow it to boot automatically all begin with 'Auto Boot'



PPC1-Bug>env
Bug or System environment [B/S] = B?
Field Service Menu Enable [Y/N] = N?
Remote Start Method Switch [G/M/B/N] = B?
Probe System for Supported I/O Controllers [Y/N] = Y?
Auto-Initialize of NVRAM Header Enable [Y/N] = Y?
Network PReP-Boot Mode Enable [Y/N] = Y?
Negate VMEbus SYSFAIL* Always [Y/N] = N?
SCSI Bus Reset on Debugger Startup [Y/N]   = N?
Primary SCSI Bus Negotiations Type [A/S/N] = A?
Primary SCSI Data Bus Width [W/N]          = N?
Secondary SCSI Identifier                  = "07"?
NVRAM Bootlist (GEV.fw-boot-path) Boot Enable [Y/N]           = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot at power-up only [Y/N] = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot Abort Delay            = 5?
Auto Boot Enable [Y/N]           = Y?
Auto Boot at power-up only [Y/N] = N?
Auto Boot Scan Enable [Y/N]      = N?
Auto Boot Scan Device Type List  = FDISK/CDROM/TAPE/HDISK/?
Auto Boot Controller LUN   = 00?
Auto Boot Device LUN       = 20?
Auto Boot Partition Number = 01?
Auto Boot Abort Delay      = 7?
Auto Boot Default String [NULL for an empty string] = ?
ROM Boot Enable [Y/N]            = N?
ROM Boot at power-up only [Y/N]  = Y?
ROM Boot Enable search of VMEbus [Y/N] = N?
ROM Boot Abort Delay             = 5?
ROM Boot Direct Starting Address = FFF00000?
ROM Boot Direct Ending Address   = FFFFFFFC?
Network Auto Boot Enable [Y/N]           = N?
Network Auto Boot at power-up only [Y/N] = N?
Network Auto Boot Controller LUN = 00?
Network Auto Boot Device LUN     = 00?
Network Auto Boot Abort Delay    = 5?
Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000?
Memory Size Enable [Y/N]         = Y?
Memory Size Starting Address     = 00000000?
Memory Size Ending Address       = 02000000?
DRAM Speed in NANO Seconds       = 60?
ROM First Access Length (0 - 31) = 10?
ROM Next Access Length  (0 - 15) = 0?
DRAM Parity Enable [On-Detection/Always/Never - O/A/N]    = O?
L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O?
PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A0B0E0F?
Serial Startup Code Master Enable [Y/N] = N?
Serial Startup Code LF Enable [Y/N] =     N?
VME3PCI Master Master Enable [Y/N] = N?
PCI Slave Image 0 Control                = 00000000?
PCI Slave Image 0 Base Address Register  = 00000000?
PCI Slave Image 0 Bound Address Register = 00000000?
PCI Slave Image 0 Translation Offset     = 00000000?
PCI Slave Image 1 Control                = C0820000?
PCI Slave Image 1 Base Address Register  = 01000000?
PCI Slave Image 1 Bound Address Register = 20000000?
PCI Slave Image 1 Translation Offset     = 00000000?
PCI Slave Image 2 Control                = C0410000?
PCI Slave Image 2 Base Address Register  = 20000000?
PCI Slave Image 2 Bound Address Register = 22000000?
PCI Slave Image 2 Translation Offset     = D0000000?
PCI Slave Image 3 Control                = C0400000?
PCI Slave Image 3 Base Address Register  = 2FFF0000?
PCI Slave Image 3 Bound Address Register = 30000000?
PCI Slave Image 3 Translation Offset     = D0000000?
VMEbus Slave Image 0 Control                = E0F20000?
VMEbus Slave Image 0 Base Address Register  = 00000000?
VMEbus Slave Image 0 Bound Address Register = 02000000?
VMEbus Slave Image 0 Translation Offset     = 80000000?
VMEbus Slave Image 1 Control                = 00000000?
VMEbus Slave Image 1 Base Address Register  = 00000000?
VMEbus Slave Image 1 Bound Address Register = 00000000?
VMEbus Slave Image 1 Translation Offset     = 00000000?
VMEbus Slave Image 2 Control                = 00000000?
VMEbus Slave Image 2 Base Address Register  = 00000000?
VMEbus Slave Image 2 Bound Address Register = 00000000?
VMEbus Slave Image 2 Translation Offset     = 00000000?
VMEbus Slave Image 3 Control                = 00000000?
VMEbus Slave Image 3 Base Address Register  = 00000000?
VMEbus Slave Image 3 Bound Address Register = 00000000?
VMEbus Slave Image 3 Translation Offset     = 00000000?
PCI Miscellaneous Register       = 10000000?
Special PCI Slave Image Register = 00000000?
Master Control Register          = 80C00000?
Miscellaneous Control Register   = 52060000?
User AM Codes                    = 00000000?

This example comes from an MVME2304 that boots over the network with bootp and tftp.  It can boot with NFS or ramdisk depending on what kernel it gets via bootp/tftp.   It also boots automatically on power-up or reset.   The parameters that allow it to boot correctly all begin with 'Network Auto Boot'.



PPC1-Bug>env
Bug or System environment [B/S] = B?
Field Service Menu Enable [Y/N] = N?
Remote Start Method Switch [G/M/B/N] = B?
Probe System for Supported I/O Controllers [Y/N] = Y?
Auto-Initialize of NVRAM Header Enable [Y/N] = Y?
Network PReP-Boot Mode Enable [Y/N] = Y?
Negate VMEbus SYSFAIL* Always [Y/N] = N?
SCSI Bus Reset on Debugger Startup [Y/N]   = N?
Primary SCSI Bus Negotiations Type [A/S/N] = A?
Primary SCSI Data Bus Width [W/N]          = N?
Secondary SCSI Identifier                  = "07"?
NVRAM Bootlist (GEV.fw-boot-path) Boot Enable [Y/N]           = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot at power-up only [Y/N] = N?
NVRAM Bootlist (GEV.fw-boot-path) Boot Abort Delay            = 5?
Auto Boot Enable [Y/N]           = N?
Auto Boot at power-up only [Y/N] = N?
Auto Boot Scan Enable [Y/N]      = Y?
Auto Boot Scan Device Type List  = FDISK/CDROM/TAPE/HDISK/?
Auto Boot Controller LUN   = 00?
Auto Boot Device LUN       = 00?
Auto Boot Partition Number = 00?
Auto Boot Abort Delay      = 7?
Auto Boot Default String [NULL for an empty string] = ?
ROM Boot Enable [Y/N]            = N?
ROM Boot at power-up only [Y/N]  = Y?
ROM Boot Enable search of VMEbus [Y/N] = N?
ROM Boot Abort Delay             = 5?
ROM Boot Direct Starting Address = FFF00000?
ROM Boot Direct Ending Address   = FFFFFFFC?
Network Auto Boot Enable [Y/N]           = Y?
Network Auto Boot at power-up only [Y/N] = N?
Network Auto Boot Controller LUN = 00?
Network Auto Boot Device LUN     = 00?
Network Auto Boot Abort Delay    = 5?
Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000?
Memory Size Enable [Y/N]         = Y?
Memory Size Starting Address     = 00000000?
Memory Size Ending Address       = 02000000?
DRAM Speed in NANO Seconds (0=AUTO) = 60?
ROM First Access Length (0 - 31) = 10?
ROM Next Access Length  (0 - 15) = 0?
DRAM Parity Enable [On-Detection/Always/Never - O/A/N]    = O?
L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O?
PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A0B0E0F?
Serial Startup Code Master Enable [Y/N] = N?
Serial Startup Code LF Enable [Y/N] =     N?
VME3PCI Master Master Enable [Y/N] = N?
PCI Slave Image 0 Control                = 00000000?
PCI Slave Image 0 Base Address Register  = 00000000?
PCI Slave Image 0 Bound Address Register = 00000000?
PCI Slave Image 0 Translation Offset     = 00000000?
PCI Slave Image 1 Control                = C0820000?
PCI Slave Image 1 Base Address Register  = 01000000?
PCI Slave Image 1 Bound Address Register = 20000000?
PCI Slave Image 1 Translation Offset     = 00000000?
PCI Slave Image 2 Control                = C0410000?
PCI Slave Image 2 Base Address Register  = 20000000?
PCI Slave Image 2 Bound Address Register = 22000000?
PCI Slave Image 2 Translation Offset     = D0000000?
PCI Slave Image 3 Control                = C0400000?
PCI Slave Image 3 Base Address Register  = 2FFF0000?
PCI Slave Image 3 Bound Address Register = 30000000?
PCI Slave Image 3 Translation Offset     = D0000000?
VMEbus Slave Image 0 Control                = E0F20000?
VMEbus Slave Image 0 Base Address Register  = 00000000?
VMEbus Slave Image 0 Bound Address Register = 02000000?
VMEbus Slave Image 0 Translation Offset     = 80000000?
VMEbus Slave Image 1 Control                = 00000000?
VMEbus Slave Image 1 Base Address Register  = 00000000?
VMEbus Slave Image 1 Bound Address Register = 00000000?
VMEbus Slave Image 1 Translation Offset     = 00000000?
VMEbus Slave Image 2 Control                = 00000000?
VMEbus Slave Image 2 Base Address Register  = 00000000?
VMEbus Slave Image 2 Bound Address Register = 00000000?
VMEbus Slave Image 2 Translation Offset     = 00000000?
VMEbus Slave Image 3 Control                = 00000000?
VMEbus Slave Image 3 Base Address Register  = 00000000?
VMEbus Slave Image 3 Bound Address Register = 00000000?
VMEbus Slave Image 3 Translation Offset     = 00000000?
VMEbus Register Access Image Control Register = 00000000?
VMEbus Register Access Image Base Address Register = 00000000?
PCI Miscellaneous Register       = 10000000?
Special PCI Slave Image Register = 00000000?
Master Control Register          = 80C00000?
Miscellaneous Control Register   = 52060000?
User AM Codes                    = 00000000?
Firmware Command Buffer Enable [Y/N] = N?
Firmware Command Buffer Delay  = 5?
Firmware Command Buffer :
['NULL' terminates entry]?

License Identifier = "5243515 "

Created 20-May-2002 by:David Asner