系统:银河麒麟 V10 SP2

服务器:百信恒山 TS02F-F30

安装方式:服务器挂载ISO镜像进行安装

1、安装 mkisofs 软件包:

#yum install genisoimage

2、将 SP2 系统文件拷贝到工作目录里:

#mkdir /mnt/isodir

#mkdir /mnt/buidiso

#mount -o loop Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso /mnt/isodir

#cp -a /mnt/isodir/. /mnt/buidis

这里的"." /mnt/isodir/. 一定注意不能换成“*”,达到把隐藏文件及目录也拷贝的目的

3、将要替换或者添加的软件包放进目录中(要把相关包准备全,比如包相关的manual,help包)

#cp *rpm /mnt/buidiso/Package

4、拷贝分组到临时目录

#cp /mnt/buidiso/repodata/*-normal.xml /tmp/kylin-sp2-normal.xml

#rm -rf /mnt/buidiso/repodata

5、重新生成仓库源

#cd /mnt/buidiso/

#createrepo -d -g /tmp/kylin-sp2-normal.xml

6、拷贝 ks 应答文件模板 将 ks 文件模板拷贝至/mnt/buildiso/目录下,并修改内容(KS 模板文件为按要求手动安装一台系统后生成的 anaconda.cfg 文件)

#version=DEVEL
# Use graphical install
graphical # License agreement
eula --agreed %post --nochroot #####copy kyinfo and LICENSE
if [ -e /tmp/.kyinfo ];then
echo y | cp -a /tmp/.kyinfo $ANA_INSTALL_PATH/etc/
fi
if [ -e /tmp/LICENSE ];then
echo y | cp -a /tmp/LICENSE $ANA_INSTALL_PATH/etc/
fi if [ -e /run/install/repo/.kyinfo ];then
echo y | cp -a /run/install/repo/.kyinfo $ANA_INSTALL_PATH/etc/
fi if [ -e /run/install/repo/LICENSE ];then
echo y | cp -a /run/install/repo/LICENSE $ANA_INSTALL_PATH/etc/
fi ##### kylin postaction
## cdrom install, copy .kylin-post-actions
if [ -e /run/install/repo/.kylin-post-actions ];then
echo y | cp -a /run/install/repo/.kylin-post-actions /tmp/.kylin-post-actions
echo "repo=/run/install/repo" > /tmp/.kylin-repo
fi
## copy kylin post scripts in new os
if [ -e /tmp/.kylin-post-actions ];then
echo y | cp -a /tmp/.kylin-post-actions $ANA_INSTALL_PATH/bin
fi
if [ -e /tmp/.kylin-repo ];then
echo y | cp -a /tmp/.kylin-repo $ANA_INSTALL_PATH/tmp/
fi ## copy and run .kylin-post-actions-nochroot
if [ -e /run/install/repo/.kylin-post-actions-nochroot ];then
echo y | cp -a /run/install/repo/.kylin-post-actions-nochroot /tmp/.kylin-post-actions-nochroot
fi
if [ -e /tmp/.kylin-post-actions-nochroot ];then
/bin/bash -x /tmp/.kylin-post-actions-nochroot &> $ANA_INSTALL_PATH/var/log/.kylin-post-actions-nochroot.log
fi %end %post systemctl disable systemd-networkd-wait-online.service
systemctl disable multipathd.service
systemctl disable firewalld.service ### do kylin post action
if [ -e /bin/.kylin-post-actions ];then
/bin/bash -x /bin/.kylin-post-actions &> /var/log/.kylin-post-actions.log
fi echo "aaa" >>/root/a.txt %end %packages
@^server-product-environment
#ftp
vsftpd %end # Keyboard layouts
keyboard --xlayouts='us'
# System language
lang en_US.UTF-8 # Network information
network --bootproto=static --device=enp1s0f0 --gateway=10.220.131.254 --ip=10.220.129.21 --netmask=255.255.252.0 --ipv6=auto --activate
#network --bootproto=static --device=enp1s0f1 --gateway=10.220.131.254 --ip=10.220.131.21 --netmask=255.255.252.0 --ipv6=auto --activate
#network --bootproto=dhcp --device=enp1s0f1 --ipv6=auto
network --hostname=localhostaaa.localdomain # Use CDROM installation media
cdrom # Run the Setup Agent on first boot
firstboot --enable
#reboot after install kylin
reboot --eject
# System services
services --enabled="chronyd"
services --enabled="snmpd"
#services --disabled="firewalld" #ignoredisk --only-use=sdb
#autopart
# Partition clearing information
#clearpart --all --initlabel --drives=sdb
clearpart --all --initlabel # Disk partitioning information
#part pv.298 --fstype="lvmpv" --ondisk=sdb --size=133000
#part /boot --fstype="xfs" --ondisk=sdb --size=1024
#part /boot/efi --fstype="efi" --ondisk=sdb --size=200 --fsoptions="umask=0077,shortname=winnt
part pv.298 --fstype="lvmpv" --grow
part /boot --fstype="xfs" --size=1024
part /boot/efi --fstype="efi" --size=200 --fsoptions="umask=0077,shortname=winnt"
volgroup vg00 --pesize=4096 pv.298
logvol / --fstype="xfs" --name=lvroot --vgname=vg00 --size=10240
logvol /usr --fstype="xfs" --name=lvusr --vgname=vg00 --size=10240
logvol /home --fstype="xfs" --name=lvhome --vgname=vg00 --size=5120
logvol /var --fstype="xfs" --name=lvvar --vgname=vg00 --size=5120
logvol /opt --fstype="xfs" --name=lvopt --vgname=vg00 --size=5120
logvol /tmp --fstype="xfs" --name=lvtmp --vgname=vg00 --size=5120
logvol swap --fstype="swap" --name=lvswap --vgname=vg00 --size=1024
logvol /ZABBIX --fstype="xfs" --name=lvzabbix --vgname=vg00 --size=5120 # System timezone
timezone Asia/Shanghai --utc # Root password
rootpw --iscrypted $6$23jwVOsTe6cJYggx$j1nl6By1t1XjqBugwDOcszDrJHWjCqr7HgKRjxjHosqE5IkqhY2cNG1f8yNmYbYoUEuLHyTfvkhN7Pu/pxA52.
group --name=zabbix --gid=1030
user --name=zabbix --gid=1030 --uid=1030 --homedir=/home/zabbix --iscrypted --password=$6$23jwVOsTe6cJYggx$j1nl6By1t1XjqBugwDOcszDrJHWjCqr7HgKRjxjHosqE5IkqhY2cNG1f8yNmYbYoUEuLHyTfvkhN7Pu/pxA52. %addon com_redhat_kdump --enable --reserve-mb='1024M' %end %anaconda
pwpolicy root --minlen=8 --minquality=1 --strict --nochanges --notempty
pwpolicy user --minlen=8 --minquality=1 --strict --nochanges --emptyok
pwpolicy luks --minlen=8 --minquality=1 --strict --nochanges --notempty
%end

ks.cfg

7、修改启动文件

#cd /mnt/buidiso/

#vi EFI/BOOT/grub.cfg

在相应位置添加如下行

menuentry 'Install Kylin Linux Advanced Server V10 with KS' --class red --class gnu-linux --class gnu --class os {
    linux /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Kylin-Server-10 inst.ks=hd:LABEL=Kylin-Server-10:/ks.cfg ro console=tty0 video=efifb:off video=VGA-1:640x480-32@60me
    initrd /images/pxeboot/initrd.img
}

名称“Kylin-Server-10”与后续mkisofs时候保持一致

8、重新生成 iso aarch64 执行

#cd /mnt/buidiso/

#mkisofs -v -U -J -R -T -V 'Kylin-Server-10' -m repoview -m boot.iso -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -o ../Kylin-Server-10-SP2-update.iso .

9、为新的 iso 创建 md5 校验:

#cd /mnt/buidiso/

#implantisomd5 --force ../Kylin-Server-10-SP2-update.iso

相关知识:

-o<映像文件>或-output<映像文件> 指定映像文件的名称
-input-charset utf8 -output-charset utf8,解决中文文件名乱码问题
-b<开机映像文件>或-eltorito-boot<开机映像文件> 指定在制作可开机光盘时所需的开机映像文件。
-c<开机文件名称> 制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件
-load-size 4:设置加载扇区数
-boot-info-table:修补启动映像与信息表 Patch boot image with info table
-no-emul-boot Boot image is ‘no emulation’ image 无仿真
-R, -rock Generate Rock Ridge directory information
-J或-joliet 使用Joliet格式的目录与文件名称
-v或-verbose 执行时显示详细的信息。
-V<光盘ID>或-volid<光盘ID> 指定光盘的卷册集ID
-T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上

银河麒麟使用kickstart二次打包制作安装镜像ISO的更多相关文章

  1. 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装篇

    [点击 关注「 全栈工程师修炼指南」公众号 ] 设为「️ 星标」带你从基础入门 到 全栈实践 再到 放弃学习! 涉及 网络安全运维.应用开发.物联网IOT.学习路径 .个人感悟 等知识分享. 希望各位 ...

  2. C#打包制作安装程序过程全记录

    该文是根据网上的文章并结合自己实际打包的过程而整理的. 开发平台:VisualStudio2005中文版. 步骤如下: 1. 创建一个安装向导项目或安装部署项目 新建项目-〉其他项目类型-〉安装与部署 ...

  3. 使用 loop device 制作安装镜像

    看了下,手上的镜像中,文件系统才 100 多兆,但是整个镜像居然要 4G, 这意味着,我每次安装这个镜像到 SD 卡都要花很多没必要的时间. 所以,我提取了一些关键内容,然后,准备重新打包镜像. 1. ...

  4. (转)Linux下用mkisofs制作光盘镜像ISO文件

    我们都知道在windows下有winiso可以将光盘制作成光盘镜像ISO文件,在linux下一个命令就搞定了.那就是mkisofs.先看看mkisofs的help. rory@dev:~$ mkiso ...

  5. ubuntukylin16.04LTS(乌班图麒麟版长期支持版,并非银河麒麟)安装体验

    最近,国产银河麒麟版在政府部门推广使用.我有幸接触了,感觉还是不错的.这次政府软件正版化整改中,也列入了windows和银河麒麟的选项.我想试安装一下,可是没找到.就近找了它的类似系统ubuntuky ...

  6. 银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行

    银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化.云计算.大数据.工业互联网时代对主机系统可靠性.安全性.性能.扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全.云原生支 ...

  7. vs.net应用程序图标以及制作安装程序快捷方式图标设置

           我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况, ...

  8. NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

    nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序. ...

  9. 国产化之银河麒麟.netcore3.1访问https服务的两个问题

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...

  10. 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!

    GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...

随机推荐

  1. 渗透测试-struts2攻防环境搭建拿shell

    一.下载Jspstudy 打开目录D:\JspStudy\tomcat\webapps 二.打开struts2并进行拿shell 1.打开struts2 在浏览器中输入网址http://localho ...

  2. < Python全景系列-7 > 提升Python编程效率:模块与包全面解读

    欢迎来到我们的系列博客<Python全景系列>!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还是有一 ...

  3. INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能等

    INFINI Labs 产品更新啦~,本次产品版本更新包括 Gateway v1.14.0.Console v1.2.0.Easysearch v1.1.1 等,其中 Console 在上一版基础上做 ...

  4. JVM 诊断神器-Arthas实战

    什么是Arthas(阿尔萨斯) 阿里开源的Java诊断工具,它可以在运行时对Java应用程序进行动态诊断和调试 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决 这个类从哪个 jar 包加 ...

  5. 从 SpringApplication 认识 Spring 应用启动过程

    一.SpringApplication 是什么? Spring 应用的启动类. 二.SpringApplication 执行了什么? 创建 ApplicationContext 实例 Applicat ...

  6. 通过模仿学会Python爬虫(一):零基础上手

    好家伙,爬虫来了 爬虫,这玩意,不会怎么办, 诶,先抄一份作业回来 1.别人的爬虫  Python爬虫史上超详细讲解(零基础入门,老年人都看的懂)_ChenBinBini的博客-CSDN博客 # -* ...

  7. 云上使用 Stable Diffusion ,模型数据如何共享和存储

    随着人工智能技术的爆发,内容生成式人工智能(AIGC)成为了当下热门领域.除了 ChatGPT 之外,文本生成图像技术更令人惊艳. Stable Diffusion,是一款开源的深度学习模型.与 Mi ...

  8. spingmvc配置AOP 之 非注解方式

    spingmvc配置AOP有两种方式,一种是利用注解的方式配置,另一种是XML配置实现. 应用注解的方式配置: 先在maven中引入AOP用到的依赖 <dependency> <gr ...

  9. MYSQL之批量删除(mybatis)

    如果参数是array数组 <update id="deleteAll"> delete from C_V WHERE UUID in <foreach item= ...

  10. Acunetix使用说明

    简述 Acunetix是一种应用安全性扫描工具,旨在帮助发现和修复Web应用程序中的漏洞和安全风险. Acunetix可以发现以下一些常见的安全问题: 跨站脚本攻击(XSS):通过在网页中注入恶意脚本 ...