bootMonitor
Configure the ChorusOS system image to be downloaded by bootMonitor
:
Place the bootMonitor
image on the boot server.
See Chapter 5, Setting Up a Boot Server, 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.bmon boot_server:/tftpboot/sytem_image_name |
Verify that at least read permissions are available for the system image on the boot server. For example:
$ rlogin boot_server Password: password_for_user $ ls -l /tftpboot/chorus.RAM.bmon -rwxr-xr-x 1 user group 1613824 Dec 15 17:33 chorus.RAM.bmon* |
While logged in to the boot server, create a configuration file for the target.
For a target system with IP address 129.157.173.199 using a boot server with IP address 129.157.173.144, the configuration file contains the following:
AUTOBOOT=YES BOOTFILE=chorus.RAM.bmon BOOTSERVER=129.157.173.144
The configuration file is named /tftpboot/819DADC7.ChorusOS.5.0, which is constructed from the target system IP address 129.157.173.199 as a concatenation of the following:
129 in decimal translates to 81 in hexadecimal
157 in decimal translates to 9D in hexadecimal
173 in decimal translates to AD in hexadecimal
199 in decimal translates to C7 in hexadecimal
(optional) A .ChorusOS.5.0 extension identifies the release, and is appended to the concatenation of the IP address expressed in hexadecimal.
The system first attempts to find the configuration file with the .ChorusOS.5.0 extension. If no such file exists, the system attempts to find a configuration file without the .ChorusOS.5.0 extension.
Create a bootMonitor
image.
See the bootMonitor(1M) man page for details about how bootMonitor
works.
Create a build directory where you will build a bootMonitor
image:
$ mkdir bootmon $ cd bootmon |
Not that this build directory is different from the directory where you build system images.
Configure the bootmon directory:
$ configure -b $DIR/kernel \ -s $DIR/src/nucleus/bsp \ $DIR/src/nucleus/bsp/powerpc/mcp7xx |
Generate the build environment:
$ make |
Edit the special /conf/mini profile in the bootmon directory so that it reads:
# # Mini Profile # # Microkernel features # -set USER_MODE=false -set POSIX_SHM=false -set VIRTUAL_ADDRESS_SPACE=false -set SEM=false -set EVENT=false -set MONITOR=false -set TIMER=false -set DATE=false -set RTC=false -set PERF=false -set IPC=false -set MIPC=false -set LAPBIND=true # must be 'true' -set LAPSAFE=true # must be 'true' -set MON=false -set LOG=false -set DEBUG_SYSTEM=false -set SOLARIS_SYSEVENT=false
This is file is slightly different from the default mini file.
Configure the build environment for bootMonitor
:
$ configurator -p conf/mini $ configurator -set BOOT_MODE=ROM $ configurator -set LOADER=ppc1-bug $ configurator -setenv BOOTCONF=RARP |
For details about the BOOTCONF environment variable and available options, see the bootConfig(1M) and bootAgent(1M) man pages.
Build a bootMonitor
image:
$ make bootMonitor |
The resulting image file is located in the build directory, bootmon and is called bootMonitor.ROM.