Ubuntu 22.04 镜像自定义制作

Centos封装镜像> Linux Centos ISO镜像自定义制作
Ubuntu20.04封装镜像> Ubuntu 20.04 镜像自定义制作

1、下载镜像

系统环境:ubuntu 22.04
镜像地址:https://mirrors.aliyun.com/ubuntu-releases

root@ubuntu:~# apt install -y p7zip xorriso
root@ubuntu:~# mkdir ubuntu && cd ubuntu
root@ubuntu:~/ubuntu# mkdir source-files
root@ubuntu:~/ubuntu# ls ubuntu-22.04.4-live-server-amd64.iso    # 放入下载镜像
ubuntu-22.04.4-live-server-amd64.iso

2、解压镜像

root@ubuntu:~/ubuntu# 7z -y x ubuntu-22.04.4-live-server-amd64.iso -osource-files
root@ubuntu:~/ubuntu# mv source-files/'[BOOT]' BOOT

3、配置grub.cfg

root@ubuntu:~/ubuntu# vim source-files/boot/grub/grub.cfg
menuentry "AutoInstall Ubuntu Server" {set gfxpayload=keeplinux   /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---initrd  /casper/initrd
}

4、配置meta-data和user-data

storage:layout-name:direct(or lvm)

(1)创建目录与文件

root@ubuntu:~/ubuntu# mkdir source-files/nocloud
root@ubuntu:~/ubuntu# touch source-files/nocloud/meta-data

(2)配置user-data

root@ubuntu:~/ubuntu# vim source-files/nocloud/user-data
#cloud-config
autoinstall:codecs:install: falsedrivers:install: falseidentity:hostname: ubuntupassword: $6$I2W1KKabAWXxZNrn$C0spr.EGn7.Rb0MewVU5vSXdugx9m0cH/bdnsDUs/kbXZ6JhhNA6UJj4Rgjhr7u3ky8WNNIBJCOOI.tO9Xeti/realname: wielunusername: wielunkernel:package: linux-generickeyboard:layout: ustoggle: nullvariant: ''locale: en_US.UTF-8timezone: Asia/Shanghainetwork:version: 2ethernets:en:match:name: "en*"dhcp4: falsedhcp6: falseaddresses:- 192.168.168.168/24nameservers:addresses: []source:id: ubuntu-serversearch_drivers: falsessh:allow-pw: trueauthorized-keys: []install-server: truestorage:layout:name: directupdates: securityversion: 1

5、生成镜像

(1)查看基础镜像信息

root@ubuntu:~/ubuntu# xorriso -indev ubuntu-22.04.4-live-server-amd64.iso -report_el_torito as_mkisofs
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :     820 nodes read in 1 seconds
libisofs: NOTE : Found hidden El-Torito image for EFI.
libisofs: NOTE : EFI image start and size: 1024860 * 2048 , 10068 * 512
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'ubuntu-22.04.4-live-server-amd64.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT
Media summary: 1 session, 1027543 data blocks, 2007m data,  319g free
Volume id    : 'Ubuntu-Server 22.04.4 LTS amd64'
-V 'Ubuntu-Server 22.04.4 LTS amd64'
--modification-date='2024021623523000'
--grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:'ubuntu-22.04.4-live-server-amd64.iso'
--protective-msdos-label
-partition_cyl_align off
-partition_offset 16
--mbr-force-bootable
-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b --interval:local_fs:4099440d-4109507d::'ubuntu-22.04.4-live-server-amd64.iso'
-appended_part_as_gpt
-iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7
-c '/boot.catalog'
-b '/boot/grub/i386-pc/eltorito.img'
-no-emul-boot
-boot-load-size 4
-boot-info-table
--grub2-boot-info
-eltorito-alt-boot
-e '--interval:appended_partition_2_start_1024860s_size_10068d:all::'
-no-emul-boot
-boot-load-size 10068

(2)生成镜像

root@ubuntu:~/ubuntu# cd source-files/
root@ubuntu:~/ubuntu/source-files# xorriso -as mkisofs -r \-V 'Ubuntu 22.04 LTS AUTO (EFIBIOS)' \-o ~/ubuntu-22.04-server-autoinstall.iso \--grub2-mbr ../BOOT/1-Boot-NoEmul.img \-partition_cyl_align off \-partition_offset 16 \--mbr-force-bootable \-append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b ../BOOT/2-Boot-NoEmul.img \-appended_part_as_gpt \-iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 \-c '/boot.catalog' \-b '/boot/grub/i386-pc/eltorito.img' \-no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info \-eltorito-alt-boot \-e '--interval:appended_partition_2:::' \-no-emul-boot \.

参考文章: Ubuntu 22.04 Server Autoinstall ISO


http://www.ppmy.cn/embedded/105160.html

相关文章

Python进阶08-爬虫

零、文章目录 Python进阶08-爬虫 1、爬虫介绍 (1)爬虫是什么 **网络爬虫:**又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自…

应用层(Web与HTTP)

目录 常见术语 1.HTTP概况 2.HTTP连接 非持久HTTP流程 响应时间模型 持久HTTP 3.HTTP报文 3.1HTTP请求报文 3.2HTTP响应报文 HTTP响应状态码 4.Cookies(用户-服务器状态) cookies:维护状态 Cookies的作用 5.Web缓冲(…

视频智能分析打手机检测算法安防监控打手机检测算法应用场景、算法源码、算法模型介绍

随着智能手机的普及,手机已成为人们生活中不可或缺的一部分。然而,在某些场合,如驾驶、会议、学校课堂等,不当使用手机可能会导致安全隐患或干扰他人。因此,开发出一种能够准确识别并阻止不当使用手机的行为检测算法显…

TPM管理咨询公司一走,企业又恢复原样,为什么?

在探讨“TPM管理咨询公司离开后,企业为何常常恢复原样”这一深刻问题时,我们不得不深入剖析TPM理念的本质、实施过程中的挑战以及企业在持续变革中面临的普遍困境。TPM作为一种以最大化设备综合效率为目标的生产维护体系,其核心理念在于通过全…

C++ 消息分发类:详细示例应用

消息分发的概念 消息分发(Message Dispatching)是一种设计模式,广泛用于处理异步事件和消息。在 C 中,消息分发类通常用来接收和分发来自多个源的消息(如网络连接、传感器数据、用户输入等),并根…

如何使用 Canvas 和 Paint 进行绘制,以及如何处理自定义属性和解析 XML 属性

在 Android 中,自定义 View 的绘制通常涉及使用 Canvas 和 Paint 两个关键类。Canvas 提供了一个用于绘制图形的界面,而 Paint 则用来定义绘制的风格和颜色。以下是如何使用 Canvas 和 Paint 进行绘制的步骤,以及如何处理自定义属性和解析 XM…

Flink 1.14.* Flink窗口创建和窗口计算源码

解析Flink如何创建的窗口,和以聚合函数为例,窗口如何计算聚合函数 一、构建不同窗口的build类1、全局窗口2、创建按键分流后的窗口 二、在使用窗口处理数据流时,不同窗口创建的都是窗口算子WindowOperator1、聚合函数实现2、创建全局窗口(入参…

APP长文本内容编辑器功能实现方案

背景 CSDN APP 中原有编辑器页面为纯H5适配,整体用户交互体验差,如何优化APP端编辑器用户体验是我们团队需要思考的问题。下面我们以iOS为例展开讨论。 一、方案调研 我们分析了几款国内内容发布的APP,如知乎、今日头条、简书,…

深度学习100问46:什么是Dropout

嘿,你知道吗?在深度学习的奇妙世界里,有个超厉害的家伙叫 Dropout。 想象一下,你正在建造一个超级复杂的神经网络,就像搭建一座巨大的城堡。但有时候这座城堡可能会变得太娇气,只认得它见过的特定东西&am…

【CF补题数学裴蜀定理】 div969 C Dora and C++

Dora and C 分析: 对于两个数x,y 我们想要通过如下操作使得他们的差变得尽可能小 我们要如何操作? 这个操作也就是相当于 d e l ∣ y − x ∣ − k 1 ∗ x − k 2 ∗ y del|y-x|-k_1*x-k_2*y del∣y−x∣−k1​∗x−k2​∗y,让这个差值最小…

【TomCat】安装部署

首先得进行Java的安装和部署java1.8对应tomcat9 TomCat下载Apache Tomcat - Apache Tomcat 10 Software Downloads

yolo-world开放词汇检测onnxruntime和tensorrt推理

onnxruntime推理 导出onnx模型: from ultralytics import YOLOWorld,YOLO model YOLOWorld(yolov8s-worldv2.pt) model.set_classes(["glasses","shoes"]) model.save("yolo_world.pt") model YOLO(yolo_world.pt) model.export(…

记录 PyQt6 / PySide 6 自定义边框窗口的 Bug 及可能可行的解决方案:窗口抖动和添加 DWM 环绕阴影的大致原理

前言: 本篇文章将要讨论我在前不久发表的关于 PyQt6 / PySide6 自定义边框窗口代码及内容中的问题: (终)PyQt6 / PySide 6 Pywin32 自定义标题栏窗口 完全还原 Windows 原生窗口边框特效_pyside6 win32 无边框窗口-CSDN博客ht…

AOP和注解的配合使用(封装通用日志处理类)

自定义注解 Inherited Documented Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface MyLog {String value() default ""; } 定义切面 Aspect Component Slf4j public class LogAop {// 定义识别自定义注解的切点Pointcut("a…

Spring优缺点和SpringBoot基础和搭建

前言 Spring框架是一个流行的Java企业级开发框架,旨在简化应用程序开发。它的核心特性包括依赖注入和面向切面编程,提供了灵活性和强大的社区支持。然而,Spring也存在学习曲线陡峭和配置复杂等缺点。 Spring Boot是基于Spring的项目&#x…

Linxu系统之Mysql数据库练习【完整版】

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

pdf转cad软件,5款快速上手转换软件分享

在当今快节奏的工作环境中,图纸文件的格式转换成为设计师、工程师等职业群体日常工作中不可或缺的一环。尤其是将PDF文件转换为CAD格式,不仅能够提升工作效率,还能确保设计数据的准确性和可编辑性。下面给大家分享5款能够快速上手转换软件&am…

计算机毕业设计选题推荐-在线培训平台-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

相似哈希技术在溯源分析中的应用

随着软件开发的日益复杂化和全球化,代码复用和变体生成变得愈发普遍,导致在不同项目之间追踪代码的来源和演变变得更加困难。在这种背景下,相似哈希技术(Simhash, Minhash等)成为溯源分析中的一项关键工具,…

数据结构代码集训day9(适合考研、自学、期末及专升本)

代码题均来自B站up:白话拆解数据结构。 今日习题: (1)将两个递增的有序链表合并为一个递增的有序链表,不能有重复的元素,不能占用其他内存空间; (2)将带头单链表A分解为带…