自制一个Linux live固件镜像ISO可引导系统

使用母盘镜像制作两个虚拟,来制作一个包含基本需求的filesystem.squashfs文件,具体看下面的链接

使用的安装镜像 是Linux Mint

制作好的成品 https://cloud.189.cn/t/U32Mvi7FnyA3 (访问码:2nbo)

最简单制作LIVE CD的办法- Community - Deepin Technology

自制LIVE ISO镜像系统内置分区挂载脚本- Community - Deepin Technology

引导文件:https://cloud.189.cn/t/y6FZ7jmqEFnu (访问码:peo2)

建议 :不要在Linux母盘安装太多的东西,毕竟启动引导分区fat32最大只支持4G文件实际4.3G的样子

建议只安装基本的比如 DOCKER VM SSH 

下面是制作 filesystem.squashfs 的命令,如果制作的镜像不能保存到fat32分区使用最大压缩

#挂载母盘的路径
ABC="/media/i8520/3c4ce3cc-b53e-48b9-bc37-e8c23fb295c6"
#标准压缩模式启动速度快
sudo mksquashfs ${ABC} filesystem.squashfs
#最大压缩模式,启动速度慢
sudo mksquashfs ${ABC} filesystem.squashfs -comp xz

使用 DiskGenius 制作fat32分区 然后使用BOOTICEx64制作启动 见图 01.png 和02.png
把BOOT文件夹和GRLDR放到 fat32分区 根目录

引导配置文件配置文件说明
\BOOT\GRUB 里面的 initrd.lz 和 vmlinuz 自己重制作好的,
filesystem.squashfs 文件提取改名成那样 见图Linux.png


menu.lst 文件是启动菜单文件把你里面的 
VM17-Mint-21.3-DOCKER-SMB 替换成你制作好的iso镜像的名字
把你制作到的镜像放到\BOOT\GRUB里面

由于是镜像系统,属于内存系统,docker 就需要启动后挂载这个分区

请结合desktop文件到/home/用户名/.config/autostart使用

比如我的挂载脚本

#!/bin/bash
sleep 2
#-----------------------------
# 在mint无法使用开机脚本也就是当前脚本启动docker,其他系统未知
#-----------------------------
# 自动响应sudo密码
# key 的直是密码
#-----------------------------
key='3PudTWAfagCJdSmU8F'
shijian=`date +%Y年%m月%d日%H:%M:%S`
echo "${key}" | sudo -S $shijian > /dev/null 2>&1
#预处理
USRE_NAME=`/opt/i8520/MY-USER-PWD`
sudo /opt/i8520/CCCX /media/$USRE_NAME
sudo /opt/i8520/CCCX 750 /media/$USRE_NAME
MY_OK_MONUT="/tmp/MY_OK_MONUT"
sudo rm -rf ${MY_OK_MONUT}
mkdir -p ${MY_OK_MONUT}
#docker的一些配置文件,执行sudo systemctl restart docker会重新生成
sudo rm -rf /var/lib/docker/*#-----------------------------
# 导出硬盘设备名字
# SATA nvme
#-----------------------------
sudo blkid | grep "/dev/sd" | awk '{print $1}' | sed 's/://g' > ${MY_OK_MONUT}/SATA.log
sudo blkid | grep "/dev/nvme" | awk '{print $1}' | sed 's/://g' > ${MY_OK_MONUT}/nvme.log
#-----------------------------
# 遍历卸载 机械硬盘的脚本
#-----------------------------
MYSATA(){
filename="${MY_OK_MONUT}/SATA.log"  
while IFS= read -r line
doecho "umount $line" >> ${MY_OK_MONUT}/SATA.log.x
done < "$filename"
sed '1i\#!/bin/bash' ${MY_OK_MONUT}/SATA.log.x > ${MY_OK_MONUT}/SATA.log.sh
sudo /opt/i8520/CCCX 750 ${MY_OK_MONUT}/SATA.log.sh
}
MYSATA
#-----------------------------
# 遍历卸载 nvme硬盘的脚本
#-----------------------------
MYNVME(){
filename="${MY_OK_MONUT}/nvme.log"  
while IFS= read -r line
doecho "umount $line" >> ${MY_OK_MONUT}/nvme.log.x
done < "$filename"
sed '1i\#!/bin/bash' ${MY_OK_MONUT}/nvme.log.x > ${MY_OK_MONUT}/nvme.log.sh
sudo /opt/i8520/CCCX 750 ${MY_OK_MONUT}/nvme.log.sh
}
MYNVME
#-----------------------------
# 执行卸载硬盘
#-----------------------------
sudo ${MY_OK_MONUT}/SATA.log.sh
sudo ${MY_OK_MONUT}/nvme.log.sh
#-----------------------------
# 挂载分区
#-----------------------------
MYTumount(){
#挂载分区,具体自己魔改一下就可以
echo "UUID=c4f7099f-b57f-4baf-9d7d-2417f933fe1a /var/lib/docker ext4 defaults 0  2"   | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=aeb78a7a-31d3-413f-9388-127ea0d72cfe /opt/data/shell ext4 defaults 0  2"   | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=24ea6448-1b9a-46ef-a2b7-7f24e440036c /opt/data/Weather ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=8848285b-e13e-49c2-85c3-25978ac518f9 /opt/data/SmbFile ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=883dd58e-61cf-4184-9c63-5059af2b156f none    swap    sw          0      0" | sudo tee -a /etc/fstab > /dev/null 2>&1
#激活挂载
sudo mount -a
sleep 1
}
MYTumount
#------------------------
sudo /opt/i8520/CCCX /opt/data/SmbFile
sudo /opt/i8520/CCCX 777 /opt/data/SmbFile
sudo /opt/i8520/CCCX 755 /opt/data/Weather
sudo /opt/i8520/CCCX /opt/data/shell
sudo /opt/i8520/CCCX 750 /opt/data/shell
rm -rf /home/${USRE_NAME}/.cache/vmware/drag_and_drop
ln -s /opt/data/SmbFile $HOME/桌面/SMB共享目录
ln -s /opt/data/SmbFile /home/${USRE_NAME}/.cache/vmware/drag_and_drop
ln -s /opt/data/shell $HOME/桌面
cp -r /opt/data/shell/desktop/*.desktop $HOME/桌面#----
#外置脚本,挂载 /opt/data/Weather ,开机后把RUN脚本放到里面,脚本首行代码需要延迟8秒
#卡BUG,不然后面的脚本可能执行不了
#docker无法在脚本内启动,原因不知道,所以需要进去系统手动重启
bash /opt/data/Weather/RUN
#web
/opt/i8520/PythonWww start &
exit 0

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

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

相关文章

express入门01服务器搭建以及get和post请求的监听

微搭提供了后端API的能力&#xff0c;但是不同的版本收费差别巨大&#xff0c;因为使用的门槛限制了中小企业使用低代码平台。那可不可以既要又要呢&#xff1f;答案是肯定的&#xff0c;那其实掌握一定的后端框架&#xff0c;借助我们在低代码中已经熟练掌握的技能其实是比较容…

【RK3588/算能/Nvidia智能盒子】AI“值守”,规范新能源汽车充电站停车、烟火及充电乱象

近年来&#xff0c;中国新能源汽车高速发展&#xff0c;产量连续8年位居全球第一。根据中国充电联盟数据&#xff0c;截至2023年6月&#xff0c;新能源汽车保有量1620万辆&#xff0c;全国充电基础设施累计数量为665.2万台&#xff0c;车桩比约2.5:1。 虽然新能源汽车与充电桩供…

java架构设计-COLA

参考&#xff1a;https://github.com/alibaba/COLA 架构 要素&#xff1a;组成架构的重要元素 结构&#xff1a;要素直接的关系 意义&#xff1a;定义良好的结构&#xff0c;治理应用复杂度&#xff0c;降低系统熵值&#xff0c;改善混乱状态 创建COLA应用&#xff1a; mvn …

在Linux系统中安装凸语言

凸语言在2023国产编程语言蓝皮书中的介绍如下&#xff1a; 凸语言gitee页面&#xff1a;凸语言: tu-lang 是一种动态类型编译型的通用编程语言, 已实现自举 (gitee.com) 使用git克隆源码&#xff1a; git clone https://github.com/tu-lang/tu.git 安装凸语言环境&#xff1a…

BEC攻击升级:针对企业的诈骗手法鉴赏

0x00 背景 商业电子邮件欺诈&#xff08;Business Email Compromise&#xff0c;BEC&#xff09;是一种社会工程学攻击&#xff0c;主要针对企业&#xff0c;通常以财务欺诈和商业机密窃取为动机。据微软的统计数据显示&#xff0c;自2016年以来&#xff0c;BEC攻击已经导致超…

ChromeOS 逐渐靠近安卓

ChromeOS 逐渐 “安卓化” 谷歌在博客中透露&#xff0c;将在ChromeOS底层更广泛地使用和Android相同的技术栈。一个具体的例子是&#xff0c;ChromeOS现在已经开始使用Android的蓝牙协议栈&#xff0c;取代了之前使用的自己的协议栈。这次改变不仅提高了蓝牙配对速度&#xf…

总结一下 C# 如何自定义特性 Attribute 并进行应用

前言 Attribute&#xff08;特性&#xff09;是一种用于为程序元素&#xff08;如类、方法、属性等&#xff09;提供元数据信息的方法。 特性是一种声明式的信息&#xff0c;附加到程序元素上&#xff0c;提供额外的数据用于描述和控制这些元素的行为。 在编译和运行时&…

零基础入门学用Arduino 第四部分(一)

重要的内容写在前面&#xff1a; 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。个人把这个教程学完之后&#xff0c;整体感觉是很好的&#xff0c;如果有条件的可以先学习一些相关课程&#xff0c;学起来会更加轻松&#xff0c;相关课程有数字电路…

GPT3.5的PPO目标函数怎么来的:From PPO to PPO-ptx

给定当前优化的大模型 π \pi π&#xff0c;以及SFT模型 π S F T \pi_{SFT} πSFT​ 原始优化目标为: max ⁡ E ( s , a ) ∼ R L [ π ( s , a ) π S F T ( s , a ) A π S F T ( s , a ) ] \max E_{(s,a)\sim RL}[\frac{\pi(s,a)}{\pi_{SFT}(s,a)}A^{\pi_{SFT}}(s,a)] m…

什么牌子的灯好不伤眼?带你了解什么灯对眼睛伤害最小

眼睛是人类获取信息最重要的感官器官之一&#xff0c;而近视则会导致视力模糊&#xff0c;进而影响学习效果和生活品质。因此&#xff0c;什么灯对眼睛伤害最小成为许多人迫切寻找的目标。本文将为各位家长解答目前许多家长选择为孩子保护视力的产品——护眼台灯。护眼台灯以其…

「小爱同学」接入豆包大模型;华为鸿蒙 OS 成为中国第二大操作系统丨 RTE 开发者日报 Vol.224

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

MySQL数据库入门

1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了&#xff0c;作者又重新编写了一个开源的数据库管理系统&#xff0c;Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…

【记录46】【案例】echarts 柱状图

echarts环境4.1.0 <template><div id"threefour"></div> </template> <script> import * as echarts from "echarts" export default {name:"",components:{},data(){return {}},methods:{getdata(){var myChart…

找单身狗2

找单身狗2 之前遇到类似的题目的思路&#xff1a; 首先写出这些数的二进制形式&#xff1a; 核心原理 接下来的问题是怎么把5和6分开来&#xff1f; 这里是最后一位进行比较&#xff0c;按位异或是相同为0&#xff0c;相异为1&#xff0c;最后一位从上图看出是1&#xff0c;说…

Linux常用操作大全(上)

Linux常用操作 文章目录 Linux常用操作一、各类小技巧**1.ctrl c 强制停止****2.ctrl d 退出或登出**3.历史命令搜索4.光标移动快捷键5.清屏6.复制Ctrlshiftc7.粘贴Ctrlshiftv 二、软件安装1.概念2.yum与apt 三、systemctl控制服务四、软链接ln五、日期时区1.date查看日期2.修…

新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!

随着新能源汽车行业的蓬勃发展&#xff0c;汽车电缆组件作为汽车电气系统的核心组成部分&#xff0c;其重要性日益凸显。中国星坤汽车电缆组件以其卓越的性能和创新技术&#xff0c;为汽车的电能传输、信号传递和控制提供了坚实的保障。本文将深入解析星坤汽车电缆组件的特性、…

视频汇聚安防综合管理平台EasyCVR支持GA/T 1400视图库标准及设备接入配置

一、概述 视频汇聚安防综合管理平台EasyCVR视频监控系统已经与公安部GA/T 1400视图库标准协议实现了对接&#xff0c;即《公安视频图像信息应用系统》。 安防监控系统EasyCVR支持采用GA/T 1400进行对接&#xff0c;可实现人脸数据使用的标准化、合规化。其采用统一接口对接雪…

Linux C语言:指针和二维数组

一、一级指针和二维数组 二维数组的元素连续存储&#xff0c;按行优先存 二、数组指针和二维数组 1、二维数组名的理解 行指针&#xff08;数组指针&#xff09;存储行地址的指针变量&#xff0c;叫做行指针变量。形式如下&#xff1a; <数据类型> (*<指针变量名>…

字节豆包大模型API吞吐、函数调用能力、长上下文能力测试总结

离开模型能力谈API价格都是耍流氓&#xff0c;豆包大模型作为API最便宜的模型之一&#xff0c;最近向个人开发者开放了&#xff0c;花了300元和一些时间对模型的API吞吐、函数调用能力、长上下文能力等进行了深度测试&#xff0c;看看它的能力究竟适合做 AI 应用开发吗&#xf…

内部类介绍

内部类&#xff08;Inner Class&#xff09;是在另一个类的内部定义的类。它可以访问外部类的所有成员&#xff0c;包括私有成员。内部类有两种主要形式&#xff1a;局部内部类&#xff08;定义在方法内部&#xff09;和成员内部类&#xff08;定义在类的内部&#xff0c;但不在…