Jump to content 日本-日本語
日本HPホーム 製品とサービス サポートとドライバ ソリューション ご購入方法
≫ お問い合わせ
製品とサービス  >  ソフトウェアとOS  >  Linux

pxelinuxを使用した Red Hat Linuxインストール方法
シリアルコンソール対応

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
ProLiant
Workstation
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
日本ヒューレット・パッカードサイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
27-JUN-02
 pxelinuxとは、CDや FDからのインストール時に使用されるローダーである syslinuxを PXEに対応させたもので、指定できるオプション等は syslinuxと同等となっています。本ページでは、この pxelinuxで tftpサーバよりカーネルを取得し、インストール CDイメージを NFS経由で参照する kickstartインストール、つまりネットワーク経由での完全自動インストール方法を行う方法について説明します。
pxelinuxの詳細はサイト外リンクsyslinux.zytor.com/pxe.phpを参照

pxelinuxを使用した際のインストールフロー

1. システムが PXE経由でブートし、DHCPサーバへアドレスを要求する
2. DHCPサーバが、IPアドレス、tftpサーバのアドレス、最初にロードするプログラム名(pxelinux)等を通知する
3. システムが DHCPサーバから通知された情報を元に、tftpで pxelinuxを取得する
4. システム上の pxelinuxが tftpサーバから構成ファイル(カーネルファイル名 initrdファイル名、ブートオプション等の書かれているファイル)を取得する
5. システム上の pxelinuxが取得した構成ファイルを元に tftpサーバからカーネル、initrdイメージを取得し、それを使用してブートする
6. システム上でインストーラーが起動し、kickstart用構成ファイルを NFS経由で取得する
7. システム上で kickstart用構成ファイルの指定に従いインストールが行われる、キット(インストール CDイメージ)は NFS経由で参照される

ネットワーク経由完全自動インストールに必要なもの

  • tftpサーバ
  • DHCPサーバ
  • NFSサーバ
 これらは同一のサーバ上で動作させる事も、それぞれ別のサーバで動作させる事も可能です。当方が構築したインストール用環境では、1台の Red Hat 7.2上ですべてのサービスを動作させて確認を行っています。その際、それぞれのサービスは Red Hat 7.2でインストールされるものをそのまま使用しました。

インストール用環境構築手順

 必要なファイルの配置(vmlinuz, initrd.img, syslinux.cfg, pxelinux.0, ks.cfg)を行います。

 tftpおよび NFSで取得される各種ファイルを配置します。今回は tftpのルートディレクトリは /tftpboot、NFSのエクスポートディレクトリは /usr/local/exportsにしています。
  • インストールに使用されるカーネル、initrdイメージおよび syslinux.cfgは、インストール CD 1枚目の /images/bootnet.imgから取り出します(/images/pxebootディレクトリにある vmlinuz, initrd.imgでも可)。
    #mkdir /work
    #mount -o loop bootnet.img /work
    #cd /work
    #mkdir /tftpboot/pxelinux.cfg (pxelinux のために必要)
    #cp initrd.img vmlinuz /tftpboot
    #cp syslinux.cfg /tftpboot/pxelinux.cfg

  • syslinux.cfgを以下のように書き換えます。
    default ks
    prompt 0
    label ks
     kernel vmlinuz
     [シリアルを利用しない場合]
     append ks=nfs:192.168.1.12:/usr/local/exports/ks.cfg initrd=initrd.img
      もしくは…
     [シリアルを利用する場合]
     append ks=nfs:192.168.1.12:/usr/local/exports/ks.cfg initrd=initrd.img console=tty0 console=ttyS0,115200

  • defaultというファイルを syslinux.cfgにシンボリックリンクさせます。これは pxelinuxは DHCPで取得した IPを HEXに変換したファイル名もしくは defaultというファイルを構成ファイルとして取得するようにハードコーディングされている為です。
    #cd /tftpboot/pxelinux.cfg
    #ln -s syslinux.cfg default

  • pxelinux.0を配置します。サイト外リンクwww.kernel.org/pub/linux/utils/boot/syslinux/から syslinux-1.72.tar.gzをダウンロードし、適当なディレクトリで解凍&展開後、得られた pxelinux.0を /tftpbootディレクトリにコピーします。
    #tar zxvf syslinux-1.72.tar.gz
    #cp syslinux-1.72/pxelinux.0 /tftpboot/

  • ks.cfgを作成します。今回は NFS経由で取得させるので、NFSのエクスポートディレクトリ(/usr/local/exports)に配置します。
    lang en_US
    langsupport ja_JP.eucJP

    network --bootproto dhcp
    nfs --server 192.168.1.12 --dir /usr/local/exports
    text

    keyboard jp106

    zerombr yes
    clearpart --all
    part /boot --size 60
    part swap --size 512
    part / --size 3072 --grow
    install
    mouse genericps/2 --emulthree

    timezone --utc Asia/Tokyo
    xconfig --monitor "generic monitor"

    rootpw compaq

    auth --useshadow --enablemd5

    [シリアルを利用しない場合]
    lilo --location mbr
      もしくは…
    [シリアルを利用する場合]
    lilo --append "console=tty0 console=ttyS0,115200" --location mbr

    reboot

    %packages
    @ Everything

    %pre
    echo "" > /dev/tty1
    echo "" > /dev/tty1
    echo "Kickstart installation in progress." > /dev/tty1
    echo "" > /dev/tty1
    echo "You can view the install process by using the" > /dev/tty1
    echo "Integrated Administrator Remote Console feature." > /dev/tty1

    %post
    [下記の 2行はシリアルを利用する場合のみ必要]
    echo 7:12345:respawn:/sbin/agetty 115200 ttyS0 vt100 >> /etc/inittab
    echo ttyS0 >> /etc/securetty

    sed 's/SAFE=no/SAFE=yes/' /etc/sysconfig/kudzu > /etc/sysconfig/kudzu.new
    mv -f /etc/sysconfig/kudzu.new /etc/sysconfig/kudzu

    chkconfig --level 0123456 apmd off
    chkconfig --level 0123456 gpm off
    chkconfig --level 0123456 sendmail off
    chkconfig --level 35 httpd on
    chkconfig --level 01246 httpd off
    chkconfig --level 35 snmpd on
    chkconfig --level 01246 snmpd off
    chkconfig finger off
    chkconfig talk off
    chkconfig ntalk off

    sed 's/eepro100/e100/' /etc/modules.conf > /etc/modules.conf.new
    mv -f /etc/modules.conf.new /etc/modules.conf

  • インストール CDイメージを NFSエクスポートディレクトリへコピー
    #mount /mnt/cdrom (インストール CDは 2枚ともすべてコピーする)
    #cp -rp /mnt/cdrom/* /usr/local/exports
    #umount /mnt/cdrom

  • それぞれのサービス(tftp, DHCP, NFS)を有効に
    • tftpを有効にします。
      #chkconfig tftp on ; /etc/init.d/xinetd restart

    • DHCPを有効にします。最初に/etc/dhcpd.confを以下の例を参考に書き換えます。
      deny bootp;

      option domain-name "tsglab.net";
      option domain-name-servers 192.168.1.254;

      option subnet-mask 255.255.255.0;
      default-lease-time 7200;
      max-lease-time 7200;

      option routers 192.168.1.1;
      option broadcast-address 192.168.1.255;

      filename "pxelinux.0";
      server-name "DHCPServer";

      subnet 192.168.1.0 netmask 255.255.255.0 {
      range 192.168.1.200 192.168.1.240;
      next-server 192.168.1.12;
      }

    • dhcpd.confを書き換えたら、サービスを起動します。
      #chkconfig tftp on ; /etc/init.d/xinetd restart

    • NFSを有効にします。/etc/exportsを以下の例を参考に書き換えます。
      /usr/local/exports *(ro)

    • exportsを書き換えたら、サービスを起動します。
      #chkconfig nfs on ; /etc/init.d/nfs start 
 上述の手順でインストール用環境を構築後、システムの電源を入れると上述のインストールフローの通りに自動でインストールが行われます。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項 ウェブマスターに連絡