Palm84 某所の日記

死のうは一定、しのびクマには何しよぞ...

【FreeNFS】Windows で Ubuntu Live ネットワークブート用サーバの設定【NFS編】

2013.11.02 NFSサーバを WinNFSd から FreeNFS に変更して書き換えました。
2014.06.21 Ubuntu jp 14.04 amd64, Lubuntu 14.04 i386, Xubuntu 14.04 i386 で確認、ネットワーク設定を修正

INDEX

これ、なんですか?

注意点

あくまで、ブート手段が他にない場合の緊急手段というか、変態起動ってやつです。

ネットワーク + USBメモリ, or ネットワーク + PLoP Boot Manager + USBメモリの方が簡単で確実かと思われます(※ HDインストールなら mini.iso って手もあるし)。orz

  • nfsroot は NetworkManager と相性が悪いらしい?HDインストール時には事前に修正が必要でした
  • HDインストール後に GRUB2 の修正が必要です
  • Live起動のシャットダウン、HDインストール後の再起動がうまく行かないかも

Linux ユーザなら先刻承知や思いますけど、NFSサーバがあれば Ubuntu LiveCD (DVD) のネットワークブートはワリカシ簡単に設定できます。ほやけど、Windows では無償のNFSサーバがあれへんしなぁとか思ててんけど、コマンドライン版の簡単NFSサーバがあったんですYO!(※ えらい昔からあったんやね。。。orz)

ちゅうわけです。

とりあえず、Ubuntu 13.04 14.04 で設定してみてん。

【注意】Ubuntu は RAM 2GB以上ないと重くてだめだめかも。Lubuntu なら 512MB以上で起動できます。

参考ページ

FreeNFS - NFSサーバの設定

まず、NFSで公開するルートフォルダを作成。TFTPルートフォルダ内に作りませう。

tftpd32 ルートフォルダ
|  <省略>
|  
+---iso (NFSルート)
|   |   
|   +---ubuntu-ja-14.04-desktop-amd64
|   |   
|   |   <ここへisoの中身をコピー>
|   |   

※ 私は F:\ をTFTPルートにしてるので F:\iso を作りました。

isoの内容をコピー

  1. NFSルート内に ubuntu-ja-14.04-desktop-amd64 ディレクトリ作成
  2. isoの内容をそこへ展開コピー
  1. FreeNFS.exe 実行
  2. アイコン右クリ【Settings】で Root Folder を指定

f:id:palm84:20181224081922p:plainf:id:palm84:20181224081926p:plain

TFTPD32 - DHCP/TFTPサーバの設定

※ 手抜きですんません。。。

下記ページ参考で基本的な設定をすましてくだしあ。

pxelinux.cfg/default に下記を追記(IPアドレスとパスは実際のものに変更してくだされ)

LABEL ubuntu1404amd64
MENU LABEL ubuntu-ja-14.04-desktop-amd64 via ^NFS
LINUX /iso/ubuntu-ja-14.04-desktop-amd64/casper/vmlinuz
INITRD /iso/ubuntu-ja-14.04-desktop-amd64/casper/initrd.lz
APPEND file=/cdrom/preseed/ubuntu.seed boot=casper -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106 showmounts root=/dev/nfs netboot=nfs nfsroot=192.168.x.x:/ubuntu-ja-14.04-desktop-amd64 ip=dhcp ro
# xforcevea

ちなみにNFSブート用の設定がこんなんで、

showmounts root=/dev/nfs netboot=nfs nfsroot=192.168.x.x:/ubuntu-ja-14.04-desktop-amd64 ip=dhcp ro

下記は日本語表示・キーボードの設定でありんす。

debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106

以上設定できたら、Here We Go ! (Everybody, Come On Rock'n'Roll !)

  • PXELINUX ブートメニュー

f:id:palm84:20181224081931p:plain

  • うぶんちゅキター!(AA略)

f:id:palm84:20181224081933p:plain

HDインストール前にネットワーク設定の修正

NetworkManager では eth0 が無効になってましたがインターネット接続は可能でした(※ 有効にできましたが間違うとフリーズしたりややこしいので割愛)。

但し、以下を修正しておかないとHDインストール後にネットワークが無効になるのでやっといた方がいいかと。

  • /etc/network/interfaces
$ sudo nano /etc/network/interfaces
  • 内容を下記のみに修正
auto lo
iface lo inet loopback
【必須】HDインストール後に起動できない

GRUB2の修正が必要になります。orz

原因は、Liveブート時のカーネル・パラメータ(コマンドライン・オプション) = showmounts root=/dev/nfs netboot=nfs ... ip=dhcp ro ... /initrd.lz が引き継がれてしまったことによるものでありました。。

修正するには...

  1. ブート時にGRUB2の編集モードに入り、余分なパラメータを消去して起動(※ 再起動前に /target/boot/grub/grub.cfg を修正してもおk!)
  2. /etc/default/grub を修正
    • GRUB_CMDLINE_LINUX="" とする
  3. $ sudo dpkg-reconfigure grub-pc を実行(変更の必要はないと思います、update-grub の方がいいかも?)

Lubuntu / Xubuntu もできるYO!

Lubuntu / Xubuntu のダウンロードは下記より。PC (Intel x86) desktop image とか 64-bit PC (AMD64) desktop image とかで。(※ 日本語入力ないけど日本語表示は可)

tftpd32 ルートフォルダ
|  <省略>
|  
+---iso (NFSルート)
|   |   
|   +---lubuntu-14.04-desktop-i386
|   |   <ここへisoの中身をコピー>
|   |   
|   +---xubuntu-14.04-desktop-i386
|   |   <ここへisoの中身をコピー>
|   |   
  • pxelinux.cfg/default に追記(※ i386版の例)
LABEL lubuntu1404nfs
MENU LABEL lubuntu-14.04-desktop-i386 via NFS
LINUX /iso/lubuntu-14.04-desktop-i386/casper/vmlinuz
INITRD /iso/lubuntu-14.04-desktop-i386/casper/initrd.lz
APPEND file=/cdrom/preseed/lubuntu.seed boot=casper -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106 showmounts root=/dev/nfs netboot=nfs nfsroot=192.168.x.x:/lubuntu-14.04-desktop-i386 ip=dhcp ro forcepae
# forcepae xforcevea

LABEL xubuntu1404nfs
MENU LABEL xubuntu-14.04-desktop-i386 via NFS
LINUX /iso/xubuntu-14.04-desktop-i386/casper/vmlinuz
INITRD /iso/xubuntu-14.04-desktop-i386/casper/initrd.lz
APPEND file=/cdrom/preseed/xubuntu.seed boot=casper -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106 showmounts root=/dev/nfs netboot=nfs nfsroot=192.168.x.x:/xubuntu-14.04-desktop-i386 ip=dhcp ro forcepae
# forcepae xforcevea

※ Lubuntu ではHDインストール後に NetworkManagerアイコン (nm-applet) が表示されませんでした。nm-applet が自動起動しない際は「LXSessionのデフォルトアプリケーション」の Autostart に追加しませう。

WinNFSd

こっちはコマンドラインのNFSサーバですが、NFSルートを指定できないようなのでいまいちかも。でも、ログが出力されるんでエラー時の確認できるのは利点かも。

  • NFSサーバ起動
winnfsd.exe -id 0 0 F:\iso\ubuntu-ja-14.04-desktop-amd64
  • nfsroot の指定
nfsroot=192.168.x.x:/f/iso/ubuntu-ja-14.04-desktop-amd64

いじょうですねん。

「お使いになりますか?」(何)

ほんならなー

関連記事