Creating Diagnostic Test Images#
In uncommon situations you may want to execute a self-contained diagnostic program as a compute node image. In this case, "self-contained" means the diagnostic program itself functions as a kernel and does not need an initrd.
An example self-contained diagnostic program is the memtest86+ memory
diagnostic, which can be downloaded from www.memtest.org.
To check the memtest and create a boot configuration that works for both EFI and legacy booting using the ISO file:
Download the latest compressed Linux 64-bit ISO from www.memtest.org. For example,
mt86plus_8.00_x86_64.iso.zip.Uncompress the downloaded file to expose the ISO:
unzip mt86plus_8.00_x86_64.iso.zip
Mount the ISO:
mkdir memtest sudo mount memtest.iso memtest
Create a new boot configuration that includes the EFI binary:
cw-bootctl create name=Memtest kernel=@memtest/EFI/BOOT/bootx64.efi
Configure the desired node to execute the new boot configuration:
cw-nodectl -in10 set _boot_config=Memtest
Ensure that you have a method to view serial output from that node. For example, if serial output uses ttyS1:
cw-bootctl -i Memtest update cmdline="console=ttyS1,115200"
Reboot the node:
cw-nodectl -in10 reboot
Alternatively, you can use the binary files from www.memtest.org and combine some of the commands:
Download the latest binary file from www.memtest.org. For example,
mt86plus_8.00.binaries.zip.Uncompress the downloaded file:
[admin@head1]$ unzip mt86plus_8.00.binaries.zip Archive: mt86plus_8.00.binaries.zip inflating: mt86p_800_i586 inflating: mt86p_800_la64 inflating: mt86p_800_x86_64
Create a new boot configuration that includes the memtest kernel:
[admin@head1]$ cw-bootctl create name=mt86p_800_x86_64 kernel=@mt86p_800_x86_64 Uploading mt86p_800_x86_64 to 7f2b0f5bbd9b40fa862a60dc8dcfd6b9 as kernel: 100.0% complete, elapsed: 0:00:00.3 done. Created Boot Configuration mt86p_800_x86_64
Configure the desired node to execute the new boot configuration and reboot the node:
[admin@head1]$ cw-nodectl -in0 set _boot_config=mt86p_800_x86_64 then reboot Results n0 success: True Nodes n0: reboot succeeded