admin管理员组

文章数量:1569888

文章目录

  • 前言
  • 一、PXE服务器是什么
  • 二、iVentoy是什么
  • 三、树莓派简介
  • 四、配置流程:
    • 4.1 准备工具:
    • 4.2 安装Raspberry Pi OS
    • 4.3 搭建基于iventoy的PXE移动服务器
      • 4.3.1 与树莓派交互
      • 4.3.2 apt-get换源
      • 4.3.3 安装3.5英寸屏幕驱动程序
      • 4.3.4 安装samba服务
      • 4.3.5部署iventoy
  • 五、PXE服务器使用方法:
    • 5.1 配置网络
    • 5.2 激活iventoy程序
    • 5.3 配置iventoy
    • 5.4 PXE网络启动
  • 六、参考资料


前言

我之前研究过树莓派PXE服务器,但是实际配置起来比较麻烦,看到网上有iventoy,这个配置很方便,所以便诞生了这个教程


一、PXE服务器是什么

PXE是由因特尔公司开发的一种技术,功能是可以通过局域网来批量安装操作系统。

二、iVentoy是什么

简单来说,iVentoy 可以看成是一个增强版的 PXE 服务器。 使用iVentoy 你可以通过网络同时给多台机器启动、安装操作系统。
iVentoy 使用极其简单,无需复杂的配置,直接把 ISO 文件放到指定位置,客户机在启动时根据菜单选择要启动的ISO文件即可。

三、树莓派简介

它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。

四、配置流程:

4.1 准备工具:

需要用到树莓派、读卡器、TF卡、计算机
其中计算机中需要预先准备MobaXterm(ssh终端程序)、操作系统镜像文件、树莓派镜像烧录工具程序

4.2 安装Raspberry Pi OS

刚买回来树莓派肯定是需要安装操作系统,我采用的是树莓派官方的Raspberry Pi OS
首先,需要上树莓派官网下载树莓派镜像烧录程序

然后将存储卡插入读卡器并连接到计算机,使用镜像烧录工具刷入Raspberry Pi OS ,这个镜像可以配置linux账号、密码、预置wifi名和密码等配置,比较好用,此外不要忘了开启ssh服务,方便后期配置树莓派。


烧录完成之后,将存储卡插入到树莓派,将USB Type-C电源线连接到树莓派,并启动树莓派。

等待Raspberry Pi OS自动安装和配置结束后,操作系统就安装成功了。

注:因为最新版本的Raspberry Pi OS不能用3.5英寸屏幕显示图形界面(可能是我没有配置好但是不需要),我选择的是Raspberry Pi OS lite版本,不需要使用图形界面,如果需要图形界面的可以参考我提供的教程进行配置。

4.3 搭建基于iventoy的PXE移动服务器

4.3.1 与树莓派交互

这一步骤不同人有不同的情况,但是最终的目的就是通过终端或者ssh与树莓派进行交互,我在这里稍微总结2个方案供大家参考:
方案1:家里有HDMI线缆、显示器:
在4.2步骤启动树莓派之前使用HDMI线缆将树莓派和电视/显示器连接,开机后能直接看到树莓派当前的状态,如果有USB的键盘可以直接连接到树莓派上进行操作。
此方案中可以使用ifconfig命令来获取树莓派IP地址进行ssh连接。
方案2:无显示器:
这种情况需要注意4.2步骤中一定要配置好树莓派的上网方式,可以通过网线也可以使用WIFI的方式,确保树莓派能连入局域网,在使用计算机上的arp -a指令、家庭路由器的后台等方式找到树莓派的IP地址,使用终端连接程序(我用的是MobaXterm)进行ssh的链接。

注:使用其他的终端连接程序没有任何影响,本教程之后只提及MobaXterm

4.3.2 apt-get换源

Raspberry Pi OS是基于debian 开发,软件管理平台使用的是apt-get,为了方便之后的软件安装和更新,需要将apt-get软件镜像配置到国内服务器。方法如下:

1.使用MobaXterm连接到树莓派
2.使用如下命令打开apt软件源配置文件:

sudo nano /etc/apt/source.list

3.使用如下软件源替换掉之前的软件源,可以将之前的配置用【#】注释掉

deb https://mirrors.tuna.tsinghua.edu/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu/debian/ bookworm-backports main contrib non-free non-free-firmware

deb https://security.debian/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://security.debian/debian-security bookworm-security main contrib non-free non-free-firmware

4.使用ctrl+o命令写入文件,使用ctrl+x命令退出nano文本编辑器
5.更新apt软件库数据:

sudo apt-get update

4.3.3 安装3.5英寸屏幕驱动程序

为了方便查看树莓派的运行状态和后期使用,我购买树莓派的时候顺便购买了3.5英寸显示屏,所以到现在的状态,链接显示屏现在是白屏状态,需要安装显示屏驱动程序(如果不需要可以跳过本步骤)方法如下:
使用MobaXterm连接到树莓派并执行如下操作:

sudo git clone https://github/waveshare/LCD-show.git
cd LCD-show/
sudo ./LCD35-show lite

操作执行结束之后树莓派会自动重启,重启之后,HDMI接口不会输出树莓派的界面而是切换到3.5英寸屏幕显示,如果需要切换回来需要在LCD-show文件夹下执行如下操作:

sudo ./LCD35-hdmi

4.3.4 安装samba服务

为了方便后续大量文件交互,需要先搭建samba服务。方法如下:

1.安装samba程序:
使用MobaXterm连接到树莓派
执行如下操作:

sudo apt-get install samba samba-common 

2.创建共享文件夹:
执行如下操作:

mkdir share
chmod 755 share

3.配置samba服务:
3.1 使用如下命令打开配置文件:

sudo nano /etc/samba/smb.conf

3.2 在配置文件最下方空白处填入如下配置:

[sharing]
   path=/home/XXX/share
   public = yes
   writeable = yes
   browseable = yes
   guest ok = yes
   create mask = 0755
   directory mask = 0755
   force user = XXX
   force group = XXX
   server min protocol = NT1

注:其中【XXX】代表你的用户名需要用你自己的用户名替换

3.3 使用ctrl+o命令写入文件,使用ctrl+x退出nano文本编辑器

4.创建samba用户
使用如下命令创建samba访问用户并设置密码:

sudo smbpasswd -a XXX

注:其中【XXX】代表你的用户名需要用你自己的用户名替换

此命令执行后会提示你输入密码,需要输入两次密码来完成用户创建过程。

5.重启samba服务并应用之前设置好的配置:
执行如下操作:

sudo service smbd restart

6.测试samba服务:
使用win + R 调出运行窗口,输入\【树莓派IP地址】访问树莓派

进入之后会提示输入账号密码,此时输入之前配置好的账号密码即可使用samba协议进行文件传输了

4.3.5部署iventoy

因为iventoy是X86软件,而树莓派使用arm处理器,我之前尝试直接安装并启动iventoy会提示失败,在网上搜寻大量资料,发现有人使用docker已经创建了iventoy镜像,除此之外还需要qemu程序提供x86虚拟环境,来实现iventoy的部署。

1.安装docker:

使用MobaXterm连接到树莓派。
执行如下操作:

sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker
sudo apt-get install docker-compose

2.安装qemu:
执行如下操作:

sudo apt-get install qemu-user-static qemu-system-x86 qemu-user qemu-system qemu-utils

3.拉取、配置docker-iventoy镜像

3.1 拉取镜像:
执行如下操作:

docker pull amilys/iventoy

3.2 配置docker容器:
3.2.1创建并进入目录:

mkdir iventoy
cd iventoy

3.2.2 创建docker-compose.yaml文件:

version: '3'  
services:  
  iventoy:  
    image: amilys/iventoy  
    privileged: true  
    volumes:  
      - /volume/docker/pxe/iso:/PXE/iso  
      - /volume/docker/pxe/data:/PXE/data  
      - /volume/docker/pxe/log:/PXE/log  
    network_mode: host

注:为了方便后续配置,我将容器的网络模式改为本机模式,而且映射了3个文件夹分别是iso、data、和log 下面是这三个文件夹的功能:

文件夹名称作用
iso存放操作系统镜像文件(既可以存放winPE工具也可以存放操作系统镜像)
data用于存放程序的一些数据文件
log存放日志文件

4.创建docker容器
执行如下操作:

docker-compose up -d 

创建成功后使用如下命令查看容器是否创建成功:

docker-compose ps

可以使用如下命令来确认docker容器是否启动了iventoy程序:

docker logs  iventoy_iventoy_1

5.再次配置samba服务,将存放iso文件映射到网络中,方便后期镜像文件传输:

5.1 打开samba配置文件:

sudo nano /etc/samba/smb.conf

5.2 在配置文件最下面空白处写入如下配置:

[iventoy_iso]
   path=/volume/docker/pxe/iso
   public = yes
   writeable = yes
   browseable = yes
   guest ok = yes
   create mask = 0755
   directory mask = 0755
   force user = XXX
   force group = XXX
   server min protocol = NT1

注:其中【XXX】代表你的用户名需要用你自己的用户名替换

5.3 保存并退出编辑器,使用如下指令重启samba服务应用配置:

sudo service smbd restart

到此为止,移动PXE服务器就已经搭建完毕了。

五、PXE服务器使用方法:

5.1 配置网络

1.将树莓派的有线网卡接入到目标网络
2.确保你的管理计算机与树莓派处于同一局域网
3.如果树莓派本身没有获取到IP地址的话,可以通过使用蓝牙键盘或者是USB键盘连接树莓派使用如下命令配置IP地址:

sudo ifconfig eth0 192.168.X.X netmask 255.255.255.0

注:其中【192.168.X.X】是手动分配的IP地址,需要按照实际情况填写
4.禁用无线网卡
为了方便配置,确保空白主机能连接到树莓派PXE服务,所以尽量关闭无用的树莓派网络设备
执行如下操作:

sudo ifconfig wlan0 down

5.2 激活iventoy程序

树莓派每次关机时,docker 容器也会在此过程中停止运行,需要重启docker容器以激活iventoy程序。
1.重启docker容器
执行如下操作:

docker restart iventoy_iventoy_1

2.查看docker日志,确认iventoy程序是否启动
执行如下操作:

docker logs  iventoy_iventoy_1

5.3 配置iventoy

1.启动iventoy服务配置界面
在管理计算机中打开网页:
http://192.168.X.X:26000/
注:其中【192.168.X.X】是手动分配的IP地址,需要按照实际情况填写

2.配置iventoy服务
注意在【启动信息】界面中一定确认网卡名称是【eth0】确保PXE服务工作在树莓派有线网卡上。
需要配置好安装方式、安装脚本、注入驱动程序的配置等
注:目标网络可能会有如下两种情况,下面是具体情况及简答的解决办法
1).目标网络没有dhcp服务或者是路由器没有dhcp proxy功能,建议在【参数配置】中dhcp服务器选用Internal模式,让iventoy内置dhcp来处理。
2).目标网络具有dhcp服务器或者是路由器具有dhcp的高级功能,建议在【参数配置】中dhcp服务器选用External或者是ExternalNet模式,除此之外还需要配置路由器或者是dhcp服务器,详细信息请查看ivnetoy官网解答。

3.启动iventoy服务
只要在【启动信息】界面中按下绿色启动按钮即可启动iventoy服务

5.4 PXE网络启动

将iventoy配置与启动好之后,就可以使用空白主机(你需要安装操作系统的计算机)设置PXE启动来实现网络上批量安装操作系统的功能。

六、参考资料

1: 快速搭建网络启动环境,iVentoy使用指南
2: iventoy官网
3: docker教程
4: armdocker:轻松实现ARM与x86之间的无缝转换

本文标签: 服务器教程树莓派iventoyPXE