PXE无人值守安装统信UOS1060桌面版系统
这次介绍统信1060系统的pxe安装,介绍完后pxe的部署也算是告一段落了,后期看缘分介绍windows的部署(WDS)。
镜像准备
直接官网下载,按照自己的平台芯片下载对应的镜像【uos-desktop-20-professional-1060-arm64.iso】
下载后将镜像文件解压到/uos_folder/目录下
mkdir -p /uos_folder
mkdir -p /mnt/tmp
mount /home/uos-desktop-20-professional-1060-arm64.iso /mnt/tmp
cp -r /mnt/tmp /uos_folder/uos_arm_1060
tftp内核准备
mkdir -p /var/lib/tftpboot/boot/uos_arm_1060/
cp /mnt/tmp/live/vmlinuz /var/lib/tftpboot/boot/uos_arm_1060/
cp /mnt/tmp/live/initrd.img /var/lib/tftpboot/boot/uos_arm_1060/
umount /mnt/tmp
NBP准备
同样是arm系统,可以使用之前kylin的NBP file就可以了,同架构都是通用的,放好之后改一下dhcp策略就行了。
grub文件准备
vi /var/lib/tftp/grub/grub.cfg
###
default=autoinstall
timeout=5
timeout_style=menu
d=autoinstall
menuentry "Auto - uos_arm_1060 - Installer" {
echo "Start install uos_arm_1060"
echo "Loading Kernel..."
linux /boot/uos_arm_1060/vmlinuz console=tty boot=live netboot=nfs nfsroot=xx.xx.xx.xx:/uos_folder/uos_arm_1060/ components union=overlay locales=zh_CN.UTF-8 livecd-installer ubiquity/reboot=true --
echo "Loading Ram Disk..."
initrd /boot/uos_arm_1060/initrd.img
}
###
NFS服务准备
我的服务搭建在ubuntu上,可以直接使用命令安装,并为开启挂载点
sudo apt update
sudo apt install nfs-kernel-server -y
# 指定挂载点,并赋予权限
sudo vi /etc/exports
/uos_folder *(rw,sync,no_subtree_check,no_root_squash)
#注1:/nfs/rootfs 要共享的目录
#注2:* 所有主机都可以共享该目录
#注3:(rw,sync,no_subtree_check,no_root_squash) 访问该目录的主机拥有的权限
# rw 具有读写权限
# sync 文件同步写入到内存和硬盘
# no_subtree_check 不检查子目录权限 子目录与顶层目录具有相同的权限
# no_root_squash 如果客户端是root的话,那么他对这个共享目录具有root的权限
无人值守流程文件准备
统信系统使用setting.ini获取参数进行自定义安装,需要把该文件放到光盘根目录的oem文件夹内,同时在oem文件夹内可以加入hooks文件夹,写入以job为后缀的shell脚本,以便于自动部署时执行。但是从1050版本开始,增加了sign验证,官方不再支持个人去自定义装机流程了,新增了oem.suqashfs格式的文件,setting.ini和job文件都被包到里面,但是还是可以有办法解决的,有需要具体了解的可以私聊(有偿),这里提供一下配置文件。
settings.ini:
[General]
apt_source_deb = "deb https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free"
apt_source_deb_src = "#deb-src https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free"
finish_action = reboot
check_mode_action = reboot
systemd_check_mode = true
system_info_default_username = test
system_info_default_password = abcd@1234
system_info_default_hostname = test-PC
skip_system_info_page = true
skip_select_language_page_on_first_boot = true
timezone_default = Asia/Beijing
select_language_default_locale=zh_CN
skip_timezone_page = true
system_info_default_keyboard_layout = us
system_info_default_keyboard_layout_variant =
skip_system_keyboard_page = true
DI_LOCALE=zh_CN
DI_LAYOUT = us
DI_LAYOUT_VARIANT =
DI_FULLDISK_MODE = true
partition_do_auto_part = true
skip_partition_page = true
skip_select_language_page = true
system_check_mode = true
DI_INSTALL_MODE="auto-install"
DI_HOSTNAME=test
DI_USERNAME=test
DI_PASSWORD=abcd@1234
DI_HOSTNAME_AUTO_SUFFIX_CONFIG = "-PC"
DI_REBOOT_AFTER_SETUP = true
03_custom_set.job
#!/bin/bash
# 我手边arm的电脑显卡不持支5.10,所以把这个移除了
mkdir -p /boot/temp
mv /boot/*5.10.0* /boot/temp
echo -e "test ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
# 由于不支持普通用户自定义安装,虽然方法都定义好了,但是没有使用,所以只能在自定义流程里把步骤补全
mkdir -p /var/lib/AccountsService/deepin/users && touch /var/lib/AccountsService/deepin/users/test
. "/usr/share/deepin-installer/tools/scripts/init_environment.sh"
. "/usr/share/deepin-installer//tools/functions/default_funcs.sh"
. "/usr/share/deepin-installer//tools/functions/bootloader_funcs.sh"
. "/usr/share/deepin-installer//tools/functions/logs_funcs.sh"
. "/usr/share/deepin-installer//tools/functions/xrandr.sh"
file_name=/usr/share/deepin-installer//tools/functions/setup_system_funcs.sh
if [ -e "${file_name}" ];then
. "${file_name}"
## 准备定制用户
prepare_customize_user
# 定制用户
customize_user
# 设置用户
setup_username
# 设置密码
setup_password
# 设置主机名
setup_hostname
#auto login
setup_lightdm_auto_login test
update_apt_sources_list
setup_bootloader_arm64
fi
# 自定义脚本执行
wget -O /home/uos-custom.sh http://xx.xx.xx.xx/uos-custom.sh
chmod +x /root/uos-custom.sh
sudo bash /home/uos-custom.sh
以上就完成了统信系统的部署,可以直接开始安装。