Difference between revisions of "Configuration"

From ZeptoOS
Jump to navigationJump to search
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Features]] [https://wiki.mcs.anl.gov/zeptoos/index.php/Complete_ZeptoOS_Documentation Top] [[Installation]]
+
[[Introduction]] | [[ZeptoOS_Documentation|Top]] | [[Installation]]
 
----
 
----
  
=== Checklist ===
+
== Downloading ==
  
* Login Node
+
* Log on one of the front end nodes of the Blue Gene (a login node or a service node).
  
=== Security Notes ===
+
* Download the ZeptoOS tarball from the ZeptoOS [https://www.mcs.anl.gov/research/projects/zeptoos/downloads downloads page].
  
ZeptoOS is completely configurable. You may choose to allow user login access, or restrict it. However you configure ZeptoOS, it is important to note that the default configuration from IBM is for the I/O Nodes to NFS mount the /bgl file system with full root privileges. This means that anyone who has root access on the I/O nodes can modify everything on the NFS server. On our machine, we have modified the service node to export /bgl read-only, without observing any adverse effects on the I/O nodes.
+
* Extract the sources from the package:
 +
<pre>
 +
$ tar xjf ZeptoOS-<version>.tar.bz2
 +
</pre>
  
=== Configuring the Build ===
+
== Configuring ==
  
Download the bzipped file on the [[Bluegene/P]] login node. Extract the sources by using:
+
Change to the top-level <tt>ZeptoOS-<version></tt> directory:
<code>$ tar xjf zeptoos-20.tar.bz2 </code>
 
  
Change to the BGP top directory using:
+
<pre>
<code>$ cd BGP/</code>
+
$ cd ZeptoOS-<version>
 +
</pre>
  
{{asfsadfasd}}
+
A <tt>configure</tt> script is provided to set the pathnames to various system directories:
  
Unlike ZeptoOS V1.5 on [[Bluegene/L]] where it was required to run a configure script, in ZeptoOS V2.0 for [[Bluegene/P]] we have an [http://en.wikipedia.org/wiki/Ncurses ncurses] based <code>make menuconfig</code> option. The required paths can be configured issuing:
+
<pre>
<code>$ make menuconfig</code>
+
$ ./configure
 +
</pre>
  
=== Building ZeptoOS V2.0 ===
+
If invoked without any arguments, it will use the defaults, which should be appropriate if ZeptoOS is configured on a system with a supported BG/P driver version. The pathnames can be changed with the help of a textual user interface by invoking the script as follows:
  
=== Examining the Build Directory ===
+
<pre>
 +
$ ./configure --edit
 +
</pre>
  
 +
This will display the following menu:
  
 +
[[Image:Configure1.png|border|Main menu]]
 +
 +
Please select the top item (<tt>BG/P DIST_DIR</tt>).  The screen will change to:
 +
 +
[[Image:Configure2.png|border|DIST_DIR menu]]
 +
 +
The following options are available:
 +
 +
; DRV_DIR
 +
: The directory with the BG/P driver tree.  The default (<tt>/bgsys/drivers/ppcfloor/</tt>) is a link pointing to the currently active driver.
 +
; BGP_CROSS
 +
: A prefix to the pathnames of the GNU cross-compilers used to build the compute node and I/O node software.
 +
; BGCNS_H_PATH and BGCNS_H
 +
: The location of a file needed to rebuild the kernel (these options are temporary and will be removed in the next version).
 +
; OS_DIR
 +
: The directory with the supplementary I/O node software used when booting the I/O nodes.  It needs to be set to match the BG/P driver version being used.
 +
 +
The second top-level menu (<tt>Debugging</tt>) has only one option:
 +
 +
; ADD_DEBUG_TOOLS
 +
: Check this option to include <tt>gdb</tt> and <tt>strace</tt> in the compute node ramdisk.  They are not included by default because of their size.
 +
 +
The third top-level menu (<tt>Kernel Profiling</tt>) is discussed in the [[(K)TAU#Configure ZeptoOS to point to KTAU patch and path|(K)TAU section]]
 +
 +
Select <tt>Exit</tt> (multiple times if needed) and confirm if you want to save any changes made.
 +
 +
== Building ==
 +
 +
To start using the pre-built binaries simply type:
 +
 +
<pre>
 +
$ make
 +
</pre>
 +
 +
On the first invocation, this will ask for a root password to use on I/O nodes:
 +
 +
<pre>
 +
Create root password for I/O Node
 +
  Leave the password field empty if you want to disable root login
 +
  New password:
 +
</pre>
 +
 +
'''Security note: root-level access to I/O nodes should only be given to trusted individuals.  A root user can access and modify files of all users in the system.'''
 +
 +
Once the password has been entered and confirmed, <tt>make</tt> will use pre-built kernel images, and will build the ramdisks from pre-built tools and utilities.  The following generated files will be placed in the top-level directory:
 +
 +
; BGP-CN-zImage-with-initrd.elf
 +
: ZeptoOS compute node Linux with embedded compute node ramdisk.
 +
; BGP-ION-zImage.elf
 +
: ZeptoOS I/O node kernel.
 +
; BGP-ION-ramdisk-for-CNL.elf
 +
: ZeptoOS I/O node ramdisk for use with the ZeptoOS compute node Linux.
 +
; BGP-ION-ramdisk-for-CNK.elf
 +
: ZeptoOS I/O node ramdisk for use with the IBM CNK (optional).
 +
 +
It is possible to rebuild individual ZeptoOS components using one of the following <tt>make</tt> targets (the list is also available by typing <tt>make help</tt> or <tt>make menu</tt>):
 +
 +
; bgp-cn-linux
 +
: Rebuilds the compute node ramdisk and embeds it into a compute node kernel image.
 +
; bgp-ion-ramdisk-cnl
 +
: Rebuilds the I/O node ramdisk for the ZeptoOS compute node Linux.
 +
; bgp-ion-ramdisk-cnk
 +
: Rebuilds the I/O node ramdisk for the IBM CNK.
 +
; bgp-ion-linux-build
 +
: Rebuilds the I/O node kernel.
 +
; bgp-cn-linux-build
 +
: Rebuilds the compute node kernel and ramdisk and embeds the ramdisk into the kernel.
 +
; bgp-all-pkg-rebuild
 +
: Rebuilds all packages from sources.
 +
; bgp-libs-build
 +
: Rebuilds SPI, DCMF and MPICH from sources
 +
(the following <tt>make</tt> targets are mostly for internal use)
 +
; bgp-ion-linux
 +
: Copies a recently rebuilt I/O node kernel if one is available; otherwise, uses a prebuilt binary (will not rebuild the kernel).
 +
; bgp-all-pkg-smart
 +
: Copies recently rebuilt packages if available; otherwise, uses prebuilt binaries (used when preparing to rebuild ramdisks).
  
 
----
 
----
[[Features]] [https://wiki.mcs.anl.gov/zeptoos/index.php/Complete_ZeptoOS_Documentation Top] [[Installation]]
+
[[Introduction]] | [[ZeptoOS_Documentation|Top]] | [[Installation]]

Latest revision as of 14:38, 25 February 2022

Introduction | Top | Installation


Downloading

  • Log on one of the front end nodes of the Blue Gene (a login node or a service node).
  • Extract the sources from the package:
$ tar xjf ZeptoOS-<version>.tar.bz2

Configuring

Change to the top-level ZeptoOS-<version> directory:

$ cd ZeptoOS-<version>

A configure script is provided to set the pathnames to various system directories:

$ ./configure

If invoked without any arguments, it will use the defaults, which should be appropriate if ZeptoOS is configured on a system with a supported BG/P driver version. The pathnames can be changed with the help of a textual user interface by invoking the script as follows:

$ ./configure --edit

This will display the following menu:

Main menu

Please select the top item (BG/P DIST_DIR). The screen will change to:

DIST_DIR menu

The following options are available:

DRV_DIR
The directory with the BG/P driver tree. The default (/bgsys/drivers/ppcfloor/) is a link pointing to the currently active driver.
BGP_CROSS
A prefix to the pathnames of the GNU cross-compilers used to build the compute node and I/O node software.
BGCNS_H_PATH and BGCNS_H
The location of a file needed to rebuild the kernel (these options are temporary and will be removed in the next version).
OS_DIR
The directory with the supplementary I/O node software used when booting the I/O nodes. It needs to be set to match the BG/P driver version being used.

The second top-level menu (Debugging) has only one option:

ADD_DEBUG_TOOLS
Check this option to include gdb and strace in the compute node ramdisk. They are not included by default because of their size.

The third top-level menu (Kernel Profiling) is discussed in the (K)TAU section

Select Exit (multiple times if needed) and confirm if you want to save any changes made.

Building

To start using the pre-built binaries simply type:

$ make

On the first invocation, this will ask for a root password to use on I/O nodes:

Create root password for I/O Node
   Leave the password field empty if you want to disable root login
   New password:

Security note: root-level access to I/O nodes should only be given to trusted individuals. A root user can access and modify files of all users in the system.

Once the password has been entered and confirmed, make will use pre-built kernel images, and will build the ramdisks from pre-built tools and utilities. The following generated files will be placed in the top-level directory:

BGP-CN-zImage-with-initrd.elf
ZeptoOS compute node Linux with embedded compute node ramdisk.
BGP-ION-zImage.elf
ZeptoOS I/O node kernel.
BGP-ION-ramdisk-for-CNL.elf
ZeptoOS I/O node ramdisk for use with the ZeptoOS compute node Linux.
BGP-ION-ramdisk-for-CNK.elf
ZeptoOS I/O node ramdisk for use with the IBM CNK (optional).

It is possible to rebuild individual ZeptoOS components using one of the following make targets (the list is also available by typing make help or make menu):

bgp-cn-linux
Rebuilds the compute node ramdisk and embeds it into a compute node kernel image.
bgp-ion-ramdisk-cnl
Rebuilds the I/O node ramdisk for the ZeptoOS compute node Linux.
bgp-ion-ramdisk-cnk
Rebuilds the I/O node ramdisk for the IBM CNK.
bgp-ion-linux-build
Rebuilds the I/O node kernel.
bgp-cn-linux-build
Rebuilds the compute node kernel and ramdisk and embeds the ramdisk into the kernel.
bgp-all-pkg-rebuild
Rebuilds all packages from sources.
bgp-libs-build
Rebuilds SPI, DCMF and MPICH from sources

(the following make targets are mostly for internal use)

bgp-ion-linux
Copies a recently rebuilt I/O node kernel if one is available; otherwise, uses a prebuilt binary (will not rebuild the kernel).
bgp-all-pkg-smart
Copies recently rebuilt packages if available; otherwise, uses prebuilt binaries (used when preparing to rebuild ramdisks).

Introduction | Top | Installation