[深度探索] deepin25 不带磐石的镜像
技术交流 2857 次浏览 · 56 个回复 · 举报
电梯直达到第[ ] 楼确定
煊deepin
发表于 2025-07-17 14:10
楼主
deepin25 带了磐石给开发者使用不是很方便,写了个构建镜像的脚本,不带磐石。
config/base_package.txt
config/desktop_package.txt
切记如果手动输入的软件包千万不要在中文输入法模式下敲回车输入,biruzheyang
一定在英文输入状态下输入,不说了都是泪
https://github.com/chenchongbiao/iso-build-deepin
deepin25 关闭磐石保护,并重新启动系统
1:取得root 权限:切换 root(全程用 root 更省心)
在终端运行 sudo -i
并更新系统
2:安装所需依赖apt install -y live-build debootstrap squashfs-tools xorriso grub-efi-amd64-bin grub-pc-bin mtools dosfstools qemu-user-static binfmt-support git curl wget unzip grub-common grub2-common lightdm locales
3:克隆构建仓库 + 清理旧目录(避免冲突)
如果之前构建过镜像先清理可能存在的旧仓库(防止新旧文件冲突)第一次可以忽略
rm -rf iso-build-deepin
克隆大佬的构建仓库
git clone https://github.com/chenchongbiao/iso-build-deepin.git
进入仓库目录(后续所有操作都在这个目录里执行) cd iso-build-deepin
直接终端运行永久默认中文编码,避免后续镜像英文 / 乱码
sed -i 's/LOCALES=${LOCALES:-en-US.UTF-8}/LOCALES=${LOCALES:-zh_CN.UTF-8}/g' /root/iso-build-deepin/build
删除原来的镜像封装脚本iso
rm -r /root/iso-build-deepin/tools/iso
重新创建 nano /root/iso-build-deepin/tools/iso
新增「安装系统到硬盘」启动项(BIOS+EFI 双菜单适配)
复制以下完整脚本代码 → 粘贴到编辑器 → 按 Ctrl+O → 回车 → Ctrl+X 保存退出。
Ctrl+O
Ctrl+X
#!/bin/bash set -u function generate_isolinux_cfg() { sudo tee $ISOLINUX_CFG < $GRUB_STANDALONE_CFG <<'EOF' search --set=root --label deepin set prefix=(\$root)/boot/grub/ configfile /boot/grub/grub.cfg EOF " } function generate_efi_file() { if [[ $(uname -m) != $(run_command_in_chroot "uname -m") ]]; then # 异架构构建,拷贝构建好的二进制。 cp $DEVICE_CONFIG_PATH/$BOOT_EFI_FILE $STAGING/EFI/boot else # 创建一个独立的GRUB2 EFI可执行文件 run_command_in_chroot "grub-mkstandalone \ --format=$ARCH_EFI \ --output=$BOOT_EFI_FILE \ --locales="" \ --fonts="" \ boot/grub/grub.cfg=$GRUB_STANDALONE_CFG" mv $TMP/$BOOT_EFI_FILE $STAGING/EFI/boot fi } function generate_efi_img() { # 创建一个EFI系统分区镜像文件 EFI_BOOT_IMG="$STAGING/boot/efi.img" dd if=/dev/zero of=$EFI_BOOT_IMG bs=1M count=4 /sbin/mkfs.vfat $EFI_BOOT_IMG mmd -i $EFI_BOOT_IMG efi efi/boot sudo fatlabel $EFI_BOOT_IMG ESP mcopy -vi $EFI_BOOT_IMG $STAGING/EFI/boot/$BOOT_EFI_FILE ::efi/boot/ } function generate_iso() { xorriso \ -as mkisofs \ -r \ -iso-level 3 \ -o $ISO \ -no-pad \ -full-iso9660-filenames \ -V "deepin" \ -isohybrid-mbr $TMP/isohdpfx.bin \ -appended_part_as_gpt \ -iso_mbr_part_type 'default' \ -c '/boot.catalog' \ -eltorito-boot isolinux/isolinux.bin \ -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ --eltorito-catalog isolinux/isolinux.cat \ -eltorito-alt-boot \ -e /boot/efi.img \ -no-emul-boot \ -isohybrid-gpt-basdat \ -isohybrid-apm-hfsplus \ $STAGING } export -f generate_isolinux_cfg generate_grub_cfg generate_grub_standalone_cfg generate_efi_file generate_efi_img generate_iso
修改build 设置live用户和密码live 默认时区上海,中文
nano /root/iso-build-deepin/build
复制以下完整脚本代码 → 粘贴到编辑器如图位置 → 按 Ctrl+O → 回车 → Ctrl+X 保存退出。
# ========== 新增:配置镜像默认用户和密码 ========== run_command_in_chroot "useradd -m -s /bin/bash live && echo 'live:live' | chpasswd" run_command_in_chroot "usermod -aG sudo live" run_command_in_chroot "echo 'root:root' | chpasswd" run_command_in_chroot "chown -R live:live /home/live && chmod 755 /home/live" # 可选1:设置live用户自动登录LightDM图形界面(无需手动输账号密码) run_command_in_chroot "mkdir -p /etc/lightdm/lightdm.conf.d && echo '[Seat:*]' > /etc/lightdm/lightdm.conf.d/99-autologin.conf && echo 'autologin-user=live' >> /etc/lightdm/lightdm.conf.d/99-autologin.conf" # 可选2:关闭密码过期(永久有效) run_command_in_chroot "chage -I -1 -m 0 -M 99999 -E -1 live" # 1. 自动登录后直接进入dde桌面(避免黑屏/终端) run_command_in_chroot "echo 'autologin-session=deepin' >> /etc/lightdm/lightdm.conf.d/99-autologin.conf" # 2. 配置文件权限兜底(确保lightdm能读取,避免配置失效) run_command_in_chroot "chmod 644 /etc/lightdm/lightdm.conf.d/99-autologin.conf && chown root:root /etc/lightdm/lightdm.conf.d/99-autologin.conf" # ========== 用户密码配置结束 ========== # ========== 新增:永久配置【默认中文+上海时区】核心代码 ========== # 1. 配置默认时区为上海(无交互,直接生效,覆盖系统默认) run_command_in_chroot "echo 'Asia/Shanghai' > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata" # 2. 生成中文UTF-8编码(必须执行,否则中文显示乱码) run_command_in_chroot "locale-gen zh_CN.UTF-8" # 3. 设置全局默认语言为中文(永久生效,所有用户通用) run_command_in_chroot "echo -e 'LANG=zh_CN.UTF-8\nLC_ALL=zh_CN.UTF-8' > /etc/locale.conf" run_command_in_chroot "update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8" # 4. 写入环境变量文件(兜底,防止图形界面/终端中文失效) run_command_in_chroot "echo -e 'export LANG=zh_CN.UTF-8\nexport LC_ALL=zh_CN.UTF-8' >> /etc/profile" # ========== 中文+时区配置结束 ==========
直接在终端运行主脚本末尾追加移动镜像命令
echo -e '\n# ========== 构建完成后移动镜像到用户下载目录 ==========\nmv -f ./output/deepin-crimson-amd64.iso $(eval echo ~$(logname))/Downloads/ && chown $(logname):$(logname) $(eval echo ~$(logname))/Downloads/deepin-crimson-amd64.iso\necho -e "\033[0;32m[✅] 镜像已移动至:$(eval echo ~$(logname))/Downloads/deepin-crimson-amd64.iso\033[0m"' >> /root/iso-build-deepin/build
修改 添加安装系统需要的软件包 nano /root/iso-build-deepin/config/base_package.txt
lightdm lightdm-gtk-greeter deepin-installer gparted dosfstools ntfs-3g os-prober systemd-boot-efi grub-efi-amd64 tzdata
复制以上↑软件包 → 粘贴到编辑器如图位置 → 按 Ctrl+O → 回车 → Ctrl+X 保存退出。
执行 amd64 架构镜像构建(核心步骤,耗时最久)
一:确保当前在 iso-build-deepin目录下(第三步已进入,若退出重新执行 cd iso-build-deepin)
iso-build-deepin
cd iso-build-deepin
二:执行构建命令,请勿中途中断!首次构建 1-3 小时(看网络 / 硬件)
./build amd64
过程说明:
终端会持续输出日志,耐心等待即可
6 验证构建是否成功 + 找到镜像文件
镜像移动到用户下载目录
deepin-crimson-amd64.iso
哇,这个厉害
非常好。
最后一行的汉字是乱码
Featured Collection
Popular Ranking
Popular Events
[深度探索] deepin25 不带磐石的镜像
技术交流 2857 次浏览 · 56 个回复 · 举报
电梯直达到第[ ] 楼确定
煊
deepin
发表于 2025-07-17 14:10
楼主
deepin25 带了磐石给开发者使用不是很方便,写了个构建镜像的脚本,不带磐石。
有需要的开发者可以试试。部分应用没有安装,玲珑应用没有预装(玲珑命令行工具预装了)。如需进一步自定义镜像(如添加预装软件),可修改仓库内
config/base_package.txt或config/desktop_package.txt中的包列表切记如果手动输入的软件包千万不要在中文输入法模式下敲回车输入,biruzheyang
一定在英文输入状态下输入,不说了都是泪

不适合生产办公用户
https://github.com/chenchongbiao/iso-build-deepin
deepin25 关闭磐石保护,并重新启动系统
1:取得root 权限:切换 root(全程用 root 更省心)
在终端运行 sudo -i
并更新系统
2:安装所需依赖apt install -y live-build debootstrap squashfs-tools xorriso grub-efi-amd64-bin grub-pc-bin mtools dosfstools qemu-user-static binfmt-support git curl wget unzip grub-common grub2-common lightdm locales
3:克隆构建仓库 + 清理旧目录(避免冲突)
如果之前构建过镜像先清理可能存在的旧仓库(防止新旧文件冲突)第一次可以忽略
克隆大佬的构建仓库
进入仓库目录(后续所有操作都在这个目录里执行)
cd iso-build-deepin
直接终端运行永久默认中文编码,避免后续镜像英文 / 乱码
删除原来的镜像封装脚本iso
rm -r /root/iso-build-deepin/tools/iso
重新创建 nano /root/iso-build-deepin/tools/iso
新增「安装系统到硬盘」启动项(BIOS+EFI 双菜单适配)
复制以下完整脚本代码 → 粘贴到编辑器 → 按
Ctrl+O→ 回车 →Ctrl+X保存退出。修改build 设置live用户和密码live 默认时区上海,中文
nano /root/iso-build-deepin/build
复制以下完整脚本代码 → 粘贴到编辑器如图位置 → 按
Ctrl+O→ 回车 →Ctrl+X保存退出。直接在终端运行主脚本末尾追加移动镜像命令
修改 添加安装系统需要的软件包 nano /root/iso-build-deepin/config/base_package.txt
lightdm
lightdm-gtk-greeter
deepin-installer
gparted
dosfstools
ntfs-3g
os-prober
systemd-boot-efi
grub-efi-amd64
tzdata
复制以上↑软件包 → 粘贴到编辑器如图位置 → 按
Ctrl+O→ 回车 →Ctrl+X保存退出。执行 amd64 架构镜像构建(核心步骤,耗时最久)
一:确保当前在
iso-build-deepin目录下(第三步已进入,若退出重新执行cd iso-build-deepin)二:执行构建命令,请勿中途中断!首次构建 1-3 小时(看网络 / 硬件)
过程说明:

终端会持续输出日志,耐心等待即可

6 验证构建是否成功 + 找到镜像文件
镜像移动到用户下载目录
deepin-crimson-amd64.iso