Difference between revisions of "Configuration"

From ZeptoOS
Jump to navigationJump to search
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Features]] [https://wiki.mcs.anl.gov/zeptoos/index.php/ZeptoOS_Documentation Top] [[Installation]]
+
[[Introduction]] | [[ZeptoOS_Documentation|Top]] | [[Installation]]
 
----
 
----
  
== Checklist ==
+
== Downloading ==
  
* It is necessary that the user is logged on the the login node.
+
* Log on one of the front end nodes of the Blue Gene (a login node or a service node).
  
== Configuring the Build ==
+
* Download the ZeptoOS tarball from the ZeptoOS [https://www.mcs.anl.gov/research/projects/zeptoos/downloads downloads page].
  
=== The Configure Script ===
+
* Extract the sources from the package:
Download the bzipped file on the [[Bluegene/P]] login node. Extract the sources by using:
+
<pre>
<pre>$ tar xjf ZeptoOS-V20-V1R3M0-beta-20090401161133.tar.bz2 </pre>
+
$ tar xjf ZeptoOS-<version>.tar.bz2
 +
</pre>
 +
 
 +
== Configuring ==
 +
 
 +
Change to the top-level <tt>ZeptoOS-<version></tt> directory:
  
Change to the BGP top directory using:
+
<pre>
<pre>$ cd BGP/</pre>
+
$ cd ZeptoOS-<version>
 +
</pre>
  
Then you can use the ''configure'' script to set the system tools path to default using:
+
A <tt>configure</tt> script is provided to set the pathnames to various system directories:
<pre>$ ./configure</pre>
 
  
In order to configure the site specific paths using the tool use:
+
<pre>
<pre>$ ./configure --edit</pre>
+
$ ./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:
  
Typing ''make help'' will bring up the following menu:
 
 
<pre>
 
<pre>
[MENU]
+
$ ./configure --edit
 +
</pre>
 +
 
 +
This will display the following menu:
  
make                      - Prepare Zepto kernel and ramdisk images
+
[[Image:Configure1.png|border|Main menu]]
  
make bgp-ion-ramdisk      - Rebuild ION ramdisk for CNK
+
Please select the top item (<tt>BG/P DIST_DIR</tt>).  The screen will change to:
make bgp-ion-ramdisk-cnl  - Rebuild ION ramdisk for CNL
 
  
make bgp-ion-linux        - Simply use recent built or prebuilt ION kernel (no kernel rebuild)
+
[[Image:Configure2.png|border|DIST_DIR menu]]
make bgp-cn-linux          - Rebuild CN ramdisk and merge with recent built or prebuilt CN kernel objs
 
  
make bgp-ion-linux-build  - Rebuild ION kernel
+
The following options are available:
make bgp-cn-linux-build    - Rebuild CN kernel objs and CN ramdisk, then merge them into CN Kernel
 
  
make bgp-all-pkg-smart    - Build packages from the prebuilt binaries
+
; DRV_DIR
make bgp-all-pkg-rebuild  - Rebuild all packages from source
+
: 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>
 
</pre>
  
To start using the default built binaries simply type:
+
On the first invocation, this will ask for a root password to use on I/O nodes:
<pre>$ make</pre>
 
This will copy all the required kernel and ramdisk images to the top level directory.
 
  
 
=== Examining the Build Directory ===
 
If the build was successful, one should be able to see the following new files either rebuilt from sources or copied from their prebuilt locations:
 
 
<pre>
 
<pre>
$ ls -l
+
Create root password for I/O Node
-rwxr-xr-x  1 hnaik users  8629983 2009-01-23 17:16 BGP-CN-zImage-with-initrd.elf
+
  Leave the password field empty if you want to disable root login
-rwxr-xr-x  1 hnaik users  1444183 2009-01-23 17:03 BGP-exp-ION-zImage.elf
+
  New password:
-rwxr-xr-x  1 hnaik users 10423112 2009-01-23 17:03 BGP-ION-ramdisk.elf
 
-rwxr-xr-x  1 hnaik users 10423988 2009-01-23 17:03 BGP-ION-ramdisk-for-CNL.elf
 
-rw-r--r--  1 hnaik users      132 2009-01-23 17:03 bgp-ion-ramdisk-passwd.txt
 
-rwxr-xr-x  1 hnaik users  1351583 2009-01-23 17:08 BGP-ION-zImage.elf
 
 
</pre>
 
</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/ZeptoOS_Documentation Top] [[Installation]]
+
[[Introduction]] | [[ZeptoOS_Documentation|Top]] | [[Installation]]

Latest revision as of 13: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