构建定制化操作系统

文章目录

  • 构建定制化操作系统
  • 前言
  • 一、构建定制化操作系统步骤
    • 1. 安装所需的linux操作系统。
    • 2. 下载所需工具
    • 3. 构建本地软件库
    • 4. 构建本地所需的操作环境
    • 5. 使用lorax 进行初步构建
    • 6. 编译成iso
  • 总结

前言

随着国产化不断的深入,随之操作系统也开始国产化,我目前为操作系统研发工程师,主要工作就是操作系统的构建,及软件的编译等,这是操作系统的系列文章的第一篇。


一、构建定制化操作系统步骤

1. 安装所需的linux操作系统。

1.安装centos7.9 操作系统,安装方法可以参考我的另一篇文章安装方法

2. 下载所需工具

1.构建所需的工具有 lorax genisoimage createrepo 目前需要这两个,执行yum -y install genisoimage yum -y install lorax yum -y install createrepo,安装好之后就可以搭建ISO所需的基本结构。

3. 构建本地软件库

1.首先我们构建操作系统,我们要明白操作系统的iso里面都有什么文件夹,每个文件夹的含义。
2.可以下载工具软通牒打开iso,或者在centos中挂载镜像查看。

3.在这里我们看到有两个文件夹 Packagesrepodata 这两个文件夹,它俩所代表的是操作系统安装是所需要的软件,就是我们在选择安装的时候需要选择是最小化安装或者是需要额外安装的目录,Packages目录存放的rpm包,repodata存放的是xml文件。 xml文件以后的文件再交大家写法,等学会了写法就可以自定义软件包的安装了,这里可以先用我的,我的xml是最小化安装。
网盘地址:链接:xml下载地址
提取码:ghmf
4.下载好了xml及Packages之后,开始创建本地软件库

#创建文件夹  iso
mkdir iso
#解压 xml.zip 到 iso 中
unzip -o -d  iso/  xml.zip
#构建本地库
cd iso/xml
createrepo  -g  minimal-comps.xml  .

到这一步仓库构建完毕。

4. 构建本地所需的操作环境

1.这一步主要是做lorax编译环境所需的最小包,这里有个最简单方法就是把第一步下载的iso中,挂载到机器上,将其中的 Packages repodata目录拷贝出来,必须在同级目录,这个是lorax编译环境需要的和第三步的是有区别的,第三步是构建ISO需要的。

5. 使用lorax 进行初步构建

开始进行构建,我们进入iso目录下 执行lorax命令即可,

lorax --product test  --version 1 --release 1 -t   --isfinal    -s file:///root/test  --nomacboot centos

这里 --product 代表名字 --version 代表版本 这两个字段一点要注意编译成iso的时候会遇到,如果不一致就会启不来iso -s 就是第四步复制出来的两个文件所在的目录 最后的centos 代表是将编译好的放在哪个目录下。

6. 编译成iso

进入到centos目录下,将***第三步的 Packages repodata***复制到centos下,在执行下面的命令就可以构建出自己的定制化ISO了。

genisoimage -U -r -v -T -J -joliet-long                                   \-V 'test 1 x86_64'                      \-b isolinux/isolinux.bin              \-c boot.catalog -hide boot.catalog    \-no-emul-boot -boot-load-size 4 -boot-info-table              \-eltorito-alt-boot -e images/efiboot.img -no-emul-boot        \-o  centos7.iso \.

总结

以上就是今天主要的内容,lorax还有很多参数 ,只有亲自实践了才能玩转,这只是一种用法,如果有问题可以随时私信我或者看留言,我第一时间为大家解,共同进步。

使用lorax 构建定制化操作系统相关推荐

  1. AI应用开发实战系列之四 - 定制化视觉服务的使用

    AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...

  2. 使用Trove的integration定制化trove镜像

    注意: 从V版开始,Trove支持在guest instance中将数据库服务作为docker容器运行,所以不需要再为不同的数据库服务维护多个的镜像,这就意味着可以在V版的镜像中看到MYSQL和Mar ...

  3. Windows Embedded Compact 7可定制化互联网电视

    欢迎下载试用新一代Windows Embedded CE(Compact 7) :http://www.microsoft.com/windowsembedded/zh-cn/products/win ...

  4. 面向隐私AI的TensorFlow深度定制化实践

    作者 | Rosetta团队 出品 | AI科技大本营(ID:rgznai100) 之前我们整体上介绍了基于深度学习框架开发隐私 AI 框架中的工程挑战和可行解决方案.在这一篇文章中,我们进一步结合 ...

  5. Oceanus:美团HTTP流量定制化路由的实践

    背景简述 Oceanus是美团基础架构部研发的统一HTTP服务治理框架,基于Nginx和ngx_lua扩展,主要提供服务注册与发现.动态负载均衡.可视化管理.定制化路由.安全反扒.session ID ...

  6. 【JUC并发编程04】线程间定制化通信(单标志法存在的问题)

    文章目录 4 线程间定制化通信 案例实现 该案例需要注意 4 线程间定制化通信 案例实现 案列:启动三个线程,按照如下要求: AA打印5此,BB打印10次,CC打印15次,一共进行10轮 具体思路: ...

  7. 基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

    作者 | 陈厚道  冯庆 来源 | 阿里巴巴云原生公众号 导读:本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实 ...

  8. 用友U9 cloud助力临工重机实现定制化生产

    定制化生产是趋势也是目标 时下,当个性化定制成为消费主流,定制化生产已成为发展的必然趋势,越来越受到人们的青睐,已成为企业竞争的新前沿. 随着用户需求的多样化发展,传统制造企业(如电子.家居.机械等行 ...

  9. tensorflow 开始——创建定制化 Estimator(创建自定义评估器)

    参考文章:创建定制化 Estimator 文章目录 创建定制化 Estimator 预制 vs. 定制化 创建功能列 写一个模型函数 定义模型 定义输出层 隐藏层 输出层 实现训练.评估.预测 {#m ...

最新文章

  1. 多画面、实时投票,这场上了一晚热搜的超级晚,背后的技术出圈了
  2. 微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)
  3. 《构建之法》 读书笔记(3)
  4. HttpURLConnection总结
  5. ugui源码_UGUI整体解决方案基础篇(Unity 2019)
  6. InnoDB自增原理都搞不清楚,还怎么CRUD?
  7. java pdf 类库_有哪些可以给pdf加水印,java第三方开源类库?
  8. new一个对象的过程
  9. Spring_Hibernate
  10. 用CentOS 6快速配置一台企业级Web代理服务器
  11. 【Spring实战】—— 1 入门讲解
  12. Type erroe in tensorflow
  13. caffe 官方例程之R-CNN(物体检测)
  14. stm32零基础应该怎么入门?
  15. Widedeep模型详解
  16. 一帮一 分数 15作者 陈越单位 浙江大学
  17. H.266/VVC代码学习:帧内预测之角度预测函数(predIntraAng、xPredIntraAng)
  18. 初学CSS动画之行走的米兔
  19. 麻木的踏实,但丧失了真实
  20. speedoffice(Excel)如何画直线

热门文章

  1. (转帖)物流行业:JIT,VMI模式
  2. 发布 PAIRED:一种生成对抗环境的全新多智能体方法
  3. LaTex 在图片上添加文字和公式
  4. 考研高等数学公式总结(一)
  5. 微信小程序使用RenderingContext进行图片尺寸压缩
  6. html打开txt文件 乱码怎么解决,txt文件打开显示乱码怎么办?
  7. 线性代数-MIT 18.06-5(b)
  8. SpringBoot项目实现短信发送接口开发
  9. (电力开发)376.1 主站通信协议基本结构解析
  10. SylixOS移植常见问题——编译过多文件导致报错