1:复制cd到硬盘
mount /dev/cdrom /cdrom
mkdir -p /opt/cd-image
cp -rT /cdrom /opt/cd-image
把iredmail的安装脚本,放到 /opt/cd-image/iredmail,也就是光盘的根目录下。
2:修改preseed/ubuntu-server.seed
这是关键,整个定制的过程,都是在这里,下面就是我调试通过的
关闭dhcp获得ip
d-i netcfg/disable_dhcp boolean true
关闭apt 用外部源,这会导致安装过程比较慢。
d-i apt-setup/use_mirror boolean false
最小化安装,去掉那个软件选择的界面
tasksel tasksel/first multiselect Standard system
安装dialog
d-i pkgsel/include string dialog
去掉最后的一个界面,安装完毕提示重新启动
d-i finish-install/reboot_in_progress note
上面这些都是没有问题,基本都可以满足我的要求。
复制iredmail的脚本到硬盘,给运行的权限,启动脚本。
d-i preseed/late_command string cp -R /cdrom/iredmail /target/opt/; cd /target/opt/iredmail; chroot /target chmod +x /opt/iredmail/iRedMail.sh; chroot /target bash iRedMail.sh
上面的脚本,安装到最后,会报错,装完后,检查发现脚本已经是可执行,就是最后的一步,bash iRedMail.sh 出现错误。
3:再创建iso文件
IMAGE=custom.iso BUILD=/opt/cd-image/ mkisofs -r -V "Custom Ubuntu Install CD" / -cache-inodes / -J -l -b isolinux/isolinux.bin / -c isolinux/boot.cat -no-emul-boot / -boot-load-size 4 -boot-info-table / -o $IMAGE $BUILD