搭建PXE服务器相关问题
有几个问题:1:如果局域网内有多台DHCP服务器,PXE-client还能正常网络安装吗??
2:怎么设置PXE-server让PXE-client可以选择不安装而只是网络启动
3:能详细解释下PXE-client的启动流程吗?
比如PXE-client从tftp服务器下载什么文件到本地内存中运行。就像grub的引导启动似的。怎么加载内核等等,越详细越好。
多谢多谢!!! 兄弟, 你这东西写全了, 够半本书了.
简单的说, PXE是根据 DHCP 送过来的 nextserver 和 file 选项的参数来 tftp 文件. 一般是 pxelinux.0
pxelinux.0 会根据配置文件 pxelinux.cfg/xxx 来选择下一步的加载项的. 这个xxx的取值分几种情况.
一种是什么都没有, 只有一个 default, 一种是 mac, 一种是 ip, mac 和 ip是 通配方式 的. 优先匹配最多的, 然后一层层少, 直到什么都没有, 匹配 default.
配置文件里可以配置为加载 diskless client 还是 pxeboot install.
更详细的, 你得 google 一下 diskless linux 或 pxe linux install 了.
PXE-client从DHCP-server那里获取ip和tftp-server的ip(具体细节忽略)
接着从tftp-server里下载pxelinux.0(引导文件)
接着加载vmlinuz(内核文件)initrd.img(根文件系统)//这里的vmlinuz到底是什么东西,大概3M左右大小。我都晕了 到底什么是内核
而且不是系统只要有内核了,加载到内存运行就是一个最最基础的操作系统了吗?回复 2# q1208c
回复 3# shuimuyq
vmlinuz 就是 压缩过的 linux的 kernel了.
只有内核, 并不能运行, 原因很简单, kernel 需要跟 硬件通信, 而这些硬件各不相同, kernel不可能内置每一种硬件的driver, 因为那样太大了. 所以, 在initrd.img 里有 这些 driver 的 mod . 当然, 有些特别的,针对特定硬件定制的kernel可能不需要initrd就可以运行, 但我没有试过. 具体要看这个 vmlinuz 解开后的代码的执行情况了.
不知道兄弟你要了解这个过程做什么呢?
有些事, 未必知道的越细越好. 尤其是在你对它还不太了解的时候.
如果一开始就追求细节, 你可能会走不下去的. 说来也只是纯粹对启动模块感兴趣。
之前也了解了一些grub引导启动问题。
其实我自己对硬件也不了解。确实有点走偏了。
多谢前辈!!!回复 4# q1208c
q1208c 发表于 2012-12-10 19:40 static/image/common/back.gif
回复 3# shuimuyq
所以名校追求让大师授课的价值就可以出来做到补充了{:3_200:}
页:
[1]