The procedures below concern PowerPC target systems such as genesis2 or mcp750 reference platforms.
The following procedure assumes that the ChorusOS 4.0 product has already been correctly installed on the host workstation. See the ChorusOS 4.0 Installation Guide for Solaris Hosts or the ChorusOS 4.0 Installation Guide for Windows NT Hosts for instructions.
Create and change to a build directory where you will build system images:
$ mkdir build_dir $ cd build_dir |
Set an environment variable to use with the configure(1CC) command as a shortcut to the base directory:
|
Set the environment variable... |
To the family-specific product directory. The default value is... |
|---|---|
|
DIR |
/opt/SUNWconn/SEW/4.0/chorus-powerpc on a Solaris host |
|
DIR |
/c/cygnus/cygwin-b20/Chorus/opt/SUNWconn/SEW/4.0/chorus-powerpc on a Windows NT host |
Make sure your PATH has been set correctly to include the directory install_dir/4.0/chorus-powerpc/tools/host/bin where the default install_dir is /opt/SUNWconn/SEW.
If your host is running the Solaris operating environment, also make sure that your PATH includes /usr/openwin/bin, which contains the imake utility.
If your host is running Windows NT, also make sure that your PATH includes /usr/bin, which contains the imake utility.
Configure the build directory, using the configure(1CC) command:
If you are building from a binary distribution:
$ configure -b $DIR/kernel \ $DIR/os \ $DIR/tools \ -s $DIR/src/nucleus/bsp/drv \ $DIR/src/nucleus/bsp/powerpc \ $DIR/src/nucleus/bsp/powerpc/genesis2 \ $DIR/src/iom |
Depending on the target system architecture, you may need to enter $DIR/src/nucleus/bsp/powerpc/mcp750 instead of $DIR/src/nucleus/bsp/powerpc/genesis2 as the next to last argument.
The above command configures the build directory to include components installed during a "Default Install". It does not include optional components, such as the X library or code examples, that you may choose to install separately on Solaris host workstations. For example, in order to include everything in your build environment:
$ configure -b $DIR/kernel \ $DIR/os \ $DIR/opt/X11 \ $DIR/opt/jvm \ $DIR/tools \ -s $DIR/src/nucleus/bsp/drv \ $DIR/src/nucleus/bsp/powerpc \ $DIR/src/nucleus/bsp/powerpc/genesis2 \ $DIR/src/iom \ $DIR/src/opt/examples |
If you are building from the source distribution, see the ChorusOS 4.0 Production Guide.
As a result of configuration, build_dir now contains a Makefile, which is used to generate the build environment, and a Paths file, which specifies paths to files required by and created in the build environment.
Generate the build environment:
$ make |
Build a system image:
$ make chorus |
The resulting system image file is located in the build directory, build_dir and is called chorus.RAM.
You can also make a smaller system image that includes only the operating system kernel:
$ make kernonly |
The standard way to boot a system image built on a Windows NT host workstation is to copy the system image to a Solaris boot server and boot from the Solaris system. See the ChorusOS 4.0 Installation Guide for Solaris Hosts for instructions on how to configure the boot server.
Copy the system image to the boot server.
For example, on a Solaris host workstation:
$ rcp chorus.RAM boot_server:/tftpboot |
Or, on a Windows NT host workstation, using the Cygwin tools:
$ rcp -b chorus.RAM boot_server.user:/tftpboot |
The -b option causes rcp to transfer the system image as a binary file rather than an ASCII file, which is the default.
It is assumed that the user has access to perform this copy on the Solaris boot_server system and therefore that the user is the same on the Windows NT host and on the Solaris boot server .
Verify that everyone has at least read access to the system image on the boot server.
For example, on a Solaris host workstation:
$ rlogin boot_server Password: password_for_user $ ls -l /tftpboot/chorus.RAM -rwxr-xr-x 1 user group 1613824 Dec 15 17:33 chorus.RAM* |
As rlogin(1) is not available as part of the Cygwin tools, you should use the Windows NT Telnet application to log in from the Windows NT host to the boot server. You can run Telnet by selecting Start | Programs | Accessories | Telnet from the Start menu.
PPC1-Bug FirmwareRestart the target system.
Change the network configuration of the target system through the target system console:
PPC1-Bug> niot
Controller LUN =00?
Device LUN =00?
Node Control Memory Address =01F9E000?
Client IP Address =129.157.196.64? <- target IP
Server IP Address =129.157.196.1? <- boot server IP
Subnet IP Address Mask =255.255.255.0?
Broadcast IP Address =129.157.196.255?
Gateway IP Address =0.0.0.0?
Boot File Name ("NULL" for None) =chorus.RAM? <- file to load
Argument File Name ("NULL" for None) =?
Boot File Load Address =00400000? <- configured start
Boot File Execution Address =00400000? <- addr of the system Bank
Boot File Execution Delay =00000000?
Boot File Length =00000000?
Boot File Byte Offset =00000000?
|
Disable PReP-Boot mode and then update NVRAM through the target system console:
PPC1-Bug> env ... Network PReP-Boot Mode Enable [Y/N] =N? <- must be turned off |
Load and boot the ChorusOS system image:
PPC1-Bug> nbo
Network Booting from: DEC21140, Controller 0, Device 0
Device Name: /pci@80000000/pci1011,9@e,0:0,0
Loading: chorus.RAM
Client IP Address = 129.157.173.193
Server IP Address = 129.157.196.1
Gateway IP Address = 0.0.0.0
Subnet IP Address Mask = 255.255.255.0
Boot File Name = chorus.RAM
Argument File Name =
Network Boot File load in progress... To abort hit <BREAK>
Bytes Received =&1875968, Bytes Loaded =&1875968
Bytes/Second =&208440, Elapsed Time =9 Second(s)
>
..... Booting Chorus .....
ChorusOS r4.0.0 for PowerPC - Motorola Genesis 2 family
Copyright (c) 1999 Sun Microsystems, Inc. All rights reserved.
Kernel modules : CORE SCHED_FIFO SEM MIPC IPC_L MEM_VM KDB TICK MON ENV ETIMER
LOG LAPSAFE MUTEX EVENT MEM_DFPXM UI DATE PERF TIMEOUT LAPBIND DKI
MEM: memory device 'sys_bank' vaddr 0xfaaf3000 size 0x1c9000
/cpu: sun:powerpc-(timebase,dec)-timer driver started
/raven: sun:powerpc-raven-(bus,pci) driver started
/raven/w83c553: sun:pci-w83c553-(bus,isa) driver started
/raven/w83c553/i8254: sun:bus-i8254-timer driver started
/raven/w83c553/m48t559: sun:bus-m48txx-(nvram,rtc) driver started
/raven/w83c553/ns16550-2: sun:bus-ns16550-uart driver started
/raven/w83c553-ide: sun:pci-w83c553-ide driver started
/raven/dec-21140: 10BaseT (Twisted Pair) link auto-detected
/raven/dec-21140: Ethernet address 08:00:3e:28:38:97
/raven/dec-21140: sun:pci-dec21x4x-ether driver started
MEM: VM resource manager daemon starts
MEM: PXM mapper daemon starts (site 0x1)
MEM: PXM fs flush daemon starts
IOM: SOFTINTR DISABLED (-31). Using an Interrupt thread
IOM Init cluster space from: 0xfaacf000 to: 0xfaaef800 [65 items of size: 2048]
IOM Init io-buf pool from: 0xfaaef850 to: 0xfaaefd70 [8 items of size: 164]
IOM Init raw io-buffer pool from: 0xfaaefd70 to: 0xfaaf11f0 [32 items of size: 164]
Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
max disk buffer space = 0x10000
/rd: sun:ram--disk driver started
C_INIT: started
C_INIT: /image/sys_bank mounted on /dev/bd01
C_INIT: found /image/sys_bank/sysadm.ini
C_INIT: executing start-up file /image/sys_bank/sysadm.ini
bpf: ifeth0 attached
IOM: ifnet ifeth0 bound to device /raven/dec-21140
bpf: lo0 attached
C_INIT: Internet Address: 129.157.173.193
C_INIT: RARP Network Initialization OK
ifeth0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 129.157.173.193 netmask 0xffff0000 broadcast 129.157.255.255
ether 08:00:3e:28:38:97
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
C_INIT: rshd started
|