最近在进行Ubuntu ISO的定制,将其过程进行简单的记录。

1.Ubuntu发行版本的选择

  1. Kubuntu::使用的是KDE桌面环境
  2. Lubuntu:最新的版本使用的是LXQT桌面环境,之前的版本使用的是LXDE桌面环境
  3. Ubuntu Budgie:使用的是Budgie桌面环境
  4. Ubuntu Kylin:是麒麟的版本
  5. Ubuntu MATE:使用的是MATE桌面环境
  6. Ubuntu Studio:侧重于音视频和图像处理
  7. Xubuntu:使用的是Xfce桌面环境

可以看到,各个版本之间的主要差异是桌面环境和安装的软件包的区别。

2.Desktop or Server or Alternate?

ubuntu iso下载路径:http://cdimage.ubuntu.com/

在下载ubuntu iso的时候,需要在desktop, server, alternate之间进行选择,三者之间的主要差异可参考:https://askubuntu.com/questions/17952/what-are-the-differences-between-desktop-server-and-alternate-installs

  1. Desktop:可以在安装之前试用,使用的是Ubiquity installer
  2. Server:不包含桌面环境,使用的是debian-installer
  3. Alternate:包含桌面环境,还包含了"OEM Install"(可以将个性化的设置留到第一次开机启动时进行),使用的是debian-installer

本文是基于Lubuntu 18.04 alternate进行定制,其桌面环境是LXDE,下载路径:http://cdimage.ubuntu.com/lubuntu/releases/18.04/release/lubuntu-18.04-alternate-amd64.iso

3.定制过程

Alternate ISO定制过程可参考:https://help.ubuntu.com/community/InstallCDCustomization

  1. 将ISO中内容复制出来
  2. 使用preseed文件修改debian-installer的行为:preseed文件为安装过程中的问题提前设置好答案,可以免去安装中手动选择的过程,能够实现全自动安装。参考:https://help.ubuntu.com/lts/installation-guide/amd64/apb.html
  3. 修改isolinux.cfg,让其识别自定义的preseed文件
  4. 修改grub.cfg,让其识别自定义的preseed文件
  5. 制作ISO,使用的工具为mkisofs
  6. 制作U盘启动,使用的工具为rufus,该工具仅有windows版,制作启动U盘时分区类型要选择"MBR",目标系统类型要选择"BIOS或uEFI"

4.将ISO中内容复制出来

#!/bin/bashUBUNTU_ISO=$1
DIR="$( cd "$( dirname "$0"  )" && pwd  )"
BUILD=$DIR/cd-image
TMP_DIR=$DIR/tmp-$DATE/ # tailing / is nessary so that rsync will work well# copy iso contents to build dir
mkdir -p $BUILD
mkdir -p $TMP_DIR
mount $UBUNTU_ISO $TMP_DIR
rsync -av $TMP_DIR $BUILD
umount $TMP_DIR
rm -rf $TMP_DIR

5.preseed文件

d-i debian-installer/locale string en_US
d-i debian-installer/language string en
d-i debian-installer/country string NL
d-i debian-installer/locale string en_GB.UTF-8
d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/toggle select No toggling
d-i netcfg/enable boolean false
d-i netcfg/choose_interface select auto
d-i netcfg/link_wait_timeout string 10
d-i netcfg/dhcp_timeout string 60
d-i netcfg/dhcpv6_timeout string 60
d-i netcfg/get_hostname string custom-host
d-i netcfg/get_domain string custom-domain
d-i netcfg/hostname string customhost
d-i netcfg/wireless_wep string
d-i hw-detect/load_firmware boolean true
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
d-i passwd/root-login boolean trued-i passwd/root-password password 123456
d-i passwd/root-password-again password 123456
d-i passwd/user-fullname string custom user
d-i passwd/username string custom
d-i passwd/user-password password 123456
d-i passwd/user-password-again password 123456
d-i passwd/user-uid string 1010
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
d-i clock-setup/utc boolean false
d-i time/zone string Asia/Shanghai
d-i clock-setup/ntp boolean true
d-i partman-auto/disk string /dev/sda
d-i partman-auto/choose_recipe select atomic
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm boolean true
d-i partman/default_filesystem string ext4
d-i partman/mount_style select uuid
d-i base-installer/install-recommends boolean false
d-i base-installer/kernel/image string linux-generic
d-i apt-setup/use_mirror boolean false
tasksel tasksel/first multiselect lubuntu-core lxde-core
d-i pkgsel/language-packs multiselect zh
d-i pkgsel/install-language-support boolean false
d-i pkgsel/update-policy select none
d-i pkgsel/updatedb boolean true
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev  string /dev/sda
d-i grub-installer/bootdev  string default
d-i finish-install/keep-consoles boolean true
d-i finish-install/reboot_in_progress note
d-i debian-installer/exit/poweroff boolean true

6.isolinux.cfg文件

default autoinstall
prompt 0
timeout 10
menu title Custom CD
menu background splash.png
menu color title 1;37;44 #c0ffffff #00000000 stdlabel autoinstall
menu label autoinstall - auto install customcd
kernel /install/vmlinuz
append initrd=/install/initrd.gz file=/cdrom/preseed/custom.seed boot=install debian-installer/locale=en_US console-setup/ask_detect=false keyboard-configuration/layoutcode=us automatic-ubiquity quiet splash --

7.grub.cfg文件

if loadfont /boot/grub/font.pf2 ; thenset gfxmode=autoinsmod efi_gopinsmod efi_ugainsmod gfxtermterminal_output gfxterm
fiset menu_color_normal=white/black
set menu_color_highlight=black/light-grayset timeout=30
menuentry "Install customcd" {set gfxpayload=keeplinux   /install/vmlinuz  file=/cdrom/preseed/custom.seed FRONTEND_BACKGROUND=original debian-installer/locale=en_US console-setup/ask_detect=false keyboard-configuration/layoutcode=us automatic-ubiquity quiet splash ---initrd  /install/initrd.gz
}
menuentry "Rescue a broken system" {set gfxpayload=keeplinux   /install/vmlinuz  rescue/enable=true ---initrd  /install/initrd.gz
}

8.制作ISO的命令

mkisofs -U -r -v -T -J -joliet-long -V "Custom CD" \-volset "Custom CD" \-A "Custom CD" -b isolinux/isolinux.bin \-c isolinux/boot.cat -no-emul-boot \-boot-load-size 4 -boot-info-table \-eltorito-alt-boot -iso-level 3 -allow-limited-size \-e boot/grub/efi.img -no-emul-boot \-o ./custom.iso ./cd-image/

Ubuntu ISO定制相关推荐

  1. ubuntu光盘定制化(在系统ISO里装自定义软件)

    本文主要介绍如何定制Ubuntu系统. 1.准备Ubuntu的原版ISO镜像文件 2. 在ubuntu系统里挂载原版镜像文件 mkdir /mnt/iso mount ubuntu.iso /mnt/ ...

  2. Ubuntu iso镜像文件写入U盘

    Ubuntu iso镜像文件写入U盘 Ubuntu iso镜像文件写入U盘方法 分步指南 命令行输入  usb-creator-gtk 如下: 3.Device 选择插入的U盘 4.image 选择镜 ...

  3. Cubic(Custom Ubuntu ISO Creator)创建自定义镜像

    关于Cubic Cubic(Custom Ubuntu ISO Creator)包含但不限于以下功能: 安装新软件包 删除现有的软件包 安装其他内核 添加更多背景壁纸 添加文件和文件夹 修改现有的IS ...

  4. 利用老毛桃pe启动U盘启动ubuntu.iso,完成ubuntu系统的安装

    1.双U盘,一个是老毛桃pe启动盘,可以启动grub4dos,加载了run模块,很好用(尤其是对不熟悉grub的小白) 2.大容量U盘存放ubuntu-desktop-i386.iso,U盘的格式是n ...

  5. ubuntu linux定制过程

    定制的组成部分 linux安装文件加载程序isolinu及其他相关信息.根文件系统镜像(Ramdisk).内核镜像.根文件系统四部分组成.安装过程由安装加载程序控制,直至完成后转入到挂载的根文件系统. ...

  6. Linux怎么更新镜像,利用 Zsync 更新已有的 Ubuntu ISO 镜像

    对! 是升级iso镜像, 不是升级系统. 从旧的镜像升级到新的镜像. 可能有点迟了~大家都down好了镜像~ 我现在才有心情和时间写blog哦~ 由alpha的iso升到正式版都可以. 呃~ 当然,估 ...

  7. 制作自定义Ubuntu ISO镜像

    respin可以直接将整个已经安装好的ubuntu系统做成ISO文件,respin的前身remastersys 发现已经不被维护了,官网网址也都没了,仔细去查资料发现已经被 linux respin替 ...

  8. Ubuntu ISO制作和安装

    1.首先打开UltraISO软件 2.点击"文件"->"打开"工具栏打开镜像文件工具,如图蓝色选中标志按钮,然后在打开的"打开ISO文件&quo ...

  9. Ubuntu iso下载地址(14、16、18)

    Ubuntu镜像,快速下载 ubuntu 14.04: http://mirrors.aliyun.com/ubuntu-releases/14.04/ ubuntu 16.04: http://mi ...

最新文章

  1. ACL 2020 亮点摘要
  2. 【编程题目】调整数组顺序使奇数位于偶数前面
  3. XAMPP Apache + MySQL + PHP + Perl
  4. 关于exprot 和expert default的区别
  5. java多线程新特性
  6. filter vue 循环_详解在Vue.js编写更好的v-for循环的6种技巧
  7. Cacti监控mysql数据库server实现过程
  8. python tkinter grid布局
  9. Eclipse离线安装包官方下载地址
  10. 甘特图怎么做项目进度计划
  11. JS信用卡真实利率计算器
  12. Axure 网站后台-能源管理系统 rp 9原模板代码下载
  13. \u5168\u56fd\u7f8e\u5bb9\u5927\u592b数据采集数据(\u82b1\u5bb9\u7f51 huaroo 公开数据),爬虫120例之26例
  14. 《论文写作》课程感想
  15. 知道创宇云防御平台通过2021上半年可信云安全运营中心能力评估
  16. 阴阳师服务器维护2月20,阴阳师2019年3月20日更新内容 阴阳师手游3月20日维护更新公告...
  17. 程序员白piao服务器。大派送
  18. 计算机学猫叫音乐,抖音学猫叫音乐 抖音学猫叫什么歌
  19. 美工(一)网页颜色搭配技巧 文字字体、字号、字体排版等
  20. 一个陌生女人的来信-未完不续

热门文章

  1. 比较TTL集成电路与CMOS集成电路
  2. 陈文俊 计算机科学,2019年丘成桐中学科学奖总决赛获奖结果揭晓!
  3. Android应用优化之流畅度优化实操
  4. 工程师解说raid6结构和原理
  5. 基于金字塔模型的自动化测试设计
  6. 利用Sulley测试easyftp服务器
  7. 【论文阅读】 BPR: Bayesian Personalized Ranking from Implicit Feedback
  8. hbase数据库scan操作_HBase最佳实践之Scan
  9. ABtest系统是什么?
  10. Facebook - 150亿张照片海量存贮架构