arm64架构 统信UOS搭建PXE无盘启动Linux系统(麒麟桌面为例)

arm64架构 统信UOS搭建PXE无盘启动Linux系统(麒麟桌面为例) 搞了好久搞得头疼哎

1、准备服务器UOS服务器

准备服务IP 这里是192.168.1.100

1.1、安装程序

shell 复制代码
    yum install -y dhcp tftp tftp-server xinetd nfs-utils rpcbind 

2、修改配置

2.1、修改dhcpd.conf

shell 复制代码
 vi /etc/dhcp/dhcpd.conf
conf 复制代码
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
#(DHCP-DNS互动)
ddns-update-style none;
#(忽略客户端更新)
ignore client-updates;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option space PXE;
option client-system-arch code 93 = unsigned integer 16;
allow booting;
allow bootp;
option root-path "192.168.1.100:/data/share/html/workstation/";
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.239;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
    default-lease-time 600;
    max-lease-time 7200;
    next-server 192.168.1.100;
    if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
        filename "efi/grub_kl.efi";
    } elsif option client-system-arch = 00:0B {
        filename  "efi/grubnetaa64.efi";
    }
}

2.2、修改tftp配置

shell 复制代码
vi /etc/xinetd.d/tftp
conf 复制代码
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

2.3、修改nfs

nfs配置

3、启动、开启启动和重启

shell 复制代码
#启动
systemctl start dhcpd
systemctl start xinetd
systemctl start tftp
systemctl start nfs-server
systemctl start rpcbind
#开机启动
systemctl enable dhcpd
systemctl enable xinetd
systemctl enable tftp
systemctl enable nfs-server
systemctl enable rpcbind
#重启
systemctl restart dhcpd
systemctl restart xinetd
systemctl restart tftp
systemctl restart nfs-server
systemctl restart rpcbind

4、系统准备

shell 复制代码
## 虚拟机安装麒麟系统然后把系统放到/data/system下
rsync -Pa / /data/system --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/* --exclude=/data/*

5、配置启动菜单

shell 复制代码
cd /var/lib/tftpboot/
mkdir efi
vi efi/grub.cfg
efi 复制代码
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set is_preload=true
###grub-password begin
###grub-password end
set have_grubenv=true
load_env
set timeout="1"
font=$prefix/fonts/unicode.pf2
insmod font
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/01_sw_settings ###
### END /etc/grub.d/01_sw_settings ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/06_ubuntukylin_theme ###
insmod part_gpt
insmod ext2
insmod gfxmenu
insmod png
export theme
insmod gzio
### END /etc/grub.d/06_ubuntukylin_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Kylin V10 SP1 5.4.18-85-generic' --unrestricted --class kylin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0701d1e8-c29c-4bad-b96a-e02af022085f' {
        set gfxpayload=keep
        echo    'Loading Linux menuentry 5.4.18-85-generic ...'
        linux   /vmlinuz boot=nfs netboot=nfs nfsroot=192.168.1.100:/data/system rootwait rw locale=zh_CN KEYBOARDTYPE=pc KEYTABLE=us ignore_uuid quiet splash ip=dhcp  audit=0 live
        initrd  /initrd.lz
}

5.1、initrd.lz 和vmlinuz地址

shell 复制代码
# initrd.lz地址
mkdir /kylin/data/
mount Kylin-Desktop-V10-SP1-General-Release-2303-ARM64.iso /kylin/data/
cp /kylin/data/casper/initrd.lz /var/lib/tftpboot/
# vmlinuz地址,TODO 在虚拟机系统上执行
sudo cp /boot/vmlinuz-`uname -r` ~/vmlinuz
#然后在把vmlinuz 放到192.168.1.100服务器下 /var/lib/tftpboot/下 重启tftp
systemctl restart tftp

6、客户端

设置boot 
boot Manage 设置UEFI PXEv4启动
相关推荐
稳重的大王1 分钟前
威联通NAS部署openwrt软路由保姆级教程附镜像文件
运维·服务器
ascarl20103 分钟前
【Nginx系列】---Nginx配置tcp转发
运维·tcp/ip·nginx
新子-存在了5 分钟前
linux中 mysql备份
linux·运维·mysql
最后一个bug6 分钟前
rt-linux中使用mlockall与free的差异
linux·c语言·arm开发·单片机·嵌入式硬件·算法
ZHOUPUYU7 分钟前
VMware虚拟机超详细安装Linux教程(最新版)
linux·运维·服务器·windows·微软·centos·虚拟机
成都渲染101云渲染666614 分钟前
云渲染,Enscape、D5、Lumion渲染提速教程
运维·服务器·unity·电脑·图形渲染·blender·houdini
初级代码游戏17 分钟前
关于linux的ld.so.conf.d
linux·运维·服务器
xianwu54323 分钟前
反向代理模块。开发
linux·开发语言·网络·c++·git
m0_7482323928 分钟前
在Linux centos7环境下部署wblogic使用weblogic部署war包项目
linux·运维·服务器
handsomestWei40 分钟前
Nginx整合Lua脚本
运维·nginx·lua