解开 CDLinux 的iso映像文件

解开 CDLinux 的iso映像文件

一,使用解压软件解开iso映像文件

Windows下使用 WinRAR,7z
CDLinux下使用 7z,xarchiver

注意:只需要提取 { CDlinux,efi,isolinux 三个目录和 mkisofs.sh 打包脚本 } 即可,其它文件不需要

二,使用iso专用软件提取需要的文件

Windows下的 { UltraISO软蝶通,PowerISO,IsoBuste } 等工具
CDLinux下的 { ISO master } ISO映像管理工具等

三,使用虚拟软件挂载iso后复制文件

Windows下有众多虚拟光驱工具可以先挂载iso映像,再复制需要的文件

CDLinux下可以使用以下方法挂载和卸载iso映像:
挂载:# mount -o loop test.iso /mnt
卸载:# umount /mnt

以上三种方法都能让你成功得到iso内的任何文件

CDLinux操作系统的所有系统文件都存放在"xxx-cdl.md"模块,“xxx-cdl.tgz"模块,或"initrd"模块之中,定制时真正需要提取的也就是这些文件。

解开 CDLinux 的模块包

一,查看一个文件的属性

Linux下有个命令工具很好,就是 { file } 命令
用法:file filename
例子:file /usr/bin/axel 或 file wps-cdl.md
信息自然会显示出来,然后根据相关信息找到打开此文件的工具即可。

二,解包与打包 xxx-cdl.md 模块包

在CDLinux系统中,md模块是以squashfs-v4.3工具打包的,对应的打包工具和解包工具在每个版本的CDLinux中都已经集成,无需额外安装。

解包md模块:# unsquashfs xxx-cdl.md
解开后会得到 squashfs-root 的目录,之后自由发挥...

打包md模块:# mksquashfs squashfs-root xxx-cdl.md
把squashfs-root目录打包成你想要的任何名字的md模块

注意:

  1. 打包md模块时间可能很长,取决于你的计算机硬件性能,同时也与打包文件的大小有关,文件越大,硬件性能越差,所需要的时间越长。
  2. mksquashfs使用的是xz压缩,这种压缩工具的压缩比很高,比7z还高,一个10G的文件夹经过squashfs压缩后只有3G左右。
  3. CDLinux集成的squashfs压缩工具的压缩比并不是最高的,如果有20级可选,CDLinux默认的约为18级左右。同样的400M文件,老赵打包后只有120M,使用CDLinux打包有126M。
  4. 打包的md模块名不要重名,否则会出错。比如当前目录下有一个名为web-cdl.md的模块,再mksquashfs squashfs-root web-cdl.md,那么生成的文件可能是损坏的。
  5. 打包与解包md模块以root权限运行,否则一些需要root权限才能操作的文件会导至打包失败。

三,解包与打包 xxx-cdl.tgz 模块包

使用file xxx-cdl.tgz可以看到它是gzip数据文件,它就是选tar再gz压缩后的压缩包

使用命令解包tgz:# gzip -d wps-cdl.tgz && tar -xvf wps-cdl.tar
使用其它图形压缩工具,如:xarchiver 或 7z直接解压

使用命令打包tgz:# tar -zcvf wps-cdl.tgz wps
使用其它图形压缩工具,如:先用xarchiver把目录压缩成tar包,再一次用xarchiver把tar包压缩成gz包,最后重新命名为wps-cdl.tgz

注意:使用命令行工具打包或解包时最好以root权限运行,防止某些需要root权限的文件无法读写而造成打包失败

四,解包与打包 initrd 模块包

在CDLinux系统中initrd模块也是由squashfs来压缩的
解包:# unsquashfs initrd
打包:# mksquashfs squashfs-root initrd

重新创建CDLinux的iso映像文件

一,使用CDLinux自带的mkisofs.sh脚本创建新的iso映像文件

假设通过上面的步骤你已经定制好了自己的操作系统,并且把对应的模块都放到了相应的目录,万事俱备,那么就可以最终打包生成新的iso映像文件。

在iso的根目录下面有个 mkisofs.sh 的脚本打包工具,是科学社基于“genisoimage” 和 “xorriso”的官方wiki而写的「混合打包脚本」“引用:官方已经给出了具体实例”,并且经过了大量实验,确实可行。此打包脚本支持BIOS(依赖于isolinux,见iso根目录下的isolinux目录)和EFI两种启动。

使用方法:# sh mkisofs.sh

注意事项:

1,此打包脚本工具依赖 { mkisofs,xorriso,isolinux } 三个工具,CDLinux2018最新版已经全部集成,无需额外安装。但这之前的CDLinux(2015-2017)版本只有mkisofs,其余2个工具需要自行添加。

2,打包前需要先配置mkisofs.sh脚本内的参数,每一行都有详细说明,如果打包CDLinux系统,可以不用更换参数,默认已经配置好所有参数。

3,以root权限运行此脚本,否则可能会打包失败。

4,如果你用此打包工具打其它的发行版本,请在打包脚本中保留注释“# 此打包工具来自科学社定制的CDLinux操作系统”,以示对科学社原创的尊重。

5,打包的iso映像用dd写入U盘,会有两个分区,一个是iso只读格式,一个是fat32格式EFI,这个分区是可读写的,注意不要误删,否则在EFI计算机上无法启动。

6,本打包脚本生成的iso映像不如老赵的打包效果好,老赵生成的iso有多个efi分区,且都是隐藏的,做得相当好,目前科学社没有找到这种打包方案,见CDLinux2017,可以说在2018年末还没有哪个发行版能做到如此全面的启动兼容性。如果你有对应的方案,请联系科学社,以便在以后的新版本中使用,科学社也会尊重原创版权。

添加新评论

  Timeline:又是一天

test

updated on :

  关于博主

一个快乐的肥宅~

  近期评论

  •  FLy: 你好,我的surfacepro4 接的pro3的扩展坞,在黑苹果下面pd口可用,能够识别到显示...
  •  BeiDou: 谢谢,已成功解决。
  •  ud3的博客: 第一种方法没有找到路径啊。CommonMark没有
  •  helloworld: 度盘地址呢
  •  老油条: 感谢楼主和老赵的付出。感叹确实现实可悲,种种原因不能继续做下去。
  •  ian: 请问这里说的完美驱动扩展坞,是微软原装的那台充电口扩展坞吗
  •  TIGRE: 求config.plist!同Miix4用户,感谢🙏
  •  李飞: 博主 你好 可否发下完整的详细步骤,小白一个,谢谢!
  •  xuzhimin1993: 那么,能正确显示电量吗
  •  fowse: 赞,完美解决方案。

只有脚踏实地的人,才能够说:路,就在我的脚下。

无论你选择做什么,追求完美的程度决定你成就的高度。

这个世界最脆弱的是生命,身体健康,很重要。

上帝说:你要什么便取什么,但是要付出相当的代价。

现在站在什么地方不重要,重要的是你往什么方向移动。