ChorusOS 5.0 Installation Guide

Chapter 6 Building and Booting a ChorusOS System for an UltraSPARC Target

This chapter describes how to build and boot a ChorusOS system for UltraSPARC IIi/IIe processor families. For information on the system requirements and the packages available with UltraSPARC IIi/IIe targets, see the ChorusOS 5.0 Target Family Guide (SPARC Platform Edition).


Note -

UltraSPARC IIi/IIe target systems do not boot system images directly, but instead require inetboot to boot.

As a result, the boot procedure that follows differs from the procedure described in Chapter 5, Setting Up a Boot Server, and requires that you use a boot server that reads local files instead of the NIS database.


This chapter includes the following sections:

Overview of the Process

Figure 6-1 Building and Booting a ChorusOS System for UltraSPARC Targets

Graphic

Building the System Image

The following procedure assumes that the Sun Embedded Workshop software has already been correctly installed on the host workstation. See Chapter 1, Installing on the Host for installation instructions.

  1. Create and change to a build directory where you will build the system image:


    $ mkdir build_dir
    $ cd build_dir
    

    Note -

    The file system containing the build_dir directory must be accessible by NFS from the remote ChorusOS target.


  2. Set an environment variable to use with the configure(1CC) command as a shortcut to the directory.

    For example:


    $ export DIR=/opt/SUNWconn/SEW/5.0-UltraSPARC/chorus-usparc
    
  3. Verify that the PATH environment variable has been set correctly to include the directory:

    install_dir/chorus-usparc/tools/host/bin

    where the default install_dir is /opt/SUNWconn/SEW/5.0-UltraSPARC.

    The PATH environment variable must include /usr/openwin/bin, which contains the imake utility.

  4. 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 \ 
      $DIR/src/nucleus/bsp/usparc/cpxxxx 
      

      Note -

      The preceding command configures the build directory to include components installed during a "Default Install". This command does not include optional components, such as the X library or code examples, that you may choose decide to install separately on Solaris host workstations. For example, to include everything in your build environment:


      $ configure -b $DIR/kernel \ 
      $DIR/os \ 
      $DIR/opt/X11 \ 
      $DIR/tools \ 
      -s $DIR/src/nucleus/bsp \ 
      $DIR/src/nucleus/bsp/usparc/cpxxxx \ 
      $DIR/src/opt/examples
      

    • If you are building the system image from a source distribution, see the ChorusOS 5.0 Source Delivery Guide.

    As a result of the configuration, build_dir contains the Makefile, which generates the build environment, and the Paths file, which specifies paths to files required by and created in the build environment.

  5. Generate the build environment:


    $ make
    
  6. Define the target board using the TARGET feature using the configurator(1CC):


    $ configurator -set TARGET=CP1500
    

    The following options are available with the TARGET feature:

    • CP1500 (default)

    • CP2000

  7. Build the system image:


    $ make chorus
    

    The resulting system image file, chorus.obp, is located in the build_dir directory.


    Note -

    You can also make a smaller system image that includes only the operating system microkernel:


    $ make kernonly
    

  8. Generate the NFS root file system:


    $ make root
    

    This command creates a root directory in the build directory. The root directory contains binary and configuration files that are accessed by the target system.

Configuring the Boot Server

The following procedure requires that the target system and boot server must be on the same subnet.

See Chapter 5, Setting Up a Boot Server. for instructions on how to enable TFTP and RARP services on the boot server.

  1. Become superuser on the boot server:


    $ su
    Password: superuser_password
    # 
  2. Copy the inetboot.sun4u file, that is, install_dir/chorus-usparc/opt/unsupported/inetboot.sun4u to the /tftpboot directory, where, the install_dir is /opt/SUNWconn/SEW/5.0-UltraSPARC.

  3. Create a soft link from the inetboot.sun4u file to a file called /tftpboot/target_IP_address_in_hex.

    For example, the file for the target system with IP address 129.157.197.88 is called 819DC558, and is constructed as follows:

    • 129 in decimal translates to 81 in hexadecimal

    • 157 in decimal translates to 9D in hexadecimal

    • 197 in decimal translates to C5 in hexadecimal

    • 88 in decimal translates to 58 in hexadecimal

    To create the soft link for the preceding examples, use the following commandS:


    # ln -s /tftpboot/inetboot.sun4u 819DC558
    
  4. Create a /tftpboot/export/root/target/platform/sun4u directory on the boot server.

  5. Copy the system image, chorus.obp, to the directory you just created.

  6. Edit /etc/bootparams to include the following:

    target root=boot_server:/tftpboot/export/root/target
    

    where target is the target system hostname and boot_server is the boot server hostname.


    Note -

    Create the bootparams file if it doesn't exist.


  7. Edit /etc/hosts to include the following:

    target_IP_address     target
    

    where target_IP_address is the target IP address (such as 129.157.197.88) and target is the target system hostname.

  8. Edit /etc/ethers to include the following:

    target_Ethernet_address     target
    

    where target_Ethernet_address is the target Ethernet address (such as 8:0:20:a7:d6:f3) and target is the target system hostname.

  9. Edit /etc/dfs/dfstab to include the following:

    share -F nfs -o rw -d "ChorusOS boot"  /export/home

    For the directory to be shared, you must stop and then restart the NFS server on the host workstation as follows:


    $ su
    Password: superuser_password
    # /etc/init.d/nfs.server stop
    # /etc/init.d/nfs.server start
    
  10. Edit /etc/nsswitch.conf so that the hosts, ethers, and bootparams entries read files, rather than NIS databases. For example:

    #
    # /etc/nsswitch.nis:
    #
    # An example file that could be copied over to /etc/nsswitch.conf; it
    # uses NIS (YP) in conjunction with files.
    #
    # "hosts:" and "services:" in this file are used only if the
    # /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports.
    
    # the next two lines obviate the "+" entry in /etc/passwd and /etc/group.
    passwd:     files nis
    group:      files nis
    
    # consult /etc "files" only if nis is down. 
    hosts:      files [NOTFOUND=return] nis
    networks:   nis [NOTFOUND=return] files
    protocols:  nis [NOTFOUND=return] files
    rpc:        nis [NOTFOUND=return] files
    ethers:     files [NOTFOUND=return] nis
    netmasks:   nis [NOTFOUND=return] files	
    bootparams: files [NOTFOUND=return] nis
    publickey:  nis [NOTFOUND=return] files
    
    netgroup:   nis
    
    automount:  files nis
    aliases:    files nis
    
    # for efficient getservbyname() avoid nis
    services:   files nis
    sendmailvars:   files
  11. Reboot the boot server.

Booting the UltraSPARC Target System

  1. Enter the following in the target system console:


    # ok boot net /platform/sun4u/chorus.obp
    

The ChorusOS system image is running on the target.

For information on what to do next, see About ChorusOS 5.0 Documentation, which will guide you to the appropriate information for your task.