Create a custom live iso

From The Power of Many
Revision as of 02:18, 1 August 2020 by Snowshi (talk | contribs) (Created page with "本文使用 [http://deepin.org deepin] 20 来创建一个自定义 deepin iso. 你可以使用任意带有 debootstrap 环境的系统从0开始构建一个自定义live iso...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

本文使用 deepin 20 来创建一个自定义 deepin iso.

你可以使用任意带有 debootstrap 环境的系统从0开始构建一个自定义live iso,但本文只介绍在已有iso的基础上修改并生成自定义live iso.

本文说的修改主要是指新添加一个第三方驱动包.


警告:所有需要使用 [chroot] 环境的命令 我都会使用加粗字体提前告知.


sudo mount -t iso9660 deepin.iso /mnt

创建工作环境

mkdir -p $HOME/deepin-live/workdir

复制 filesystem.squashfs到本地

cp -av /mnt/live/filesystem.squashfs $HOME/deepin-live/

解压 squashfs

cd $HOME/deepin-live/workdir
unsquashfs ../filesystem.squashfs

会自动解压到当前路径 目录名称 squashfs-root

为chroot做必要的操作

sudo mount --bind /dev squashfs-root/dev

sudo mount --bind /sys squashfs-root/sys

sudo mount --bind /proc squashfs-root/proc

准备第三方驱动包

cp -av package-name.deb $HOME/deepin-live/workdir/squashfs-root/


警告: [chroot]

chroot $HOME/deepin-live/workdir/squashfs-root/

目前已在chroot环境 以下开始chroot环境的操作

dpkg -i package-name.deb

末尾追加一行

sed -i '$a\driver_name' /etc/initramfs-tools/modules

更新initramfs

update-initramfs -u

更新

dpkg-query --show --showformat='${Package} ${Version}\n'

清理战场

apt clean
history -c

退出chroot环境

Reference:

  1. https://willhaley.com/blog/custom-debian-live-environment/
  2. https://github.com/pranav1698/Custom-LiveISO-Generator
  3. https://live-team.pages.debian.net/live-manual/