Linux无盘工作站(02)

Disk Ubuntu

The configuration of PXE linux server is all the same, only the creation of boot file system is different.


The Ubuntu version is Ubuntu 12.04 LTS 32


1. Install the required packages

sudo apt-get install dhcp3-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools nfs-common


2. Copy current kernel version to home directory

sudocp /boot/vmlinuz-3.11.0-18-generic ~


3. Create an initrd.img file


(1)change the BOOT flag to nfs in /etc/initramfs-tools/initramfs.conf

   #
   # BOOT: [ local | nfs ]
   #
   # local - Boot off of local media (harddrive, USB stick).
   #
   # nfs - Boot using an NFS drive as the root of the drive.
   #

    BOOT=nfs


  
(2)Change the MODULES flag to netboot in /etc/initramfs-tools/initramfs.conf 
  #
   # MODULES: [ most | netboot | dep | list ]
   #
   # most - Add all framebuffer, acpi, filesystem, and harddrive drivers.
   #
   # dep - Try and guess which modules to load.
   #
   # netboot - Add the base modules, network modules, but skip block devices.
   #
   # list - Only include modules from the 'additional modules' list
   #

    MODULES=netboot

4. Run mkinitramfs

  
mkinitramfs -o ~/initrd.img-3.11.0-18-generic
5. Copy OS files to the server
   mount -t nfs -onolock 10.10.10.11:/nfsroot /mnt
   cp -ax /. /mnt/.
   cp -ax /dev/. /mnt/dev/.



6. Copy kernel and initrd to tftp root

sudo cp ~/ vmlinuz-3.11.0-18-generic /tftpboot/

sudo cp ~/initrd.img-3.11.0-18-generic /tftpboot/



7. Configure fstab

      # /etc/fstab: static file system information.
   #
   # <file system> <mount point>   <type>  <options>       <dump>  <pass>
   proc            /proc           proc    defaults        0       0
   /dev/nfs       /               nfs    defaults          1       1
   none            /tmp            tmpfs   defaults        0       0 
   none            /var/run        tmpfs   defaults        0       0
   none            /var/lock       tmpfs   defaults        0       0
   none            /var/tmp        tmpfs   defaults        0       0
   /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto 0       0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 无盘工作站及其原理 1.1 无盘工作站 无盘工作站是没有硬盘的计算机终端。它本身不含有硬存储设备,机器引导时需要借助网络上的服务器来传输操作系统启动文件到本地内存,才可以完成启动。因此,无盘工作站必须具有CPU、主板、内存、网卡和远程启动设备。远程启动设备主要以芯片的形式固化或接插在网卡上,在系统启动时负责连接服务器,获取IP地址,指导服务器上的操作系统启动文件到本地内存的传输。目前,远程启动芯片主要有RPL和PXE两种,后者为前者的升级版,目前正在被广泛使用。 1.2 PXE芯片启动原理 PXE芯片在远程启动时,首先要进行一个DHCP会话过程来获取一个IP地址和相关信息,以便进行后续的文件传送;IP地址获取成功后,PXE芯片触发TFTP会话过程,根据DHCP过程获取的相关信息向服务器请求启动文件,服务器接到请求后,根据本地策略,发送相应的启动文件,工作站接收到启动文件后,开始本地启动过程。 以上是PXE芯片无盘工作站启动过程的简单描述,DHCP协议的相关内容可参考RFC2131标准化文档,TFTP协议的相关内容可参考RFC1350标准化文档。 对于Linux操作系统来说,PXE所需要下载的启动文件是配置文件和内核文件。其中,配置文件在DHCP应答报文中包含,通过TFTP会话过程获取;内核文件的名称和位置在配置文件中给出,同样需要通过TFTP会话过程获取;内核文件获取成功后,系统开始进行本地启动,当启动过程进行到需要装载文件系统时,PXE会根据配置文件,向服务器请求连接根文件系统(该文件系统为NFS网络根文件系统)所对应的服务器目录,若成功,则启动结束。下页图1-1给出了这一过程的交互模型。 Linux无盘工作站的详细启动流程如下: Step 1 工作站加电,PXE芯片进行自检; Step 2 准备启动,PXE芯片发送DHCP请求; Step 3 服务器收到工作站送出的请求,发送DHCP应答,内容包括客户端的IP地址,预设网关,DNS服务器及开机映象文件(配置文件和内核)位置; Step 4 工作站上的PXE芯片根据配置文件位置,开始TFTP会话请求下载该文件; Step 5 加载映象文件,开始本地启动,挂载NFS网络根文件系统; Step 6 出现Login行,启动成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值