制作麒麟oem镜像之通过识别终端品牌与BIOS安装不同内容

原文链接:麒麟oem镜像之识别终端品牌与BIOS安装不同内容
**hello,大家好啊!**在个性化和定制化日益成为趋势的今天,操作系统的定制化安装也变得越来越重要。特别是对于企业用户来说,能够根据不同的硬件配置和需求,安装定制化的操作系统,无疑能大大提高工作效率和用户体验。今天,我要给大家介绍的是如何制作麒麟(Kylin) OEM镜像,并且根据终端品牌与BIOS信息安装不同的内容。
为什么要制作麒麟OEM镜像?
制作OEM镜像的主要目的是为了在安装操作系统时,能够根据不同的硬件或用户需求自动执行特定的设置或安装特定的软件。这在大规模部署时尤为重要,比如在不同型号的电脑上安装预定的驱动程序,或者为特定的用户群体安装特定的软件包。通过制作定制化的麒麟OEM镜像,企业和组织可以大大简化操作系统的部署过程,并确保每台机器都能获得最适合其硬件和用途的配置和软件。这不仅提高了效率,也优化了用户体验。希望这篇文章能帮助到需要进行大规模系统部署的朋友们。如果你有任何问题或者更多的经验分享,请在评论区留言,我们一起讨论。
如果你觉得这篇文章有用,别忘了分享转发,点个关注和在看哦!让我们一起探索和学习更多关于Linux系统定制化的知识!
1、查看镜像制作使用的操作系统信息

root@pdsyw-pc:~# uname -a
Linux pdsyw-pc 5.4.18-85-generic #74-KYLINOS SMP Fri Mar 24 11:20:19 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
root@pdsyw-pc:~# 
root@pdsyw-pc:~# cat /etc/os-release 
NAME="Kylin"
VERSION="银河麒麟桌面操作系统V10 (SP1)"
VERSION_US="Kylin Linux Desktop V10 (SP1)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin V10 SP1"
VERSION_ID="v10"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/support/technology.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
PRIVACY_POLICY_URL="http://www.kylinos.cn"
VERSION_CODENAME=kylin
UBUNTU_CODENAME=kylin
PROJECT_CODENAME=V10SP1
KYLIN_RELEASE_ID="2303"
root@pdsyw-pc:~# 

image.png

2、创建目录并挂载镜像

root@pdsyw-pc:/data# mkdir x86-2303
root@pdsyw-pc:/data# 
root@pdsyw-pc:/data# mount /home/pdsyw/Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.iso /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
root@pdsyw-pc:/data# 
root@pdsyw-pc:/data# cp -ra /mnt/. x86-2303/
root@pdsyw-pc:/data# cd x86-2303/
root@pdsyw-pc:/data/x86-2303# 

image.png

3、挂载后的镜像内容

root@pdsyw-pc:/data/x86-2303# ll
总用量 216
dr-xr-xr-x 10 root root  4096 4月  27  2023 ./
drwxrwxrwt  7 root root  4096 11月 28 16:40 ../
dr-xr-xr-x  5 root root  4096 4月  27  2023 apps-third/
-r--r--r--  1 root root    27 3月   4  2020 AUTORUN.INF
dr-xr-xr-x  3 root root  4096 2月  21  2020 boot/
dr-xr-xr-x  2 root root  4096 4月  27  2023 casper/
dr-xr-xr-x  2 root root  4096 4月  27  2023 .disk/
dr-xr-xr-x  3 root root  4096 4月  27  2023 dists/
dr-xr-xr-x  3 root root  4096 4月  27  2023 EFI/
dr-xr-xr-x  2 root root  4096 4月  27  2023 isolinux/
-r--r--r--  1 root root   262 4月  27  2023 .kyinfo
-r--r--r--  1 root root  4365 4月  27  2023 ky-installer.cfg
-r--r--r--  1 root root 67646 3月   4  2020 kylin.ico
-r--r--r--  1 root root  1846 3月  23  2023 .kylin-post-actions
-r--r--r--  1 root root   331 4月  28  2020 .kylin-post-actions-nochroot
-r--r--r--  1 root root   464 4月  27  2023 LICENSE
-r--r--r--  1 root root 28912 4月  27  2023 md5sum.txt
dr-xr-xr-x  6 root root  4096 4月  27  2023 pool/
-r--r--r--  1 root root 42171 4月  27  2023 SHA256SUMS
-r--r--r--  1 root root  3766 4月  27  2023 TRANS.TBL
root@pdsyw-pc:/data/x86-2303# 

image.png

4、创建software目录,拷贝360浏览器安装包到software目录下

root@pdsyw-pc:/data/x86-2303# mkdir software
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# cd software/
root@pdsyw-pc:/data/x86-2303/software# 
root@pdsyw-pc:/data/x86-2303/software# cp /home/pdsyw/browser360-cn-stable_13.3.1010.176-1_amd64.deb ./
root@pdsyw-pc:/data/x86-2303/software# 
root@pdsyw-pc:/data/x86-2303/software# ll
总用量 126212
drwxr-xr-x  2 root root      4096 11月 28 16:43 ./
dr-xr-xr-x 11 root root      4096 11月 28 16:43 ../
-rw-r--r--  1 root root 129230572 11月 28 16:43 browser360-cn-stable_13.3.1010.176-1_amd64.deb
root@pdsyw-pc:/data/x86-2303/software# 
root@pdsyw-pc:/data/x86-2303/software# cd ..
root@pdsyw-pc:/data/x86-2303# ll -d
dr-xr-xr-x 11 root root 4096 11月 28 16:43 ./
root@pdsyw-pc:/data/x86-2303# 

image.png

5、编辑.kylin-post-actions

root@pdsyw-pc:/data/x86-2303# vi .kylin-post-actions
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# head -17 .kylin-post-actions
#!/bin/bash
#获取当前安装的终端bios版本
now_bios=$(dmidecode -t bios | grep -i version | awk -F': ' '{print $2}')
#获取当前安装的终端品牌
now_product=$(dmidecode -t  system | grep -i "Product Name" | awk -F': ' '{print $2}')#如果当前安装的终端bios版本为XNC30_BIOS_1.0.4,则安装360浏览器
if [ "$now_bios" == "XNC30_BIOS_1.0.4" ] ; thencp -ra /cdrom/software /opt/dpkg -i /opt/software/*.debrm -rf /opt/software
fi#如果当前安装的终端品牌为XNC30,则在/etc/下新建一个 pdsyw.txt文件
if [ "$now_product" == "XNC30" ] ; thenecho "hello pdsyw" >> pdsyw.txt
fi
root@pdsyw-pc:/data/x86-2303# 

image.png

6、编辑boot/grub/grub.cfg

root@pdsyw-pc:/data/x86-2303# vi boot/grub/grub.cfg 
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# cat boot/grub/grub.cfg 
set default=0
set timeout=3
set is_preload=falseset color_normal=white/black
set color_highlight=black/light-grayif loadfont /boot/grub/unicode.pf2 ; thenset gfxmode=autoinsmod efi_gopinsmod efi_ugainsmod gfxtermterminal_output gfxterm
fimenuentry "Install Kylin-Desktop V10-SP1 PDSYW" {
linux           /casper/vmlinuz boot=casper fsck.mode=skip only-ubiquity locale=zh_CN quiet splash audit=0 security= automatic
initrd          /casper/initrd.lz
}
root@pdsyw-pc:/data/x86-2303# 

image.png

7、编辑ky-installer.cfg

root@pdsyw-pc:/data/x86-2303# vi ky-installer.cfg
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# grep pdsyw ky-installer.cfg 
username=pdsyw
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# grep devpath ky-installer.cfg 
devpath=root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303#

image.png

8、删除MD5文件

root@pdsyw-pc:/data/x86-2303# rm -rf md5sum.txt
root@pdsyw-pc:/data/x86-2303# 
root@pdsyw-pc:/data/x86-2303# find -type f -print0 | xargs -0 md5sum|grep -v isolinux/boot.cat | tee md5sum.txt
709619bcb22485ea2eed0f3cc20fa1d1  ./software/browser360-cn-stable_13.3.1010.176-1_amd64.deb
cad5727805cbf17be8496b336350b6ff  ./.kylin-post-actions-nochroot
ee392b6bb4fb588eea67b8f56ec12493  ./kylin.ico
3e471fc6fddb0c8c692c9cf28f2ec10e  ./.kylin-post-actions
fd80cb169256046d1dccdfbf7e2b31b4  ./.kyinfo
928085058e39492e936704b14227deb1  ./TRANS.TBL
d4849af0a290c97b0849525e1fb37984  ./SHA256SUMS
2e7295668308946336efceb87e3ef8e2  ./dists/v101/multiverse/binary-amd64/Packages.gz
36ebef708dfacb09a9d2a85ff16313ae  ./dists/v101/multiverse/binary-amd64/Packages
284763858c7aebbbbf21c4d960ca18f0  ./dists/v101/multiverse/binary-amd64/TRANS.TBL
e83631558690df5a45770782ed732e82  ./dists/v101/multiverse/binary-i386/Packages.gz

image.png

9、生成镜像

root@pdsyw-pc:/data/x86-2303# genisoimage -e boot/grub/efi.img -no-emul-boot -T -allow-limited-size -J -R -c boot.catalog -hide boot.catalog -V "Kylin-Desktop-V10-SP1" -o /opt/Kylin-Desktop-V10-SP1-PDSYW-X86_64.iso .
I: -input-charset not specified, using utf-8 (detected in locale settings)
[test] here add dot & dot
Using _KYLI000.;1 for  /.kylin-post-actions (.kylin-post-actions-nochroot)
Using PART_000.MOD;1 for  ./boot/grub/x86_64-efi/part_sunpc.mod (part_sun.mod)
Using SEARC000.MOD;1 for  ./boot/grub/x86_64-efi/search_fs_file.mod (search_fs_uuid.mod)
Using MDRAI000.MOD;1 for  ./boot/grub/x86_64-efi/mdraid09_be.mod (mdraid09.mod)
Using XNU_U000.MOD;1 for  ./boot/grub/x86_64-efi/xnu_uuid_test.mod (xnu_uuid.mod)
Using PASSW000.MOD;1 for  ./boot/grub/x86_64-efi/password.mod (password_pbkdf2.mod)
Using GCRY_000.MOD;1 for  ./boot/grub/x86_64-efi/gcry_sha512.mod (gcry_sha1.mod)
Using USBSE000.MOD;1 for  ./boot/grub/x86_64-efi/usbserial_usbdebug.mod (usbserial_ftdi.mod)
Using VIDEO000.MOD;1 for  ./boot/grub/x86_64-efi/videotest.mod (videotest_checksum.mod)
Using GCRY_001.MOD;1 for  ./boot/grub/x86_64-efi/gcry_sha1.mod (gcry_sha256.mod)
Using USBSE001.MOD;1 for  ./boot/grub/x86_64-efi/usbserial_ftdi.mod (usbserial_common.mod)
Using MULTI000.MOD;1 for  ./boot/grub/x86_64-efi/multiboot.mod (multiboot2.mod)
Using GFXTE000.MOD;1 for  ./boot/grub/x86_64-efi/gfxterm_background.mod (gfxterm_menu.mod)

image.png

10、下载镜像

roc@ROC ~ % scp pdsyw@10.211.55.57:/opt/Kylin-Desktop-V10-SP1-PDSYW-X86_64.iso ./Desktop/
pdsyw@10.211.55.57's password: 
Permission denied, please try again.
pdsyw@10.211.55.57's password: 
Kylin-Desktop-V10-SP1-PDSYW-X86_64.iso        100% 3944MB 155.1MB/s   00:25    

image.png

11.1、在东海终端上安装系统后有360浏览器
1.png

11.2、查看BIOS信息

pdsyw@sa-QiTianM425-N000:~/桌面$ sudo dmidecode -t bios
输入密码
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1 present.Handle 0x0000, DMI type 0, 26 bytes
BIOS InformationVendor: ByosoftVersion: XNC30_BIOS_1.0.4Release Date: 10/27/2021Address: 0xF0000Runtime Size: 64 kBROM Size: 8192 kBCharacteristics:PCI is supportedBIOS is upgradeableBIOS shadowing is allowedBoot from CD is supportedSelectable boot is supportedBIOS ROM is socketedEDD is supportedPrint screen service is supported (int 5h)8042 keyboard services are supported (int 9h)Serial services are supported (int 14h)ACPI is supportedUSB legacy is supportedBIOS boot specification is supportedTargeted content distribution is supportedUEFI is supportedBIOS Revision: 0.0Firmware Revision: 1.3Handle 0x0022, DMI type 13, 22 bytes
BIOS Language InformationLanguage Description Format: LongInstallable Languages: 2en|US|iso8859-1zh|CN|unicodeCurrently Installed Language: zh|CN|unicodepdsyw@sa-QiTianM425-N000:~/桌面$ 

2.png

11.3、查看system信息

pdsyw@sa-QiTianM425-N000:~/桌面$ sudo dmidecode -t system
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.1 present.Handle 0x0001, DMI type 1, 27 bytes
System InformationManufacturer: UDHProduct Name: XNC30Version: TBDSerial Number: 109XNC30A22C260140UUID: 07140222-5058-ec11-819e-998a92df1c61Wake-up Type: Power SwitchSKU Number: ED0Family: ZXEHandle 0x0010, DMI type 12, 5 bytes
System Configuration OptionsOption 1: System Option StringHandle 0x0011, DMI type 23, 13 bytes
System ResetStatus: DisabledWatchdog Timer: Not PresentHandle 0x0012, DMI type 32, 11 bytes
System Boot InformationStatus: No errors detectedpdsyw@sa-QiTianM425-N000:~/桌面$ 

3.png

12.1、在VMware虚拟机中安装系统没有360浏览器
image.png

12.2、查看BIOS信息

pdsyw@sa-QiTianM425-N000:~/桌面$ sudo dmidecode -t bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.Handle 0x0000, DMI type 0, 26 bytes
BIOS InformationVendor: VMware, Inc.Version: VMW201.00V.20904234.B64.2212051119Release Date: 12/05/2022ROM Size: 2048 kBCharacteristics:ISA is supportedPCI is supportedPNP is supportedBIOS is upgradeableACPI is supportedTargeted content distribution is supportedUEFI is supportedpdsyw@sa-QiTianM425-N000:~/桌面$ 

image.png

12.3、查看system信息

pdsyw@sa-QiTianM425-N000:~/桌面$ sudo dmidecode -t system
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.Handle 0x0001, DMI type 1, 27 bytes
System InformationManufacturer: VMware, Inc.Product Name: VMware20,1Version: NoneSerial Number: VMware-56 4d e1 1f bd ec 7e 0c-35 6d 5f f9 76 68 80 94UUID: 1fe14d56-ecbd-0c7e-356d-5ff976688094Wake-up Type: Power SwitchSKU Number: Not SpecifiedFamily: Not SpecifiedHandle 0x0122, DMI type 23, 13 bytes
System ResetStatus: EnabledWatchdog Timer: PresentBoot Option: Do Not RebootBoot Option On Limit: Do Not RebootReset Count: UnknownReset Limit: UnknownTimer Interval: UnknownTimeout: UnknownHandle 0x0125, DMI type 32, 11 bytes
System Boot InformationStatus: No errors detectedpdsyw@sa-QiTianM425-N000:~/桌面$

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/201344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目实战之RabbitMQ重试机制进行消息补偿通知

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 文章目录 🌟架构图&#x…

Python Tkinter库入门与基础

更多资料获取 📚 个人网站:ipengtao.com Tkinter是Python标准库中内置的图形用户界面(GUI)工具包,提供了创建窗口、按钮、文本框等GUI元素的功能。本文将介绍Tkinter的基础知识,帮助大家快速入门。 安装与…

低成本物联网安全芯片ACL16_S 系列,可应用物联网认证、 SIM、防抄板和设备认证等产品上

ACL16_S 芯片是针对物联网认证、 SIM、防抄板和设备认证需求推出的高安全芯片。芯片采用 32 位 ARMCortex™-M0 系列内核,片内集成多种安全密码模块,包括 RSA/ECC DES/TDES、 SHA-1/-256、 AES-128/-192/-256 等国际安全算法,支持真随机数发…

岳阳楼3D模型纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 岳阳楼,位于湖南省岳阳市岳阳楼区洞庭北路,地…

Vcenter 6.7 VCSA证书过期问题处理

1. 故障现象 2022年10月25日,登陆VC报错。 按照报错信息,结合官方文档,判断为STS证书过期导致。 vCenter Server Appliance (VCSA) 6.5.x, 6.7.x or vCenter Server 7.0.x 在/var/log/vmware/vpxd-svcs/vpxd-svcs.log看到类似报错: ERRO…

为什么程序员会讨厌PHP编程语言?

闲来无事,逛了某乎看见一篇关于PHP编程的学习指南,深受启发。我们都知道PHP是一种流行的爬虫语言,尤其在Web开发方面。太有很多有点,例如简单易学、支持的成许多等。但是PHP也会存在一些缺点,如代码可读性差&#xff0…

Windows下Linkis1.5DSS1.1.2本地调试

1 Linkis: 参考: 单机部署 | Apache Linkis技术分享 | 在本地开发调试Linkis的源码 (qq.com)DataSphere Studio1.0本地调试开发指南 - 掘金 (juejin.cn) 1.1 后端编译 参考【后端编译 | Apache Linkis】】 修改linkis模块下pom.xml,将mysql.connetor.scope修改…

go-fastfds部署心得

我是windows系统安装 Docker Desktop部署 docker run --name go-fastdfs(任意的一个名称) --privilegedtrue -t -p 3666:8080 -v /data/fasttdfs_data:/data -e GO_FASTDFS_DIR/data sjqzhang/go-fastdfs:lastest docker run:该命令用于运…

Matlab 加权均值质心计算(WMN)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 思路很简单,即将之前的均值中心,引入相关的权重函数(通常与距离有关),以此为每个点进行赋权,最后即可得到一个加权均值中心: 二、实现代码 %% ********<

【五分钟】学会利用cv2.resize()函数实现图像缩放

引言 在numpy知识库&#xff1a;深入理解numpy.resize函数和数组的resize方法中&#xff0c;小编较为详细地探讨了numpy的resize函数背后的机理。从结果来看&#xff0c;numpy.resize函数并不适合对图像进行缩放操作。而opencv中的resize函数虽然和numpy的resize函数同名&…

【MATLAB源码-第95期】基于matlab的协作通信中(AF模式)中继选择算法对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 最大最小中继选择 (Max-Min Relay Selection)&#xff1a;这种算法选择能够提供最大最小信号强度的中继。它首先计算所有可用中继的信号强度&#xff0c;然后选择那些在最差信道条件下仍能保持最高信号强度的中继。其目的…

BACnet I/O模块在水利环境监测全自动控制系统中的应用:稳定、高效、实时

前言 “绿水青山就是金山银山”&#xff0c;水利环境一直是国际生态部门关注的重点。随着经济的发展、针对水利环境的监管也日趋严格&#xff0c;尤其是重点河、湖水系、水源地、城市内河等成为重点监管对象&#xff0c;监管力度也愈来愈严格&#xff0c;监测布点密度不断加大。…

IntelliJ IDEA 智能(AI)编码工具插件

文章目录 通义灵码-阿里CodeGeeX-清华大学智谱AIBitoAmazon CodeWhisperer-亚马逊GitHub Copilot - 买不起CodeiumAIXcoder 仅仅自动生成单元测试功能 TestMe插件&#xff08;免费&#xff09;仅仅是模板填充&#xff0c;不智能。 Squaretest插件&#xff08;收费&#xff09;…

微信小程序之猜数字和猜拳小游戏

目录 效果图 app.json 一、首页&#xff08;index3&#xff09;的代码 wxml代码 wxss代码 二、猜数字页面&#xff08;index&#xff09;代码 wxml代码 wxss代码 js代码 三.游戏规则页面&#xff08;logs&#xff09;代码 wxml代码 wxss代码 四.猜拳页面&#xff…

ElasticSearch篇---第三篇

系列文章目录 文章目录 系列文章目录前言一、了解ElasticSearch 深翻页的问题及解决吗?二、熟悉ElasticSearch 性能优化三、ElasticSearch 查询优化手段有哪些?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

编程过程中出现bug如何应对?

编程过程中出现bug如何应对&#xff1f; 1.找错误原因 如果完全不知道出错的原因&#xff0c;或者说存在着很多错误的有原因&#xff0c;----》控制变量法 例如&#xff0c;昨天我在使用torchrun 多卡并行一个程序的时候&#xff0c;出现了大量的bug, 于是我将报错信息放在网…

visual Studio MFC 平台实现拉普拉斯和拉普拉斯与直方图均衡化与中值滤波相结合实现比较

拉普拉斯变换的原理与应用 本文使用visual Studio MFC 平台实现图像增强中的拉普拉斯变换&#xff0c;同时拉普拉斯一般不会单独使用&#xff0c;与其他平滑操作相结合&#xff0c;本文使用了拉普拉斯与直方图均衡化以及与中值滤波相结合&#xff0c;也对三种方式进行了对比 关…

如何提高Pycharm的使用体验?

汉化 文件---设置---插件---chinese---安装---重启ide 代码补全 tabnine 文件---设置---插件---tabnine---安装---重启ide 重启ide后生效&#xff0c;补全效果如下 自定义背景 文件---设置---外观---背景图像---选择图片---调整透明度保存即可 设置头部声明 英文版…

基于Java SSM框架实现社区疫情防控管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现社区疫情防控管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;社区疫情防控管理信息系统当然也不能排除在外。社区疫情防控管理信息系…

Unity3D对CSV文件操作(创建、读取、写入、修改)

系列文章目录 Unity工具 文章目录 系列文章目录前言一、Csv是什么&#xff1f;二、创建csv文件2-1、构建表数据2-2、创建表方法2-3、完整的脚本&#xff08;第一种方式&#xff09;2-4、运行结果2-5、完整的脚本&#xff08;第二种方式&#xff09;2-6、运行结果2-7、想用哪种…