这个教程,陆陆续续搞了2年,现在终于可以,类似刷固件的方式使用了Linux 系统了
这个是弄好的虚拟机vm17.5 https://cloud.189.cn/t/MFnIbaAVjaEn (访问码:0jfq)
这是第一个帖子,制作 filesystem.squashfs 文件系统的教程 :
https://bbs.deepin.org/zh/post/240485
这是使用GURB2引导Linux iso镜像的(Linux iso本省不需要可引导) :
https://bbs.deepin.org/zh/post/273875
修改UUID的帖子:https://bbs.deepin.org/zh/post/259734
利用 $HOME/.config/autostart 执行desktop文件启动挂载脚本,在加上这个目录在没有进入桌面期其实就启动了。利用这个就可以挂载可读写的用户目录
但是挂载用户目录的的脚本不能存在于 filesystem.squashfs 中
一个简单的启动--挂载--流程
我这边实验的使用是会自动识别虚拟内存分区,如果不能识别在制作filesystem.squashfs阶段先处理好
下面贴一下我的挂载脚本
#!/bin/bash #----------------------------- # 在mint无法使用开机脚步也就是当前脚本启动docker,其他系统未知 # 为了容易获取UUID建议在分配分区时,候使用 GParted 分区选择exit4 #----------------------------- # 自动响应sudo密码 # key 的直是密码 #----------------------------- sleep 2 #最外面的一个函数 i8520_link_dir(){ 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 do echo "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 do echo "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 #---------------------------- # 启动挂载可读写用户目录的脚本 #---------------------------- bash /opt/data/Weather/RUN } #----------------------------- # 为了在重启桌面管理器后不重复行当前脚本 # 因为重启桌面管理器以后会重新执行 # $HOME/.config/autostart 下的所有desktop #----------------------------- #使用UUID来简单排除重复执行挂载代码 ReadFstabUuid="c4f7099f-b57f-4baf-9d7d-2417f933fe1a" CatFsta=`cat /etc/fstab|grep "${ReadFstabUuid}"|wc -l` Quantity='1' if [[ ! X${Quantity} = X${CatFsta} ]];then echo "不存在" i8520_link_dir else echo "存在" fi exit 0
可以镜像LIVE系统后使用 gparted 划分一个分区 然后在我点电影点一下这个分区就会自带挂载
filesystem.squashfs 文件在 /cdrom/casper ,下面解压出、home目录
#!/bin/bash #需要倒入用户目录的路径 extracted_files="/media/i8520/7eb8c958-65af-4cc2-8946-261d7096bb0a" example_files="/cdrom/casper/filesystem.squashfs" sudo unsquashfs -d ${extracted_files} -f ${example_files} home #倒入后使用把 home/用户名 mv 用户名 /media/i8520/7eb8c958-65af-4cc2-8946-261d7096bb0a #在删掉home文件夹
挂载 用户目录的脚本其实简单暴力 /opt/data/Weather/RUN
#!/bin/bash key='3PudTWAfagCJdSmU8F' shijian=`date +%Y年%m月%d日%H:%M:%S` echo "${key}" | sudo -S $shijian > /dev/null 2>&1 #----------------------------- # 挂载分区 hoem/i8520 #----------------------------- MYTumount(){ sudo rm -rf /home/* #用户目录的UUID echo "UUID=7eb8c958-65af-4cc2-8946-261d7096bb0a /home ext4 defaults 0 2" | sudo tee -a /etc/fstab > /dev/null 2>&1 #激活挂载 sudo mount -a #重启桌面管理器 sudo service lightdm restart sleep 1 } #----------------------------- # 为了在重启桌面管理器是不重复执行当期脚步 # $HOME/.config/autostart #----------------------------- ReadFstabUuid="UUID=7eb8c958-65af-4cc2-8946-261d7096bb0a" CatFsta=`cat /etc/fstab|grep "${ReadFstabUuid}"|wc -l` Quantity='1' if [[ ! X${Quantity} = X${CatFsta} ]];then echo "挂在用户目录" MYTumount else echo "OK" fi exit 0
这样配置好以后,下次进入系统就可以通过可读写的用户目录 $HOME/.config/autostart 来启动docker
下面是启动docker的脚本
#!/bin/bash key='3PudTWAfagCJdSmU8F' shijian=`date +%Y年%m月%d日%H:%M:%S` echo "${key}" | sudo -S $shijian > /dev/null 2>&1 sudo /usr/bin/dockerd
最后调试好把所有脚本 shc 加密掉,应为脚本里有开机密码。
不明觉厉
牛而逼之!
看不懂兮
基本是就是倒腾脚本的,最主要是是制作filesystem.squashfs
我想要一个类似PE的VDI,越小越好
除了基础系统外只要有wps和支持flash的奇安信浏览器就可以,
不知道有没有定制的?
我自己搞了一个mint,18G,太大了
Popular Ranking
Popular Events
这个教程,陆陆续续搞了2年,现在终于可以,类似刷固件的方式使用了Linux 系统了
这个是弄好的虚拟机vm17.5 https://cloud.189.cn/t/MFnIbaAVjaEn (访问码:0jfq)
这是第一个帖子,制作 filesystem.squashfs 文件系统的教程 :
https://bbs.deepin.org/zh/post/240485
这是使用GURB2引导Linux iso镜像的(Linux iso本省不需要可引导) :
https://bbs.deepin.org/zh/post/273875
修改UUID的帖子:https://bbs.deepin.org/zh/post/259734
利用 $HOME/.config/autostart 执行desktop文件启动挂载脚本,在加上这个目录在没有进入桌面期其实就启动了。利用这个就可以挂载可读写的用户目录
但是挂载用户目录的的脚本不能存在于 filesystem.squashfs 中一个简单的启动--挂载--流程
我这边实验的使用是会自动识别虚拟内存分区,如果不能识别在制作filesystem.squashfs阶段先处理好
下面贴一下我的挂载脚本
可以镜像LIVE系统后使用 gparted 划分一个分区 然后在我点电影点一下这个分区就会自带挂载
filesystem.squashfs 文件在 /cdrom/casper ,下面解压出、home目录
挂载 用户目录的脚本其实简单暴力 /opt/data/Weather/RUN
这样配置好以后,下次进入系统就可以通过可读写的用户目录 $HOME/.config/autostart 来启动docker
下面是启动docker的脚本
最后调试好把所有脚本 shc 加密掉,应为脚本里有开机密码。