スキップしてメイン コンテンツに移動

投稿

ラベル(Secure Boot)が付いた投稿を表示しています

ConnectX-4 VPIを使い ipoib + iPXE にて Debian 12 を iSCSI root で セキュアブート

ファームウェアを 2025/03 現在で最新のものにアップデートした ConnectX-4 VPI は、Flexboot が UEFI に対応しているとのこですが、当方の環境では(2025/06/10修正)以下のようにするとConnectX-4の設定項目は現れました。 mstconfig -d 18:00.0 s UEFI_HII_EN=True しかし、メニューには現れてもUEFIでのFlexブートの項目はみつかりません。 仕方ないので代わりにマザーボードの設定項目で Network Stack の設定をONにすると Connectx-4 がブートメニューにあらわれ、そこから起動すると確かにPXEパケットはやり取りできています。( 参考までにCX3ではブートメニューに現れませんでした。 こちらの uefi rom を焼いたところ、CX3 もブートメニューに現れました。) しかし、iPXEではなくPXE ブートでは iSCSI 接続を iBFT として登録する方法はBIOS上で設定項目がない限りありません。そこで、PXEから bootfileを signed ipxe.efi にし、 sanhook で iscsi root イメージを ibft に登録してからブートしたところ、今度は上手く行きました。(2025/04/05:訂正:当方のapache2 の コンフィグミスで、signed ipxe.efiにて直接 IPoIB 経由で Altiris/iPXE/GetPxeScript.aspx (menu.ipxe相当)にアクセスできましたので、表題および本文を訂正しました。) 基本的には iPXE経由でセキュアブートする方法 とあまり違いはありませんが、(2025/04/07 大幅加筆修正:)こちらでも詳細を挙げておくことにしました。 # iscsi root memo 01 #### disk image の作成等 # on target i50 ( ubuntu 24.04 ) apt-get install targetcli-fb qemu-utils tftpd-hpa apache2 isc-dhcp-server REL=bookworm IMG=deb12.amd64.01.img tNAME=deb12-amd64-01 tH...

iPXE経由で iSCSI root にて Debian を セキュアブート

セキュアブートに対応した iPXE バイナリは公式サイトにはないのですが、調べていると サイン済みのバイナリが broadcom 社の KB に あると ipxe.org の bbs に記載がありました。該当の kb は こちら です。早速、この kb にリンクのある "64bit_ipxe_efi.zip" をブラウザでダウロードし、tftp/http サーバー上で解凍、dhcp サーバを設定して、tftp で取得・起動させた所、起動はするものの次のステージへは、特定のhttp ポート ( 4433 ) の固定パス ( Altiris/iPXE/GetPxeScript.aspx ) を参照するため、何もしていないと connection がリセットされてしまいます。 なので、apache2を 4433でもリッスンするようにして Altiris/iPXE/GetPxeScript.aspx を配置し、中身を shell が起動するだけの menu.ipxe にしたところ、シェルに入れました。 これでOKだと思ったのですが、実はここからが難題でした。 というのも、サイン済みの bootnetx64.efi や linux カーネルをブートしようとしても、exec format error になり起動できません。機種によっては wimboot すら起動しません。それでも CDぐらいはブートできるだろうと思い直し、インストーラの iso ファイルの起動を sanboot コマンドにて試してみたところ、起動はするものの今度はインストーラまで到達できません。ただ、grubとカーネルまでは起動はしているので、iso ファイルを自前で作成し、前回のように nfsroot で立ち上げた所、システムも起動できましたが、isoファイルの作成だと grubのメニュー項目が read only なので、編集したい場合は iso ファイルを再作成しなければならず、実用的ではないなとこれはボツネタにしました。 そこで気を改めて r/w 可能な iSCSI で試してみることにしました。まず、始めは netinst cd イメージを targetcli で エクスポートした所、isoファイルの sanboot とほぼ同じで、grubとカーネルまでは起動できますが、cdr...

UEFI Secure Boot 環境 にて、WindowsPE を PXE で起動

UEFI環境下では、2021/08/19現在、iPXEにはMicrosoftがサインしたefiバイナリがないので、そのままではセキュアブートができません。そこでWindows PEをPXE経由でDebian 10/Buster サーバからセキュアーブートしてみました。 まず初めにWindows上でWinPEを日本語化させたものを作成します。今回はamd64のみを対象としてみました。まず、Windows ADKをダウンロードします。今回も Windows 10 バージョン 2004、Windows 10バージョン 20H2、Windows 10 バージョン 21H1 用のものをダウンロードし、インストールします。adk本体のインストールがすんだら、 アドオンをダウンロード しインストールします。 続いて、スクリプトを使って amd64向けの日本語化したWinPEをセットアップします。以下、スクリプトです。C:\Tempを作成し、その中にcppe_ja.batという名前で作成し保存します。 for %%d in (amd64) do call :Cppe %%d REM for %%d in (amd64, x86) do call :Cppe %%d goto End :Cppe set ADK_PATH=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit set ADK_PACK=%ADK_PATH%\Windows Preinstallation Environment\%1\WinPE_OCs set WS_DIR=C:\Temp\WinPE\%1 call copype %1 "%WS_DIR%" Dism /Mount-Image /Imagefile:"%WS_DIR%\media\sources\boot.wim" /Index:1 /Mountdir:"%WS_DIR%\mount" Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\lp.cab" Dism...