Difference between revisions of "Configuration"
(→Make) |
|||
(26 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[ | + | [[Introduction]] | [[ZeptoOS_Documentation|Top]] | [[Installation]] |
---- | ---- | ||
− | == | + | == Downloading == |
− | * | + | * Log on one of the front end nodes of the Blue Gene (a login node or a service node). |
− | + | * Download the ZeptoOS tarball from the ZeptoOS [https://www.mcs.anl.gov/research/projects/zeptoos/downloads downloads page]. | |
− | + | * Extract the sources from the package: | |
− | + | <pre> | |
− | <pre>$ tar xjf | + | $ tar xjf ZeptoOS-<version>.tar.bz2 |
+ | </pre> | ||
− | + | == Configuring == | |
− | |||
− | + | Change to the top-level <tt>ZeptoOS-<version></tt> directory: | |
− | <pre>$ | + | |
+ | <pre> | ||
+ | $ cd ZeptoOS-<version> | ||
+ | </pre> | ||
− | + | A <tt>configure</tt> script is provided to set the pathnames to various system directories: | |
− | < | ||
+ | <pre> | ||
+ | $ ./configure | ||
+ | </pre> | ||
− | + | 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: | |
− | |||
<pre> | <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: | |
− | make | + | |
+ | <pre> | ||
+ | $ make | ||
</pre> | </pre> | ||
− | + | On the first invocation, this will ask for a root password to use on I/O nodes: | |
− | |||
− | |||
− | + | <pre> | |
− | <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). | ||
---- | ---- | ||
− | [[ | + | [[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).
- Download the ZeptoOS tarball from the ZeptoOS downloads page.
- 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:
Please select the top item (BG/P DIST_DIR). The screen will change to:
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).