全新安装
1 安装LTSP Edubuntu,勾选LTSP
2 配置瘦机 /etc/network/interfaces /etc/ltsp/dhcpd.conf
2 布线联机 无网布线 单卡布线 双卡布线
3 激活PXE 瘦机BIOS,寻找’bootrom’、’pci’、’lan’等字样
4 启动瘦机
系统加装
1 安装LTSP sudo apt-get install ltsp-server-standalone openssh-server
2 创建瘦机 sudo ltsp-build-client
2 配置瘦机 /etc/network/interfaces /etc/ltsp/dhcpd.conf
2 布线联机 无网布线 单卡布线 双卡布线
3 激活PXE 瘦机BIOS,寻找’bootrom’、’pci’、’lan’等字样
4 启动瘦机
具体配置
sudo gedit /etc/network/interfaces
编辑前:
auto lo
iface lo inet loopback
编辑后:
auto lo
iface lo inet loopback
auto eth0
iafce eth0 inet static
address 192.168.1.146
netmask 255.255.255.0
gateway 192.168.1.1
sudo gedit /etc/ltsp/dhcpd.conf
编辑前:192.168.0.*
编辑后:192.168.1.*
修改IP
sudo gedit /etc/ltsp/dhcpd.conf
重启DHCP:service dhcpd restart
更新ssh服务器:sudo ltsp-update-sshkeys
若有错误提示:This workstation isn't authorized to connect to server【该工作站未授权连接到服务器】
sudo ltsp-update-sshkeys
sudo ltsp-update-image
如果瘦客户机网卡没有引导ROM,下载gPXE,把gPXE装到U盘或光盘,从U盘启动Etherboot模块
下载地址:http://www.rom-o-matic.org 具体说明:http://rom-o-matic.net/gpxe/gpxe-git/gpxe.git/README
sudo lspci 用lspci工具识别网卡的PCI ID
##找到这行:00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c)
##意思是:00:12.0 以太网控制器: 威盛电子股份有限公司. VT6102 [Rhine-II] (rev 7c)
##然后:lspci -n -s 00:12.0
##00:12.0 0200: 1106:3065 (rev 7c) 00:12.0是PCI总线、1106是供应商代码和3065设备代码
制作ROM映像,并检查ROM映像文件大小,不能超过128KB
cd gpxe/src
make bin/11063065.rom
怎样烧录光盘映像
http://etherboot.org/wiki/romburningPXE(preboot execute environment) 开机前执行环境
NBP(Network Bootstrap Program)网络引导程序
PXE加载NBP,NBP加载操作系统映像
用PXE引导LTSP工作站,NBD选择PXELINUX和Etherboot
很多集成网卡的主板BIOS都有PXE,很多网卡晶片BootROM上都有PXE
使用PXE内核
编辑/etc/dhcpd.conf 内的'filename'项,来指定PXE的引导程序
例如:
host ws001 {
hardware ethernet 00:E0:06:E8:00:84;
fixed-address 192.168.0.1;
filename "/lts/2.4.26-ltsp-3/pxelinux.0";
}
pxelinux.0 内核和initrd的位置
通常,Etherboot内核在 /tftpboot/lts
但是,PXE内核,在该位置创建子目录,名称应该与内核版本相匹配
例如:/lts/2.4.26-ltsp-3
在这个目录下放置内核、initrd映像、pxelinux.0引导程序,配置子目录
用pxelinux.0引导
DHCP请求:PXE BOOTROM启动时,发送DHCP请求广播到网络
DHCP回复:IP、网关、下载文件的文件名和根路径(root-path)
用TFTP下载引导程序
然后PXE BOOTROM用TFTP协议下载启动文件
由于PXE BOOTROM只能加载小于32kb的文件
所以PXE BOOTROM先加载比较小的引导程序:pxelinux.0
pxelinux.0能够加载更大的映像,比如:内核和initrd映像
pxelinux.0怎样找到配置文件
pxelinux.0在本目录查找pxelinux.cfg
首先根据文件名查找有IP地址的文件,转换为十六进制
如果没有找到这个文件,就从文件名去掉最后一个十六进制数字
直到没有数字
最后查找这个文件pxelinux.cfg/default
假设工作站的IP地址是192.168.0.1
pxelinux.0就按这个顺序查找
pxelinux.cfg/C0A80001
pxelinux.cfg/C0A8000
pxelinux.cfg/C0A800
pxelinux.cfg/C0A80
pxelinux.cfg/C0A8
pxelinux.cfg/C0A
pxelinux.cfg/C0
pxelinux.cfg/C
pxelinux.cfg/default
一旦加载程序发现这个文件,就会输出'Loader aborted'(加载终止)
然后去syslinux's boot: prompt(提示)
A perl helper: [/pxehelp.pl.txt pxehelp.pl.txt]:
echo "192.168.0.1" | ./pxehelp.pl
C0A80001
C0A8000
C0A800
C0A80
C0A8
C0A
C0
C
gethostip实用工具, which comes with pxelinux (在LTSP根目录), 作同样的工作:
/opt/ltsp/i386/usr/bin/gethostip 192.168.0.1
192.168.0.1 192.168.0.1 C0A80001
参见:http://syslinux.zytor.com/pxe.php#config
配置文件 pxelinux.cfg,格式很像/etc/lilo.conf file
prompt 0
default linux
timeout 5
label linux
kernel bzImage-2.4.26-ltsp-3
append init=/linuxrc rw root=/dev/ram0 initrd=initrd-2.4.26-ltsp-3.gz
配置文件pxelinux.cfg条目格式必须符合syslinux
更多常见选项参见:
http://syslinux.zytor.com/faq.php#config比如不要使用等号(=)的参数
将内核参数传递给内核
pxelinux.cfg中的'append' line(追加行)传递到内核
追加'quiet'到参数,可以禁止大量内核输出
怎样转移内核和initrd
pxelinux.0使用TFTP下载内核映像和initrd映像然后解压、提取内核
可以为个别工作站单独创建pxelinux配置文件
如果想修改所有工作站参数,可以添加大'default'文件