文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

制作麒麟kylinV10SP2自动安装系统的镜像文件

2023-09-23 20:30

关注

(目的)通过kickstart方式自动安装麒麟kylinV10SP2系统


一、安装一台kylinV10SP2虚拟机
    虚拟机的作的是,定制kickstart自动安装ISO镜像
    1:新建虚拟机,安装kylinV10SP2
        workstations15Pro新建虚拟机,
        使用ISO镜像(Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso),
        安装麒麟linux
        H:\麒麟V10安装(国产化专题)2023-1-14\麒麟linux安装介质\Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso

    2:修改新虚拟机的配置,设置网卡参数
        
        为让麒麟V10识别网卡,在打开的VMX文件中找到【ethernet0.addressType = “generated”】这一行,在下面添加一行【ethernet0.virtualDev = “e1000″】。
        在vmware指定的虚拟机存储位置找到.vmx的文件,在里面找到

        ethernet0.virtualDev = "pcnet32" 或是别的。将其修改为:
        ethernet0.virtualDev = "e1000"' (如果没有添加)
        #ethernet0.addressType = "vpx" 注释掉。

        
    3:    配置网卡IP
        (1)Xshell登陆,Xshell SSH远程登录提示“找不到匹配的keyexchange算法”
        (2)配置网络
        [root@localhost network-scripts]# vi ifcfg-ens33 
            DEVICE=ens33
            IPADDR=192.168.0.222
            NETMASK=255.255.255.0
            #NETWORK=127.0.0.0
            # If you're having problems with gated making 127.0.0.0/8 a martian,
            # you can change this to something else (255.255.255.255, for example)
            #BROADCAST=127.255.255.255
            ONBOOT=yes
            TYPE=Ethernet
            BOOTPROTO=static
            NAME=ens33

        重启网卡服务
        systemctl restart network #重启网卡
        systemctl enable network #开机启动网卡
        
        
    4:    查看kylin版本
        
        [root@mytest ~]#  nkvers
            ############## Kylin Linux Version #################
            Release:
            Kylin Linux Advanced Server release V10 (Sword)

            Kernel:
            4.19.90-24.4.v2101.ky10.x86_64

            Build:
            Kylin Linux Advanced Server
            release V10 (SP2) /(Sword)-x86_64-Build09/20210524
            #################################################
        
        
二、搭建nginx安装介质服务器
    搭建nginx服务器,是为了提供http服务,方便安装过程获取kylin软件包。
    1. 安装绿色免nginx服务器
        安装过程省略。
    
    2. 启动nginx服务器:
        [root@BJMINIO00 ~]# ip a
            192.168.0.201
        
        启动nginx服务器
        # su - patrol
        $ cd nginx && sbin/nginx  -p /home/ap/patrol/nginx  -c conf/nginx.conf
            
    3. 测试验证:
        $ curl http://192.168.0.201:8080/kylin/x64/LICENSE
        
    4.    复制系统安装包
        挂载在/mnt目录下,创建iso目录,将/mnt下内容全部复制到/iso下。并将制作好的ks文件拷贝至该目录下
        # mount /dev/cdrom /mnt
        
        # su - patrol
        $ mkdir -p /home/ap/patrol/nginx/html/kylin/x64
        $ cp -rp /mnt/* /home/ap/patrol/nginx/html/kylin/x64

        
三、制作自动安装iso镜像盘
    基于安装好kylin的虚拟机,制作自动安装iso镜像盘
    1、kylinV10-SP2的ISO安装盘文件拷贝到指定目录
        挂载在/mnt目录下,创建iso目录,将/mnt下内容全部复制到/iso下。并将制作好的ks文件拷贝至该目录下
        # mount /dev/cdrom /mnt
        
        # mkdir /iso && cp /mnt/* /iso -rp
        # cp /root/initial-setup-ks.cfg /iso

    2、修改启动文件isolinux.cfg
        kylin系统安装完成后,默认会在/root/目录下生成anaconda-ks.cfg文件,该文件记录了系统安装过程中的配置。我们将其复制到“ISO镜像制作目录”的isolinux文件夹中,并改名为ks.cfg;

        # vim /iso/isolinux/isolinux.cfg
        注意:这里“LABEL=“后面的参数值”Kylin-Server-10“要和后续制作的U盘启动盘卷标名称或者刻录的光盘名称一致
        修改后:
        label linux
          menu default
          menu label ^Install Kylin Linux Advanced Server V10
          kernel vmlinuz
          #append initrd=initrd.img inst.stage2=hd:LABEL=Kylin-Server-10 quiet
          append initrd=initrd.img inst.stage2=hd:LABEL=Kylin-Server-10 ks=cdrom:/initial-setup-ks.cfg quiet

        label check
          menu label Test this ^media & install Kylin Linux Advanced Server V10
          kernel vmlinuz
          append initrd=initrd.img inst.stage2=hd:LABEL=Kylin-Server-10 rd.live.check quiet
        
    3、修改启动文件ks.cfg,指明ks文件位置
        配置KickStart自动安装;
        # vi /iso/initial-setup-ks.cfg
        # url --url="http://192.168.0.201:8080/kylin/x64"
    network --bootproto=static --device=ens33 --onboot=yes --ip=192.168.0.222 --netmask=255.255.255.0 --gateway=192.168.0.1

    
    4、使用命令mkisofs重新将/iso目录下所有文件打包为iso镜像,本次以X86架构为例:
        # cd /iso/ && mkisofs -o /kylin10.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long -V Kylin-Server-10 /iso/

        ## /iso/ 为文件所在目录 ,-V 后面面加的内容为ISO挂载上去显示的名称,-o 后面的/kylin10.iso为新生成的iso镜像所在目录及名称


四、kickstart方式安装新的kylin虚拟机
    1. 将打包好的iso镜像用U盘制作启动盘或刻录至光盘
    
    2. 选择从U盘或光盘启动
        等待自动化的安装
    
    3. 查看安装结果
        登陆linux,查了kylin的版本:
        [root@mytest ~]#  nkvers
        ############## Kylin Linux Version #################
        Release:
        Kylin Linux Advanced Server release V10 (Sword)

        Kernel:
        4.19.90-24.4.v2101.ky10.x86_64

        Build:
        Kylin Linux Advanced Server
        release V10 (SP2) /(Sword)-x86_64-Build09/20210524
        #################################################

            

五、附件:kickstart自动安装文件
    [root@localhost iso]# vi /iso/initial-setup-ks.cfg
    #version=DEVEL
    # License agreement
    eula --agreed
    # Use graphical install
    graphical
    # Network information
    network --bootproto=static --device=ens33 --onboot=yes --ip=192.168.0.220 --netmask=255.255.255.0 --gateway=192.168.0.1
    #设置主机名
    network  --hostname=mytest
    #network  --bootproto=dhcp --hostname=localhost.localdomain
    #ignoredisk --only-use=sda
    # Use CDROM installation media
    url --url="http://192.168.0.201:8080/kylin/x64"
    #cdrom
    # Run the Setup Agent on first boot
    firstboot --enable
    # System services
    services --enabled="chronyd"

    # System bootloader configuration
    #bootloader --location=none
    bootloader --location=mbr --driveorder=sda --append=" rhgb crashkernel=auto quiet"
    #autopart

    # Partition clearing information
    #clearpart --all --initlabel --drives=sda

    #指定使用sda并忽略其他盘
    ignoredisk --only-use=sda
    #清理盘上的所有分区表
    clearpart --all --initlabel
    #基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 需要 200 MiB EFI 系统分区。推荐的最小值是 200 MiB,默认大小为 600 MiB,最大为 600 MiB。BIOS 系统不需要 EFI 系统分区
    part /boot/efi --fstype="efi" --ondisk=sda --size=600 --fsoptions="umask=0077,shortname=winnt"
    #将sda创建为ID:311的物理卷,最小10G,若磁盘大于10G,也全部做成物理卷
    #--grow 自增长
    part pv.311 --fstype="lvmpv" --ondisk=sda --size=10240 --grow
    #boot分区,建议大小1G
    part /boot --fstype="xfs" --ondisk=sda --size=1024
    #将pv.311加入卷组,默认pe大小4M
    volgroup santiagod --pesize=4096 pv.311
    #逻辑卷-交换空间,视磁盘大小而定,为安装时的系统盘大小10%
    logvol swap --fstype="swap" --recommended --name=swap --vgname=santiagod
    #逻辑卷-根分区,虽然 5 GiB 根文件系统允许您最小安装,但建议至少分配 10 GiB,以便可以尽可能安装您想要的软件包组
    logvol / --fstype="xfs" --size=10240  --name=rootlv --vgname=santiagod
    logvol /home --fstype="xfs" --size=10240  --name=homelv --vgname=santiagod

    %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

    ### 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

    %end

    %packages
    @^kylin-desktop-environment

    %end

    # Keyboard layouts
    keyboard --xlayouts='cn'
    # System language
    lang zh_CN.UTF-8

    # Network information
    network  --hostname=localhost.localdomain

    # Run the Setup Agent on first boot
    firstboot --enable
    # System services
    services --enabled="chronyd"

    # System timezone
    timezone Asia/Shanghai --utc

    # Root password
    rootpw --iscrypted $6$6MDhoICEhSPVMmcT$kW1C/olcpRdlOYwyXL2NnmCr.UbBdITx1kW7iZevwktO4nVibrcPbet33Q6PrPqtDq6edRWDWbWROJdW/1Xvf1

    %addon ADDON_placeholder --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文件可分为三部分,
     第一部分为命令段,用于对系统的基本配置,命令有install、url、Keyboard、Lang、Network、Timezone等;
     第二部分为软件包段,以%packages开头,%end结尾;
     第三部分为脚本段,分为安装前脚本,以%pre标识;安装后脚本,以%post标识
     
     [root@centos7 ~]# cat /var/ftp/kylinos_ks.cfg  |grep -v ^# |grep -v ^$
    #安装或是更新
    install
    #键盘布局
    keyboard 'us'
    #root密码
    rootpw --iscrypted $1$gLnMdpYq$NNdcgsT1ixnYiObXYbiH5/
    # 通过网络安装时,安装文件的位置。
    url --url="ftp://172.16.240.3/kylinos"
    #系统语言
    lang en_US
    #图形界面安装,或者使用text字符界面安装
    graphical
    #禁用快速引导
    firstboot --disable
    #启用selinux
    selinux --enforcing
    #启用防火墙并放行ssh服务
    firewall --enabled  --ssh 
    #网络配置
    network  --bootproto=dhcp --device=eth0
    #安装完成后重启系统
    reboot
    #指定时区
    timezone Asia/Shanghai
    #添加内核项,使用eth0网卡
    bootloader --append="net.ifnames=0 biosdevname=0" --location=mbr
    #清除主引导记录
    zerombr
    #清空所有分区
    clearpart --all --initlabel
    #配置/boot分区xfs格式,512M大小
    part /boot --fstype="xfs" --size=512
    #配置/home分区xfs格式,40G大小
    part /home --fstype="xfs" --size=40960
    #配置根分区为xfs格式,分配所有剩余空间
    part / --fstype="xfs" --grow --size=1
    #安装的包组%packages开头,%end结尾。通过 @ 指定软件包组,通过 @^ 指定环境组。
    %packages
    @^kylin-desktop-environment
    @development
    @man-help
    %end
    #配置kdump大小
    %addon com_redhat_kdump --enable --reserve-mb='1024M'
    %end
    #%anaconda指定 password 策略,以 %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
    #通过 %pre 指定在磁盘分区前要执行的脚本,通过 %post 指定系统安装完成后要执行的脚本。这些模块都需要 %end 结束。一般不配置%pre。%post用的比较多
    %post --interpreter=/bin/bash
    touch /root/test.tt1
    %end
    ————————————————
 

来源地址:https://blog.csdn.net/lihb_ccb/article/details/128737994

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯