0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SuperDiagのカスタムISOイメージを作成する

Last updated at Posted at 2025-07-16

SuperDiagについて

SuperDiagはSuperMicroが提供する診断ツールで、SuperMicro製サーバーのプロセッサやプラットフォームの低レベルな動作検証に使われる。
https://www.supermicro.com/ja/solutions/management-software/super-diagnostics-offline

ねらい

SuperDiagはカスタム設定をstarup.nshやDiag_Setting.binで行うことが出来る。
USB版は書き込み可能なので編集が出来るがUSBメモリは軽率に顧客環境に持ち込めない。
あらかじめ妥当な項目を選定したISOイメージを作成しておいて持ち込み可能な機材としたい。(デフォルトだと正常時でも治具の未接続等のエラーが出る)

動作原理

SuperDiagは計算機の起動時にEFIブートローダー(BOOTX64.EFI)を実行してスタートアップスクリプト(startup.nsh)を呼ぶ。startup.nshでは通常診断プログラム本体であるEFIバイナリ(SuperDiag.efi)を実行して診断の実行/診断UIを表示して制御をユーザに渡す。

つまるところSuperDiagの実態はEFI環境で動作するプログラムなので、ISOを作る際には必要なファイルをEFIパーティションに詰め込んで(下記手順のmkfs.fat -F -Mオプション辺り)EFIとして生成する(下記手順のmkisofs -eオプション辺り)必要がある。

BOOTX64.EFI

SuperDiagに同梱されたEFIブートローダー。EFIパーティションの/EFI/BOOT/以下に置く。

startup.nsh

EFIシェル起動後に実行されるシェル。
基本はSuperDiag.efiのコマンドラインオプションにより実行条件を制御する。
代表的な例は以下:

SuperDiag.efi /help
ヘルプを表示
SuperDiag.efi /gui
GUI版SuperDiagを起動
SuperDiag.efi /quick
CLI版SuperDiagのクイックテストを実行
SuperDiag.efi /full
CLI版SuperDiagのフルテストを実行

Diag_Setting.bin

USB/GUI版のSuperDiagでカスタムテストを編集しているとUSBメモリに作成され、カスタムテストの選択内容が記憶される。
バイナリで手動作成は難しいのでISO/GUI版作成前にUSB/GUI版でテストを行って取得しておく。

手順

mkisofsxorrisofsコマンドが実行可能なLinuxが必要。

GUI版

$ dd if=/dev/zero of=efi_gui.img bs=1k count=4000
$ mkfs.fat -F 12 -M 0xf8 efi_gui.img
$ sudo mount -o loop efi_gui.img /mnt
$ sudo mkdir -p /mnt/EFI/BOOT
$ sudo cp SuperDiag_1.10.1_20250305_For_X86/EFI/BOOT/BOOTX64.EFI /mnt/EFI/BOOT/
$ sudo cp SuperDiag_1.10.1_20230305_For_X86/SuperDiag.efi /mnt/
$ sudo cat <<'EOF' >/mnt/startup.nsh
SuperDiag.efi /gui
EOF
$ sudo cp Diag_Setting.bin /mnt/
$ sudo cp SuperDiagISO.txt /mnt/
$ sudo umount /mnt
$ mkisofs -rJ -V SuperDiag_1.10.1_GUI -o SuperDiag_1.10.1_GUI.iso -e efi_gui.img -no-emul-boot efi_gui.img

CLI版

$ dd if=/dev/zero of=efi_cli.img bs=1k count=4000
$ mkfs.fat -F 12 -M 0xf8 efi_cli.img
$ sudo mount -o loop efi_cli.img /mnt
$ sudo mkdir -p /mnt/EFI/BOOT
$ sudo cp SuperDiag_1.10.1_20250305_For_X86/EFI/BOOT/BOOTX64.EFI /mnt/EFI/BOOT/
$ sudo cp SuperDiag_1.10.1_20230305_For_X86/SuperDiag.efi /mnt/
$ sudo cat <<'EOF' >/mnt/startup.nsh
SuperDiag.efi /quick /dgi $dst
EOF
$ sudo cp SuperDiagISO.txt /mnt/
$ sudo umount /mnt
$ mkisofs -rJ -V SuperDiag_1.10.1_CLI -o SuperDiag_1.10.1_CLI.iso -e efi_cli.img -no-emul-boot efi_cli.img
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?