Palm84 某所の日記

有為のクマにかくれり~

InetBoot (GRUB+BuildRoot) 【0731版】

第3弾ですね

関連

Knoppix 5.3.1CD の対応isoイメージはRemaster版(LCATなし)の knoppix_v5.3.1CD_20080326-20080520.iso

新しい点は、x86_64 対応と gPXE 対応でしょうか。

gPXE について全く知識がないのですが、このisoイメージ内に含まれるカーネル(gpxe.krn - 174KB)は、汎用ネットブート用に使えそうで便利かも。(Intel e100,RTL8139,VIA Rhine,Tulip など確認)

PXEネットワークブートのサーバ設定

一例ですが・・・

TFTPルート
pxelinux.0
tttpd32.exe
tftpd32.ini
\---inet0731
linux
minirt.gz
\---pxelinux.cfg
default
\---syslinux
jp106.kbd
vesamenu.c32
  • default
DEFAULT /syslinux/vesamenu.c32
PROMPT 0
KBDMAP /syslinux/jp106.kbd
MENU TITLE  InetBoot 0731
# F1 
# F2 
# F3 


LABEL knoppix531
	MENU LABEL ^1 KNOPPIX 5.3.1 from 192.168.0.2 lang=ja
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/knoppix_v5.3.1CD_20080326-20080520.iso[] type=knoppix ramdisk_size=100000 lang=ja screen=1024x768
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix_vesa
	MENU LABEL ^2 KNOPPIX 5.3.1 from 192.168.0.2 lang=ja vesa 
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/knoppix_v5.3.1CD_20080326-20080520.iso[] type=knoppix ramdisk_size=100000 lang=ja xmodule=vesa screen=1024x768
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix-511
	MENU LABEL ^3 KNOPPIX 5.1.1 from 192.168.0.2 lang=ja.utf8
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/knoppix_v5.1.1CD_20070104-20070122+IPAFont.iso[] type=knoppix ramdisk_size=100000 lang=ja.utf8 vga=normal screen=1024x768
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix-511-vesa
	MENU LABEL ^4 KNOPPIX 5.1.1 from 192.168.0.2 lang=ja.utf8 vesa 
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/knoppix_v5.1.1CD_20070104-20070122+IPAFont.iso[] type=knoppix ramdisk_size=100000 lang=ja.utf8 vga=normal xmodule=vesa screen=1024x768
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL fedora9
	MENU LABEL ^5 Fedora 9 Desktop Live from 192.168.0.2
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/Fedora-9-i686-Live.iso[] type=fedora
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL ubuntu804
	MENU LABEL ^6 Ubuntu 8.04 (casper) from 192.168.0.2
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/ubuntu-ja-8.04-desktop-i386.iso[] type=casper
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL ecolinux
	MENU LABEL ^7 Ecolinux 8.04(casper) from 192.168.0.2
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://192.168.0.2/ecolinux-8.04.iso[] type=casper
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL fedora9n
	MENU LABEL ^8 Fedora 9 Desktop Live
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://fedora.inetboot.net/archives/linux/fedora/linux/releases/9/Live/i686/Fedora-9-i686-Live.iso[] type=fedora
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL fedora8
	MENU LABEL ^9 Fedora 8 Live
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://fedora.inetboot.net/archives/linux/fedora/linux/releases/8/Live/i686/Fedora-8-Live-i686.iso[] type=fedora


LABEL ubuntu804n
	MENU LABEL ^A Ubuntu 8.04 (casper)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://ubuntu.inetboot.net/UBUNTU-CDS/hardy/ubuntu-8.04-desktop-i386.iso[] type=casper
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL ubuntu710
	MENU LABEL ^B Ubuntu 7.10 (casper)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://ubuntu.inetboot.net/UBUNTU-CDS/7.10/ubuntu-7.10-desktop-i386.iso[] type=casper
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL ubuntu704
	MENU LABEL ^C Ubuntu 7.04 (casper)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://ubuntu.inetboot.net/UBUNTU-CDS/feisty/ubuntu-7.04-desktop-i386.iso[] type=casper
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix-us
	MENU LABEL ^D KNOPPIX 5.3.1 (Remastered CD)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v5.3.1CD_20080326-20080520.iso[] type=knoppix ramdisk_size=100000 lang=us


LABEL knoppix-us511
	MENU LABEL ^E KNOPPIX 5.1.1
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v5.1.1CD_20070104-20070122+IPAFont.iso[] type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix-us501
	MENU LABEL ^F KNOPPIX 5.0.1
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v5.0.1CD_20060601-20060614+IPAFont.iso[] type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL knoppix402
	MENU LABEL ^G KNOPPIX 4.0.2
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v4.0.2CD_20050923-20051116+IPAFont.iso[] type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen321
	MENU LABEL ^H VMKnoppix(Xen3.2.1)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/knoppix/iso/knoppix_v5.3.1CD_20080326_xen3.2.1-20080519.iso[]  bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen320
	MENU LABEL ^I VMKnoppix(Xen3.2.0)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/knoppix/iso/knoppix_v5.1.1CD_20070104_xen3.2.0_vbox-20080213.iso[] bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen311
	MENU LABEL ^J VMKnoppix(Xen3.1.1)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/knoppix/iso/knoppix_v5.1.1CD_20070104_xen3.1.1_vbox-20071101.iso[] bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen310
	MENU LABEL ^K VMKnoppix(Xen3.1.0)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/knoppix/iso/knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso[] bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen3041
	MENU LABEL ^L VMKnoppix(Xen3.0.4.1) Oprofile
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v5.1.1CD_20070104_xen3.0.4.1_vbox_ima-20070316+IPAFont.iso[] bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT


LABEL xen3040
	MENU LABEL ^M VMKnoppix(Xen3.0.4.0)
	KERNEL /inet0731/linux
	APPEND initrd=/inet0731/minirt.gz netdir=[]http://knoppix.inetboot.net/archives/linux/oscircular/iso/knoppix_v5.1.1CD_20070104_xen3.0.4.0_vbox-20070302+IPAFont.iso[] bootxen=1 type=knoppix ramdisk_size=100000 lang=us vga=normal
	TEXT HELP
    * edit IP Address -- netdir=[]http://***/***.iso[]
    * 
    * 
	ENDTEXT

【gPXE】一例ですが...

gPXEはHTTPサーバからファイルのロードが可能なので、TFTPサーバは必須ではありませんが(TFTPに比べるとHTTPはダウンロードがかなり速いです)、とりあえず、こんなやりかたもできました。

※ってか、gPXEでPXELINUXのように選択起動させる方法がわからない...

  1. gPXEカーネルでブート
  2. DHCPサーバの Boot File にスクリプト - knoppix531 - を指定(TFTPでダウンロードするのでTFTPサーバも必要)
  3. HTTPサーバにカーネルなどのファイルやisoイメージを保存

※シェルでコマンド打つならTFTPサーバとスクリプトは不要

  • knoppix531(改行コードは LF で)
#!gpxe
kernel http://192.168.0.4/gpxe/080731/linux netdir=http://192.168.0.4/knoppix_v5.3.1CD_20080326-20080520.iso type=knoppix ramdisk_size=100000 lang=ja
initrd http://192.168.0.4/gpxe/080731/minirt.gz
boot
  • HTTPサーバのディレクトリ
public_html
│  knoppix_v5.3.1CD_20080326-20080520.iso
│  
└─gpxe
    │  knoppix531
    │
    └─080731
            linux
            minirt.gz

【追記】0925版が出てました...