#1 2010-06-23 18:08:17
[Lly] TFTP+NFS+GeeXBoX 無磁碟, 網路開機之媒體撥放器
Oleg系列韌體, 內建NFS server. 補上TFTP server, PC可經由網路卡之Boot ROM作PXE boot, 向Router取得操作系統, 達成無磁碟開機.
GeeXboX是套Media Player, 支援avi, rmvb等媒體格式, 亦支援UPnP/DLNA, Samba等網路協定. 發佈的iso檔可支援PC或Apple MAC, 並可重製iso, 支援中文介面等. 開機方式可CD boot, USB boot, Net boot.
以下簡述PC(amd64)無磁碟開機, 由WL-500gx提供OS, 執行GeeXboX. WL-HDD, WL-500g等老機器, 亦可比照辦理.
機型: 華碩 WL-500gx
韌體: Lly 1.9.2.7-d-r1612
1. TFTP server
1-1) Optware內有二套: tftp-hpa, atftp, 經由xinetd控管. 我選用tftp-hpa.
$ ipkg-opt install xinetd tftp-hpa
1-2) 修改設定
$ vi /opt/etc/xinetd.conf
...
only_from = localhost 192.168.1.0/24
$ vi /opt/etc/xinetd.d/tftp
...
user = admin
1-3) 執行
$ /opt/etc/init.d/S10xinetd
1-4) 檢查
$ tail /tmp/syslog.log
...
Jun 23 16:37:51 xinetd[152]: xinetd Version 2.3.14 started with no options compiled in.
Jun 23 16:37:51 xinetd[152]: Started working: 1 available service
1-5) 測試
$ touch /opt/tftpboot/test.txt
Windows 附屬應用程式, 命令提示字元
tftp 192.168.1.1 get test.txt
Transfer successful: 0 bytes in 1 second, 0 bytes/s
$ tail /tmp/syslog.log
...
Jun 23 16:41:53 xinetd[152]: START: tftp pid=164 from=192.168.1.133
2. GeeXboX
重製中文iso檔, 就不贅述了, 直接取1.2.4英文iso檔作測試. 若有興趣, 亦可下載2.0-alpha2
2-1) 下載
$ curl -Ov ftp://ftp.proxad.net/pub/Distributions_Linux/GeeXboX/releases/1.2.4/geexbox-1.2.4-en.x86_64.glibc.iso
2-2) 掛載iso
Lly 外掛isofs核心模組後, 可掛載iso. 這也不贅述了.
$ modprobe isofs
$ lsmod
Module Size Used by Tainted: P
isofs 20464 0 (unused)
...
$ mkdir /tmp/iso
$ /bin/mount -o loop geexbox-1.2.4-en.x86_64.glibc.iso /tmp/iso
$ mount
...
/dev/loop/0 on /tmp/iso type iso9660 (ro)
$ ls -l /tmp/iso/
total 2
dr-xr-xr-x 10 admin root 2048 Oct 11 2009 GEEXBOX
2-3) 複製, 卸載
$ cp -R /tmp/iso/* /opt/tftpboot/
$ ls -l /opt/tftpboot/GEEXBOX/
total 12272
-r--r--r-- 1 admin root 3772709 Jun 23 17:12 X.tar.lzma
dr-xr-xr-x 2 admin root 4096 Jun 23 17:12 bin
-r--r--r-- 1 admin root 8732896 Jun 23 17:12 bin.tar.lzma
dr-xr-xr-x 3 admin root 4096 Jun 23 17:12 boot
dr-xr-xr-x 2 admin root 4096 Jun 23 17:12 codecs
dr-xr-xr-x 15 admin root 4096 Jun 23 17:12 etc
dr-xr-xr-x 7 admin root 4096 Jun 23 17:12 firmware
dr-xr-xr-x 2 admin root 4096 Jun 23 17:12 sbin
dr-xr-xr-x 3 admin root 4096 Jun 23 17:12 usr
dr-xr-xr-x 6 admin root 4096 Jun 23 17:12 var
$ umount /tmp/iso
3. TFTP PXE boot
$ vi /usr/local/etc/dnsmasq.conf
dhcp-boot=/GEEXBOX/boot/pxelinux.0,WL-500gx,192.168.1.1
$ flashfs save && flashfs commit
4. NFS server, WebUI
USB Application - NFS Server
Export:
/opt/tftpboot/GEEXBOX 192.168.1.0/24(ro)
Add, Apply
5. GeeXboX nfsroot
$ vi /opt/tftpboot/GEEXBOX/boot/pxelinux.cfg/default
...
LABEL hdtv
...
APPEND initrd=initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr hdtv quiet nfsroot=192.168.1.1:/opt/tftpboot/GEEXBOX
...
螢幕解析度, 支援的遙控器等, 請至GeeXboX查閱.
6. 重新開機. xinetd可用開機自動執行方式, 也不贅述了.
好了, WL-500gx執行DHCP, TFTP, NFS server.
PC 先確認是否支援網路開機. 網路開機的條件是, PC網路卡有Boot ROM, 支援PXE boot. 現在All in One主機板應都支援LAN boot. 螃蟹卡等, 可燒錄Boot ROM, 插於網路卡IC座.
調整BIOS開機順序, 將LAN boot優先. 網路開機後, 由Router DHCP取得IP, 載入GeeXboX執行.
媒體來源, 除本機硬碟外, 可經由LAN 之 Samba, UPnP/DLNA協定取得.
因使用英文版iso作測試, 內建無中文字型, 故選單與檔案名稱無法顯示中文, 需得重製iso檔.
Router可另外安裝uShare套件, 支援UPnP. Router也要啟用UPnP服務.
RT-N16 flash夠大, 或許可嘗試塞入GeeXboX.
或許您會問, 要看個影片, 何必這麼麻煩? 其實我要告訴您的是, 從學習當中, 理解其中道理, 解決自己的疑惑, 達成自己的需求. 日後, 網路開機執行Windows也不無可能.
一切都可當作是 Just for Fun!
離線
#3 2010-06-26 22:48:24
Re: [Lly] TFTP+NFS+GeeXBoX 無磁碟, 網路開機之媒體撥放器
我倒是希望網友能實作體會.
Windows PE 3.0可由Windows 7建立, 但Windows PE功能有所限制, 不如實測自己喜歡的Linux Live CD或好用的工具, 例如: 臺灣製造的再生龍Clonezilla Live, 基於Debian Live. 這也實作過了. PC可藉由網路開機, 備份或還原映像檔.
所以, 悟道後, 就看您要怎麼玩弄自己的機器了.
離線
#4 2010-11-16 23:35:33
Re: [Lly] TFTP+NFS+GeeXBoX 無磁碟, 網路開機之媒體撥放器
NoName XPE載入測試
1.
請先參考http://nonamexpe.duc.cc/viewtopic.php?p=3542#p3540 相關文件及下載檔案
解壓至/opt/tftpboot/
另外要找到NoName XPE的NTLDR,ntdetect.com,RXPE.IMG(注意大小寫一定要一樣),一樣放到/opt/tftpboot/
2.
修改NTLDR內的wxpe改為RXPE
3.
nano /opt/tftpboot/winnt.sif
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\RXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdpath=RXPE.IMG"
4.
nano /usr/local/etc/dnsmasq.conf
dhcp-boot=/pxelinux.0,WL-500gP,192.168.1.1
5.
nano /opt/tftpboot/pxelinux.cfg/default
加入
LABEL rxpe
MENU LABEL Start NoName XPE ...
kernel startrom.0
6.
實際測試
備註:僅測試核心載入.
離線
相關討論主題
主題 | 回覆 | 點閱 | 最後發表 |
---|---|---|---|
[Tomato ND USB] 內建 DNSMasq 支援 TFTP 作者 hippo
|
2 | 16289 | 2010-10-08 12:59:35 作者 hippo |
5 | 25528 | 2010-07-06 12:01:51 作者 hippo | |
0 | 10971 | 2010-06-24 08:15:39 作者 hippo | |
TFTP 服務 可能? 作者 oldhan
|
9 | 27521 | 2010-05-02 07:15:30 作者 ljr781 |