irmc-bios-raid
Automates Fujitsu iRMC server power, BIOS, and RAID management via Redfish and XML.
Install
mkdir -p .claude/skills/irmc-bios-raid && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12267" && unzip -o skill.zip -d .claude/skills/irmc-bios-raid && rm skill.zipInstalls to .claude/skills/irmc-bios-raid
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Fujitsu iRMC S4 (TX1320 M3 等) の電源・BIOS・RAID 操作 + BIOS 設定リファレンス。Redfish (HTTPS + SECLEVEL=0) 経由の電源/ブート操作 + iRMC Web UI/KVM 経由の手動 BIOS/RAID 操作手順 + 全 BIOS 設定項目の網羅リファレンス (bios/)。training-tx1320 対応。Key capabilities
- →Power on a Fujitsu PRIMERGY server
- →Force off a Fujitsu PRIMERGY server
- →Cycle power on a Fujitsu PRIMERGY server
- →Enter BIOS Setup on a Fujitsu PRIMERGY server
- →Backup BIOS settings to an XML file
- →Restore BIOS settings from an XML file
How it works
The skill interacts with the Fujitsu iRMC S4 BMC using Redfish over HTTPS, sending commands to manage server power, boot options, and BIOS configurations. It also provides manual procedures for certain RAID operations.
Inputs & outputs
When to use irmc-bios-raid
- →Backup BIOS settings
- →Cycle server power
- →Restore BIOS configuration
About this skill
iRMC S4 BIOS / RAID 操作スキル
Fujitsu PRIMERGY サーバの iRMC S4 BMC を Redfish (HTTPS + 古い DH 鍵対策) 経由で操作する。 本セッション (2026-05-16) 時点で対応している唯一のマシンは training-tx1320 (10.254.254.9, 一時設置・クラスタ非参加)。
| サブコマンド | 用途 | 自動化レベル |
|---|---|---|
info <config> | 接続情報・PowerState・BIOS バージョン・ライセンス確認 | 完全自動 |
power status <config> | 電源状態取得 | 完全自動 |
power on <config> | 電源 On (ResetType=On) | 完全自動 |
power forceoff <config> | 強制 Off | 完全自動 |
power cycle <config> [wait=15] | ForceOff → wait → On | 完全自動 |
bios enter <config> | 再起動して BIOS Setup へ (BootSourceOverrideTarget=BiosSetup) | 完全自動 (POST 中の F2 不要) |
bios screenshot <config> <out.jpg> | OEM FTSComputerSystem.Screenshot (Make→Preview) | 半自動 (BIOS Setup 中など static screen で AllowableValues に Preview が出ない場合あり) |
bios backup <config> <out.xml> | WinSCU XML をダウンロード (boot phase で実行) | 完全自動 (scripts/irmc-bios.py backup) |
bios restore <config> <in.xml> | WinSCU XML をインポート (boot phase で適用) | 完全自動 (scripts/irmc-bios.py restore、 multipart/form-data data=@xml) |
bios show <xml> [regex] | XML 内の <supportedSetting> を一覧 | 完全自動 |
bios set <xml> <id> <value> | XML 内の特定 id の <value> を書換 | 完全自動 |
bios diff <a.xml> <b.xml> | 2 つの XML 間の値差分表示 | 完全自動 |
bios apply-config <config> | config['bios_settings.supported'] の値を XML に書き込み → restore | 完全自動 |
bios verify <config> | 現在の BIOS 設定が config と一致するか確認 | 完全自動 |
raid status <config> | RAID コントローラ・VD・PD 表示 | 手動 (iRMC Web UI で確認、手順ガイドのみ) |
raid create-r10 <config> | 4 本選んで RAID10 VD 作成 | ⚠️ 部分動作 (2026-05-18 #7 s-peaceful-hinton)。 #6 (p-effervescent-kahn) で SMB silent failure 真因確定 + 修正 → CD boot + kernel boot まで成功。 installer の cdrom-detect で iRMC Virtual CD が見つからない問題に対し、 #7 で kernel cmdline (GRUB legacy / ISOLINUX / EFI 全 3 経路) + preseed.cfg.template に cdrom-detect/try-usb=true cdrom-detect/scan=true hw-detect/load_media=false を仕込んで再試行 → 効かず。 iRMC OEM CDImage は GRUB レベル (BIOS USB CD-ROM emulation) では読めるが、 Linux 起動後の installer cdrom-detect の udev/sysfs ルールにマッチしない。 preseed.cfg 自体も /cdrom/preseed.cfg から load される設計上 cdrom-detect 失敗の時点で適用されない (chicken-and-egg)。 次セッション候補 (優先順): (1) initrd preseed 注入 + preseed/early_command で自前 mount /dev/sr0 /cdrom、 (2) iRMC HDImage (USB Mass Storage) 経由配信、 (3) PXE / hd-media 経路。 詳細は本 SKILL.md 末尾の「RAID10 storcli + preseed 経路」セクション + report 2026-05-18_025914_tx1320_raid10_cdrom_detect_cmdline_failed.md を参照 |
raid delete <config> <vd> | VD 削除 | 手動 (同上) |
詳細プロトコル・落とし穴・スクリーンショットは reference.md を参照。
BIOS 設定リファレンス (bios/)
TX1320 M3 (D3373-B1x) の 全 BIOS 設定項目 (91 設定 + 各タブ/サブメニュー) を、選択肢・デフォルト・ 現在値・ヘルプ・リスクまで網羅したリファレンスを bios/index.md に置く (タブ単位で分割)。 値は実機 WinSCU XML 由来、タブ所属と存在は KVM 確認で確定する。各タブ: main / advanced / security / power / server-mgmt / boot / save-exit / RAID HII。再生成・KVM 確認手順は bios/_capture-runbook.md。
前提条件
- 対象: training-tx1320 (10.254.254.9, iRMC S4 FW 9.08F, claude index 4)
- config:
config/training_tx1320.yml - 認証: claude / Claude123 (BMC ユーザ)
- ライセンス: KVM + MEDIA (Permanent)、eLCM なし → Redfish 経由 RAID 操作不可
- ipmitool は SOL 用 (本 skill では電源・BIOS は Redfish のみ使用)
Redfish 接続規約
iRMC S4 は古い DH 鍵で TLS handshake するため、curl のオプションが必要:
curl -k --ciphers 'DEFAULT@SECLEVEL=0' -u claude:Claude123 https://10.254.254.9/redfish/v1/...
scripts/bmc-power.sh は環境変数で対応済み:
BMC_SCHEME=https \
BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
POWER_ON_RESET_TYPE=On \
./scripts/bmc-power.sh <command> 10.254.254.9 claude Claude123
iRMC ResetType メモ: AllowableValues は PowerState で変わる。Off→On 遷移は
"On"を使う (default で OK)。PushPowerButtonは電源 On 状態で物理ボタンを pulse する用途のみ。
config から自動で読み込んで export するヘルパーパターン (skill 内で利用):
BMC_IP=$(./bin/yq '.bmc_ip' config/training_tx1320.yml)
BMC_USER=$(./bin/yq '.bmc_user' config/training_tx1320.yml)
BMC_PASS=$(./bin/yq '.bmc_pass' config/training_tx1320.yml)
export BMC_SCHEME=$(./bin/yq '.bmc_scheme' config/training_tx1320.yml)
export BMC_CURL_OPTS=$(./bin/yq '.bmc_curl_opts' config/training_tx1320.yml)
export POWER_ON_RESET_TYPE=$(./bin/yq '.power_on_reset_type' config/training_tx1320.yml)
./scripts/bmc-power.sh status "$BMC_IP" "$BMC_USER" "$BMC_PASS"
サブコマンド: info
接続性と基本情報を一括取得。
# 例
BMC_IP=10.254.254.9
USR=claude; PSW=Claude123
CURL='curl -sS -k --ciphers DEFAULT@SECLEVEL=0 --max-time 30 -u'
$CURL "$USR:$PSW" "https://$BMC_IP/redfish/v1/Systems/0" | grep -E '"Manufacturer"|"Model"|"BiosVersion"|"PowerState"|"SerialNumber"|"TotalSystemMemoryGiB"'
$CURL "$USR:$PSW" "https://$BMC_IP/redfish/v1/Managers/iRMC" | grep -E '"Model"|"FirmwareVersion"'
$CURL "$USR:$PSW" "https://$BMC_IP/redfish/v1/Managers/iRMC/Oem/ts_fujitsu/iRMCConfiguration/Licenses"
期待出力 (training-tx1320):
- Manufacturer: FUJITSU / Model: PRIMERGY TX1320 M3 / BIOS V5.0.0.11 R1.22.0 / Memory 24 GiB
- iRMC S4 FW 9.08F
- Licenses: KVM, MEDIA (Permanent)
サブコマンド: power
scripts/bmc-power.sh を呼ぶ。電源 On は ResetType=On (デフォルト) で OK。
# Status
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./scripts/bmc-power.sh status 10.254.254.9 claude Claude123
# → On / Off
# Power on (Off 状態から On へ)
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./oplog.sh ./scripts/bmc-power.sh on 10.254.254.9 claude Claude123
# Force off
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./oplog.sh ./scripts/bmc-power.sh forceoff 10.254.254.9 claude Claude123
# Cycle (forceoff → wait 20s → on)
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./oplog.sh ./scripts/bmc-power.sh cycle 10.254.254.9 claude Claude123 20
サブコマンド: bios enter
Redfish PATCH で BootSourceOverrideTarget を BiosSetup に設定 → 再起動 → BIOS Setup に入る。 F2 キー送信不要 (POST 自動で BIOS Setup に分岐する)。
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./scripts/bmc-power.sh boot-override 10.254.254.9 claude Claude123 BiosSetup UEFI
BMC_SCHEME=https BMC_CURL_OPTS='--ciphers DEFAULT@SECLEVEL=0' \
./oplog.sh ./scripts/bmc-power.sh cycle 10.254.254.9 claude Claude123 20
注意:
BootSourceOverrideEnabledは iRMC の AllowableValues がOnce/Continuousのみ (Disabled は別フィールド)。Onceで 1 回限定。
サブコマンド: bios screenshot
OEM FTSComputerSystem.Screenshot で現在の画面を取得 (POST 中・BIOS Setup 中・OS 起動後の画面が見える)。
BMC_IP=10.254.254.9
USR=claude; PSW=Claude123
# 1. Trigger screenshot
curl -sS -k --ciphers 'DEFAULT@SECLEVEL=0' -u "$USR:$PSW" \
-X POST "https://$BMC_IP/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.Screenshot" \
-H 'Content-Type: application/json' \
-d '{"FTSScreenshotType":"Make"}'
# 2. Download image (path documented in reference.md)
サブコマンド: bios backup / bios restore / bios apply-config
OEM FTSBios.BSPBRBackup / FTSBios.BSPBRRestore で WinSCU XML を読み書き。Bios.Attributes={} なため、設定変更はこの XML 経由で行う。scripts/irmc-bios.py でラップ済み。
Backup フロー (新規 backup を取得して download する場合)
- POST
FTSBios.BSPBRBackup→ 任意 Task /N (TaskState=Pending) - Task は BIOS Boot Phase で実行される —
MessagesOEMに"BSPBR boot phase pending, you may need to reboot host"→ サーバを cycle/forceoff/on で再起動 - Boot Phase が始まると Task は Running
BSPBRBootInProgress→ 完了で CompletedBSPBRSuccess /Systems/0/BiosのIsBspbrFileAvailable: trueを確認- POST
FTSBios.BSPBRSaveBackupToFile(Content-Type: application/json, body{}) → HTTP 200 でapplication/octet-streamの WinSCU XML が返る - 末尾に NUL bytes が付いてくる → Python は
text.rstrip(b"\x00\r\n\t ")で除去してから parse する
Restore フロー
- WinSCU XML を編集 (
<supportedSetting>の<value>を書換) - POST
FTSBios.BSPBRRestore→Content-Type: multipart/form-data、 field 名data必須 (-F "[email protected]")- 他の Content-Type は
406 Not Acceptable(Fujitsu.1.0.ContentTypeNotSupported) - field 名が違うと
400(Fujitsu.1.0.DeclaredDataNotPresent)
- 他の Content-Type は
- HTTP 202 + Task /N (Pending)
- cycle で boot phase → 適用 → Completed
BSPBRSuccess - 2 度目以降の SaveBackupToFile は 404 — restore で backup file が「消費」される。再度新規 backup task を投入する。
apply-config フロー (推奨)
# config 例:
# bios_settings:
# supported:
# BootOptionFilter: "UEFI only"
# LaunchStorageOpRomPolicy: "UEFI only"
# LaunchPxeOpRomPolicy: "UEFI only"
# LaunchVideoOpRomPolicy: "UEFI only"
./scripts/irmc-bios-raid-setup.sh setup-bios config/training_tx1320.yml --cycle
./scripts/irmc-bios-raid-setup.sh verify-bios config/training_tx1320.yml
実機検証済み: training-tx1320 で BootOptionFilter 等の Legacy→UEFI 切替が確実に動作する (2026-05-16)。
XML スキーマ
WinSCU XML には 2 つのセクションが含まれる:
<settingDefinitions>— 各 setting の 定義 (id, name, possibleValues, default, current)。comment="setting definition part only, does not restore anything"の通り、 restore 対象外。<configuration>内の<supportedSetting>— restore で適用される現在値 (id, name, setupItemID, value)。<value>を書き換えて restore する。
詳細は reference.md の "WinSCU XML schema" を参照。
サブコマンド: raid (BIOS UEFI HII 手動操作のガイド)
iRMC S4 の Redfish Storage Members は空、OEM Raid は OOBRaidEventsEnabled しか持たず、eLCM ライセンスもない (training-tx1320)。BIOS Setup → Advanced → AVAGO MegaRAID Configuration Utility (UEFI HII) を HTML5 KVM で操作するのが唯一の経路。
⚠️ VGA frame buffer 問題 (2026-05-16 #69 続報)
確定: BMC Manager Reset では改善しない。 2026-05-16 #69 で Manager.Reset GracefulRestart (HTTP 204) → BMC 復帰 187s → BIOS Setup 再進入を試したが、 canvas は引き続き黒で frame buffer が更新されない。
ただし OEM Screenshot (FTSComputerSystem.Screenshot) は 3 回に 1 回程度成功することが判明。 これを retry で穴埋めすれば実用的な画面取得が可能 (scripts/irmc-oem-screenshot.sh 2026-05-16 改修済、 wall-clock 化 + 4 attempts retry, --max-time 15)。
✅ Playwright KVM 自動化 解決 (2026-05-17 golden-candle セッションで実証)
scripts/irmc-kvm-interact.py 改修済み。 default で動作する新パス + 旧パス温存:
| 旧パス
Content truncated.
When not to use it
- →When the target server is not a Fujitsu PRIMERGY TX1320 M3
- →For RAID operations that require full automation, as some are manual or partially functional
- →When ipmitool is needed for SOL, as this skill uses Redfish for power and BIOS
Prerequisites
Limitations
- →RAID operations are partially functional or manual, not fully automated.
- →The skill is specifically for Fujitsu iRMC S4 (TX1320 M3) servers.
- →Redfish RAID operations are not possible without an eLCM license.
How it compares
This skill automates server power and BIOS management via Redfish, eliminating the need for manual physical access or interactive BIOS navigation for supported operations.
Compared to similar skills
irmc-bios-raid side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| irmc-bios-raid (this skill) | 0 | 2mo | Review | Intermediate |
| cloudflare-manager | 25 | 9mo | Review | Intermediate |
| storage-networking | 6 | 7mo | Review | Advanced |
| aws-solution-architect | 20 | 3mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
cloudflare-manager
qdhenry
Comprehensive Cloudflare account management for deploying Workers, KV Storage, R2, Pages, DNS, and Routes. Use when deploying cloudflare services, managing worker containers, configuring KV/R2 storage, or setting up DNS/routing. Requires CLOUDFLARE_API_KEY in .env and Bun runtime with dependencies installed.
storage-networking
pluginagentmarketplace
Master Kubernetes storage management and networking architecture. Learn persistent storage, network policies, service discovery, and ingress routing.
aws-solution-architect
alirezarezvani
Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.
terraform-module-library
wshobson
Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.
cloud-architect
sickn33
Expert cloud architect specializing in AWS/Azure/GCP multi-cloud infrastructure design, advanced IaC (Terraform/OpenTofu/CDK), FinOps cost optimization, and modern architectural patterns. Masters serverless, microservices, security, compliance, and disaster recovery. Use PROACTIVELY for cloud architecture, cost optimization, migration planning, or multi-cloud strategies.
azure-deployment-preflight
github
Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision.