网络启动安装LinuxPC

领域知识 网络启动 工具链 pxe-server.sh PXE服务器上运行的一个脚本工具,用来自动化配置需要的软件和服务。代码仓库地址 DHCP:dnsmasq TFTP:dnsmasq HTTP:nginx Linux PC 通过PXE服务器自动化安装的Linux服务器。自动配置所有必须的软件和服务。包含: 操作系统:ubuntu server 22.04.1 网络:静态IP地址 SSH:OpenSSH 前提条件 Wi-Fi路由器 能访问internet 内置DHCP服务 LAN的两个空闲网口 PXE服务器 有线连接到Wi-Fi的LAN Linux PC BIOS或UEFI支持并配置成网络启动 有线连接到Wi-Fi的LAN 内存 >= 5GB 加载ubuntu server 22.04.1的iso需要1.5G内存,cloud-init需要3G内存 硬盘 >= 20GB 配置代码 以下均已通过工具自动化配置完毕。这里是对配置内容进行说明,以便需要修改时参考。 pxe-server.sh 运行模式 probe 探测设备Id,这样可以给不同的设备安装不同的软件,配置不同的参数。 add 添加设备参数:<device_id> <options> 参数device_id 探测阶段获取的设备Id,例如: PC:01-00-0c-29-4f-62-c7 (MAC地址) 树莓派:7092246e (设备序列号) 参数options有以下几个选项 --node-address CIDR格式,例如192.168.0.6/24 --node-gateway 例如192.168.0.1 --node-dns 例如192.168.0.1 配置 ProxyDHCP:dnsmasq => /etc/dnsmasq.conf # 禁用DHCP port=0 # 开启日志 log-dhcp # 开启ProxyDHCP dhcp-range=192.168.0.255,proxy TFTP ...

February 9, 2025 · afterain

网络启动的无盘系统树莓派

领域知识 网络启动 工具链 硬件 树莓派4b 4G 配置代码 前提条件 PXE服务器 网络启动的群辉 个人电脑 SD读卡器 树莓派节点 有线连接到和PXE服务器相同的LAN SD卡,键盘,显示器,HDMI线各一个(设置网络启动方式时需要) 树莓派 设置网络启动 使用SD卡的安装方法,参考安装操作系统。登陆后的操作流程参考客户端配置文档 安装的操作系统需要和PXE服务器提供的相同(Raspberry Pi OS 2022-09-06-raspios-bullseye-arm64-lite.img),否则后续步骤生成initramfs时无法匹配内核版本会导致无法正常启动 获取device_id grep Serial /proc/cpuinfo | cut -d ' ' -f 2 | cut -c 9-16 另外,也可以使用pxe-server.sh的probe命令自动探测device_id 生成支持iscsi的initramfs sudo apt install open-iscsi initramfs-tools sudo touch /etc/iscsi/iscsi.initramfs sudo update-initramfs -v -k "$(uname -r)" -c 在/boot目录下有一个新文件:initrd.img-5.15.61-v8+ (版本和内核版本相同) 配置tftp 创建目录 PXE服务器的tftp根目录创建子目录,目录名是树莓派设备的device_id,例如 7092246e 复制文件 复制树莓派/boot目录下所有文件到tftp的子目录 配置无盘启动 参考Network Booting a Raspberry Pi 4 with an iSCSI Root ...

February 9, 2025 · afterain

网络启动的PXE服务器 Synology 群辉

领域知识 网络启动 工具链 硬件和系统 群辉DS216play + DSM 6.1.7 软件 ProxyDHCP 群辉自带的DHCP服务:dnsmasq TFTP 群辉自带的TFTP服务:opentftp iSCSI 群辉自带的存储空间支持iSCSI,底层使用的软件未知 配置代码 以下配置仅针对树莓派的无盘启动 ProxyDHCP 启用DHCP 控制面板 => 连接性 => DHCP Server => 网络接口 => 局域网 => 编辑 => DHCP Server 勾选 启用DHCP服务器 启用PXE 控制面板 => 连接性 => DHCP Server => PXE 勾选 启用 PXE(预启动执行环境) 本地TFTP服务器 => 启动加载项 填写start4.elf 配置 由于群辉DSM的UI界面无法配置ProxyDHCP,需要SSH登录进行配置。下面假设已经使用管理员账号SSH远程登录NAS。 三个配置文件:/etc/dhcpd/dhcpd.info,/etc/dhcpd/dhcpd-eth0.info,/etc/dhcpd/dhcpd-eth0-subnet0.info 内容如下 enable="yes" /etc/dhcpd/dhcpd-eth0-subnet0.conf 内容如下 interface=eth0 # 禁用DHCP port=0 # 开启日志 log-dhcp log-facility=/var/log/dnsmasq.log # 开启ProxyDHCP dhcp-range=192.168.1.0,proxy # 配置树莓派bootloader启动项 pxe-service=X86PC,"Raspberry Pi Boot" 重启DHCP服务 ...

February 9, 2025 · afterain

网络启动的PXE服务器自举

领域知识 网络启动 工具链 netboot-bootstrap.sh 一个脚本工具,用来自动化安装配置需要的软件和服务。代码仓库地址 bootloader:pxelinux ProxyDHCP:dnsmasq TFTP:dnsmasq HTTP:python PXE服务器 通过bootstrap自动化安装的Linux服务器。自动配置所有必须的软件和服务。包含: 操作系统:ubuntu server 22.04.1 网络:静态IP地址 注:PXE服务器需要静态IP地址,否则IP变化后,客户端将无法网络启动 DHCP:dnsmasq TFTP:dnsmasq iSCSI:targetcli-fb HTTP:nginx SSH:OpenSSH 前提条件 Wi-Fi路由器 能访问internet 内置DHCP服务 LAN的两个空闲网口 个人电脑 macOS或Linux操作系统 有线(或无线)连接到Wi-Fi的LAN PXE服务器 BIOS或UEFI支持并配置成网络启动 有线连接到Wi-Fi的LAN 内存 >= 5GB 加载ubuntu server 22.04.1的iso需要1.5G内存,cloud-init需要3G内存 硬盘 >= 20GB 配置代码 以下均已通过工具自动化配置完毕。这里是对配置内容进行说明,以便需要修改时参考。 netboot-bootstrap.sh 参数 --server-address CIDR格式,例如192.168.0.6/24 --server-gateway 例如192.168.0.1 --server-dns 例如192.168.0.1 配置 以下内容均在dist目录 ProxyDHCP:dnsmasq => services/dnsmasq.conf # 禁用DHCP port=0 # 开启日志 log-dhcp # 开启ProxyDHCP dhcp-range=192.168.0.255,proxy TFTP dnsmasq => services/dnsmasq.conf ...

January 2, 2025 · afterain

网络启动

领域知识 什么是网络启动 简单来说是通过网络加载bootloader,然后通过bootloader无盘启动或安装操作系统。其中预启动执行环境PXE(Preboot eXecution Environment)是现在裸金属硬件支持最好的标准。 初始化网络 由DHCP服务提供的功能。包含2个关键步骤: 获取IP地址 DHCP给设备分配IP地址。设备有了IP地址后,才能正常通过网络加载bootloader。 获取bootloader需要的服务器地址和文件路径 BOOTP(DHCP完全兼容BOOTP)给设备提供:服务器的IP地址,以及bootloader文件路径。有这些信息后才能继续加载bootloader。 如果不方便修改已有的DHCP服务的配置(例如没有权限配置企业中的DHCP服务,或是无法配置硬件路由器内置的DHCP服务),可以额外安装一个独立的ProxyDHCP服务。 加载bootloader 设备从TFTP服务器中下载bootloader和配置文件,配置文件中描述了启动菜单和每个启动项的操作系统的内核映像文件路径 也可以继续链式加载另一个增强的bootloader(iPXE 或 GRUB等) 无盘启动或安装操作系统 注:这部分不是PXE提供的功能 从TFTP/HTTP服务中下载操作系统的内核映像(例如Linux的vmlinuz/initrd)。无盘启动和安装是不同的流程: 安装:一般是从HTTP/S网络服务中下载系统镜像(iso),结合自动应答(kickstart 或 cloud-init)来自动配置和安装操作系统。 启动:一般是从NFS/iSCSI网络服务中加载根分区(rootfs)来启动操作系统。 工具链和配置 由于运行服务(DHCP和TFTP、HTTP、NFS、iSCSI)的硬件环境有非常大的差异(例如使用一台Windows/Linux服务器、现成的智能路由器、现成的NAS服务器),所以使用的工具不一样,配置也不一样 PXE服务器 根据实际情况选择不同的方案 Linux主机 网络启动和自动化安装的前提是需要一台运行着多个网络服务(DHCP/TFTP/HTTP/NFS)的服务器。但是这个服务器本身是如何被自动化安装呢? => 网络启动的PXE服务器自举 群辉NAS 很多软件的安装配置需用通过群辉的UI界面完成,无法实现一键执行,更多的是如何操作和配置 => 群辉NAS配置网络启动 设备 树莓派 PC

January 2, 2025 · afterain