ホーム > GNU/Linux > Fedora20をiSCSI bootする Extra: grldrでiPXEマルチブート

Fedora20をiSCSI bootする Extra: grldrでiPXEマルチブート

【2014/8/2 ターゲットを切り替えるだけならiPXEだけでもメニューを出せます】

前回のiPXEを用いたdiskless bootでは飽きたらず、grubのメニューでいろいろ選択したい!と欲張った結果。
PXE→iPXE→grub2のchainloadに、もう一段grub4dosのgrldrをはさみます。
完成形:PXE→grldr→iPXE→grub2
なにが嬉しいかというと、grldr段階で既存のnfs diskless bootを動かしたり、chainloaderでローカルのwindowsを立ち上げたり、iPXEでbootに使うターゲットを切り替えたりできます。

tftpサーバ: 192.168.1.137
iSCSIターゲット: 192.168.1.133

1. grub4dosをセットアップ
ここからgrub4dosをダウンロード。アーカイブ中のgrldrを/var/lib/tftpboot/grldrとして配置します。
0.4.5以降でないと、以下の設定で&&をエスケープする方法がなく、そのまま書けばunrecognized commandとgrubに怒られ、\&\&と書けば\&\&がそのままipxeに渡り怒られます。

2. ipxe.lkrnをセットアップ
前回はundionlyを使用しましたが、今回はgrubからロードできるkernelになっている/usr/share/ipxe/ipxe.lkrnを使用します。
前回のように/var/lib/tftoboot/ipxe.lkrnとして配置。

3. grldrの設定を書く
前回はdhcpでiSCSIターゲットの場所を指定しましたが、これだと複数のターゲットを切り替えられないので、パラメータとして設定ファイルを渡します。
ターゲットを切り替える場合はこの2行をコピーして設定ファイルの場所を書き換えればok。
vim /var/lib/tftpboot/menu.lst/default

title iPXE
kernel (pd)/ipxe.lkrn dhcp \&\& chain tftp://192.168.1.137/ipxeconf/fedora20.ipxe

4. iPXEの設定ファイルを書く
たぶん、grubでdhcp && sanbootと書いても行けると思いますが、試行錯誤の過程でこうなりました。
vim /var/lib/tftpboot/ipxeconf/fedora20.ipxe

#!ipxe
sanboot iscsi:192.168.1.133:::1:iqn.2012-11.net.msmrrenda:eevee.boottest

これで完成。3はローカルのgrubにちょろっとiSCSI bootの選択肢を加えるような場合も応用できます。

広告
カテゴリー:GNU/Linux
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。