2011.3.6 整理しました。
- INDEX
あくまで目的は緊急時、メンテナンス用に“ミニ”OSの“一時的”起動。Linux ユーザにはいわずもがななことばかり。
というわけで、palm84レベル的(何)私的めもですたい...
- 参考:
起動ディスク(イメージ)
こ、これはまた死ぬほど便利(だったら・・とか言わない!そこw)
ネットワークブート非対応のマシンでも、NIC(LANアダプタ)が内蔵 or PCIボードなら起動フロッピー(またはCDやUSBメモリ、HDからでもおk)からネットワークブートできるかもしれません(PCMCIAやUSB-LANは難しいのかな??)。でも、対応モジュールとかの組み込みは難しいかなぁと思っておりました...
ところが、あにはからんや弟はかって、か・か簡単に対応フロッピーイメージを作成してダウンロードさせて頂けるサイトがあったんですよー(っていうか私が無知だっただけですが...汗)。
起動FDイメージ、isoイメージ及びGRUB・SYSLINUX用ブートイメージなどがダウンロードできます。
all-drivers
は汎用で使えます。gPXE 対応、通常のPXEブートでも使えます。
- 起動FD/CDイメージ
-
- Choose an output format
- FDなら
SYSLINUX-based bootable floppy image (.sdsk)
を選択 - CDなら
ISO bootable image (.iso)
を選択
- FDなら
- Choose a NIC type
all-drivers
を選択
- [Get Image] をポチっと
CDはDVD/CDライティングソフトで“イメージファイルとして”書き込み、FDはRawWrite for Windows などを使いませう。
- Choose an output format
- Linux kernel (SYSLINUX/GRUB/LILO) loadable image (.lkrn)
-
HDに GRUB などのブートローダがインストールされてる場合や、マルチブートなCD・USBメモリなどではこちらがいいかも。Linux カーネルとして指定します。
- Choose an output format
Linux kernel (SYSLINUX/GRUB/LILO) loadable image (.lkrn)
を選択
- Choose a NIC type
all-drivers
を選択
- [Get Image] をポチっと
ファイル名
gpxe-x.x.x+-gpxe.lkrn
はgpxe.krn
とかリネームした方がいいかな。- SYSLINUX(
syslinux.cfg
など)
LABEL gpxe KERNEL /gpxe.krn
- GRUB(
menu.lst
など)
title gPXE root (hdx,x) kernel /gpxe.krn
- GRUB for DOS (
menu.lst
)
title gPXE find --set-root /gpxe.krn kernel /gpxe.krn
Windows マシンで使うなら、Windows ブートマネージャ(NTLDR, BOOTMGR)から GRUB for DOS をチェインロード設定するのがおすすめ。
- Choose an output format
汎用版が使えない場合は、NIC type を指定してみるべし。対応モジュール(?)/ROM名を調べるのはちと大変かもしれませんが、商品名でググったり、試行錯誤するべし。
- 上記とは別のFDイメージとisoイメージ
-
※ 少し古めですが、100BASEなNICとかならほぼイケるかも。gPXEは非対応。
こんなのありました。SYSLINUXのethersel.c32でPCIカード(or 内蔵)を自動検出。
- UseCases - Syslinux Wiki
- PXE-On-A-Disk(自動検出FDイメージとisoイメージ)
- UseCases - Syslinux Wiki
ブート可能なアイテム
あくまで個人的にですけど「割と簡単に設定できるもの」です。
CDブートでブート用サーバ設定
Linux LiveCDの中には、スクリプトなどでネットワークブート用サーバを構築できるものもあります。
- KNOPPIX-Terminal-Service (5.1.1 以降)
- RAM 256MB以上(KDEの場合)
- 下記のHTTP-FUSEに比べ、クライアント側の動作はかなり軽い
- サーバ側はCDブート、あるいは仮想マシン上isoイメージからブートさせる必要がある
- インターネット接続環境は
不要必須ではない(※ ルーターはあった方がかなり楽です)
- slax-ja - PukiWiki(
slax-ja-6.1.2-2.iso
) - INSERT - 私的 Linux LiveCDめも
DHCP/TFTP サーバのみでOK
Windowsマシンでも、TFTPD32のみでサーバ構築可能。
- FDイメージ(DOS起動ディスク・FD版Linuxなど)
- kernel, initrd のみで動く小さな Linux
- 小さな Linux のisoイメージ
- Linuxインストーラ(
PXE用kernelネットワーク・インストール用カーネルなどが用意されているディストリ) - HTTP-FUSE-KNOPPIX (5.0.1) --- もう古いかな?
- クライント側の動作が重いが、サーバ側は低スペックでもOK
- インターネット接続環境が必須
- GUIで使うには、RAM 512MB必要かな?
- AVG - Rescue CD | PC Rescue and Repair Toolkit
- isoブート可
- PING (Partimage Is Not Ghost) - Partimage)(RAM 96MB以上必要?)
- isoブート可
- Parted Magic - GParted(RAM 256MB以上、5.3 では300MB)
- 5.8 以降はisoブート可
- Parted Magic 5.1(日本語サポート)
- SystemRescueCd(1.0以降)(RAM 256MB以上、1.1以降では 320 MB以上、1.5以降では512MB)
- Clonezilla Live
その他
テスト版ですが、下記ではDHCP/TFTPでブートしてhttpサーバ上のisoイメージからKnoppixを起動させます。
- Knoppix -InetBoot(GRUB+BuildRoot)
- InetBoot (GRUB+BuildRoot)【その2】(FedoraやUbuntuのLiveCDも可)
- InetBoot (GRUB+BuildRoot) 【0731版】
KNOPPIX Terminal Server
サーバ側の細かい設定は不要なので、お試しならこれがいいかも。KNOPPIX をCDブート(あるいは仮想マシン上でisoイメージでブート)してスクリプト一発でネットワークブートに必要な DHCP/TFTP(NFSもですね) サーバを稼動させることができました。
- 【追記】産総研 5.1.1CDではスクリプトを修正
-
ちょこっと修正したらブート可能になりましたー。
5.3.1 以降では修正不要でした。
う?むむ、CDブートなサーバなんて重いやろと思ってました。ところが姉はからんや妹はかって、クライアント側はメモリ256MBでもGUI(デスクトップ環境)がそこそこ動きます(※128MBでは激重だったのでテキストモードにすべきかな)。
尚、他の Linux 上でも DHCP/TFTP + NFS or HTTP サーバを設定したら PXE からの KNOPPIX のブートは可能でした。
SLAX
- slax-ja - PukiWiki
- slax-ja/download - PukiWiki(
slax-ja-6.0.9-1.iso
)
- slax-ja/download - PukiWiki(
CDブートして、【Slax as PXE server】を選択するとサーバとしてSLAXが稼動(DNS,DHCP,TFTP,HTTPサーバ)します。
または、起動後にスクリプト実行でもいいみたい。
# /boot/pxelinux.cfg/start # /boot/pxelinux.cfg/web/start
- 参考めも
-
# cat /proc/cmdline vga=769 initrd=/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;startx BOOT_IMAGE=/vmlinuz ip=192.168.0.95:192.168.0.200:192.168.0.200:255.255.255.0 auto
pxelinux.cfg/default
PROMPT 0 LABEL linux MENU LABEL Run linux over PXE KERNEL /vmlinuz IPAPPEND 1 APPEND vga=769 initrd=/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;startx
PROMPT 1 に修正したほうがいいかも
サーバ側マシンの設定
※ 上記の「KNOPPIX Terminal Server」「slax-ja」を使う場合は不要です。
ネットワークブートに必要なサーバ側の設定について。Windows + TFTPD32 なら低スペックマシンでも可能です。(クライアントがブートした後はサーバは不要です。)
- WindowsでPXEネットワークブート用サーバの設定 - TFTPD32
- HTTP-FUSE-KNOPPIX501
- FDイメージ
- Linuxインストーラ
- Vine Linux 4.1 で PXEネットワークブート用サーバの設定
- Vine Linux 4.0 をネットワークブートでインストール(Debian sarge編)
めも
gPXE ってナニ?
まだまだ勉強不足でよく理解しておりませぬ。すみません。とりあえず雑記レベルですが
iSCSIや AoE はなんかすごいと思っていますが、今のところ必要ないので試したことありませぬ。(スキルなしの言い訳。orz)
- gpxelinux.0
-
DHCPサーバの boot file 指定に
pxelinux.0
の代替でgpxelinux.0
を使うとHTTPサーバからのファイルのロードが可能になりますな。pxrlinux.cfg/default
LABEL hogehoge from http server LINUX []http://192.168.0.2/hogehoge/vmlinuz[] INITRD []http://192.168.0.2/hogehoge/initrd.img[]
- HTTP booting
-
gPXE イメージからブートすると、HTTPサーバでPXELINUXを使えました。