参考:custom-debian-live-environment
1. 准备工作
安装制作所需的工具
sudo apt-get install \
debootstrap \
squashfs-tools \
xorriso \
grub-pc-bin \
grub-efi-amd64-bin \
mtools
创建目录
mkdir $HOME/LIVE_BOOT
2. 系统自举并配置deepin
安装自举系统
sudo debootstrap \
--arch=i386 \
--variant=minbase \
stable \
$HOME/LIVE_BOOT/chroot \
http://mirrors.ustc.edu.cn/deepin/
chroot进入deepin环境
sudo chroot $HOME/LIVE_BOOT/chroot
[chroot]后的步骤
设置设置机主机名
echo "deepin-live" > /etc/hostname
查找支持的内核及initrd
apt-cache search linux-image
安装内核及init进程初始化相关内容
apt-get update && \
apt-get install --no-install-recommends \
linux-image-686 \
live-boot \
systemd-sysv
安装基本软件
apt-get install --no-install-recommends \
network-manager net-tools wireless-tools wpagui \
curl openssh-client \
blackbox xserver-xorg-core xserver-xorg xinit xterm \
vim && \
apt-get clean
安装deepin DDE界面
apt-get install --no-install-recommends dde dde-file-manager
apt-get install lightdm
apt-get install lightdm-gtk-greeter
编辑$HOME/LIVE_BOOT/chroot/etc/lightdm/lightdm.conf,删除下面三条语句的注释并修改为相应的值
greeter-session=lightdm-gtk-greeter
greeter-show-manual-login=true
user-session=deepin
编辑$HOME/LIVE_BOOT/chroot/root/.profile,增加语言及时区配置
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:en"
export LANG
export LANGUAGE
TZ='Asia/Shanghai'; export TZ
打开zh_CN.UTF-8的支持
编辑$HOME/LIVE_BOOT/chroot/etc/locale.gen,找到如下语句并删除前面的注释
# zh_CN.UTF-8 UTF-8
执行下面的语句进行更新
$HOME/LIVE_BOOT/chroot/usr/sbin/locale-gen
$HOME/LIVE_BOOT/chroot/usr/sbin/update-locale
更改root密码
passwd root
[chroot]退出
exit
3. 创建deepin LiveCD相关文件
创建配置目录
mkdir -p $HOME/LIVE_BOOT/{scratch,image/live}
创建squashfs文件
sudo mksquashfs \
$HOME/LIVE_BOOT/chroot \
$HOME/LIVE_BOOT/image/live/filesystem.squashfs \
-e boot
拷贝内核及initrd文件
cp $HOME/LIVE_BOOT/chroot/boot/vmlinuz-* \
$HOME/LIVE_BOOT/image/vmlinuz && \
cp $HOME/LIVE_BOOT/chroot/boot/initrd.img-* \
$HOME/LIVE_BOOT/image/initrd
创建grub配置
cat <<'EOF' >$HOME/LIVE_BOOT/scratch/grub.cfg
search --set=root --file /DEEPIN_CUSTOM
insmod all_video
set default="0"
set timeout=30
menuentry "Deepin Live" {
linux /vmlinuz boot=live quiet
initrd /initrd
}
EOF
创建CUSTOM文件
touch $HOME/LIVE_BOOT/image/DEEPIN_CUSTOM
4. BIOS引导光盘创建,其它类型的创建参考”custom-debian-live-environment“
创建BIOS image
grub-mkstandalone \
--format=i386-pc \
--output=$HOME/LIVE_BOOT/scratch/core.img \
--install-modules="linux normal iso9660 biosdisk memdisk search tar ls" \
--modules="linux normal iso9660 biosdisk search" \
--locales="" \
--fonts="" \
"boot/grub/grub.cfg=$HOME/LIVE_BOOT/scratch/grub.cfg"
与grub2的cdboot.img进行链接
cat \
/usr/lib/grub/i386-pc/cdboot.img \
$HOME/LIVE_BOOT/scratch/core.img \
> $HOME/LIVE_BOOT/scratch/bios.img
生成liveCD iso文件
xorriso \
-as mkisofs \
-iso-level 3 \
-full-iso9660-filenames \
-volid "DEEPIN_CUSTOM" \
--grub2-boot-info \
--grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img \
-eltorito-boot \
boot/grub/bios.img \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
--eltorito-catalog boot/grub/boot.cat \
-output "${HOME}/LIVE_BOOT/deepin-custom.iso" \
-graft-points \
"${HOME}/LIVE_BOOT/image" \
/boot/grub/bios.img=$HOME/LIVE_BOOT/scratch/bios.img