1. 程式人生 > >ubuntu系統定製教程

ubuntu系統定製教程

1. 準備工作

  • 從官網下載目標版本ubuntu。測試時使用的是 ubuntu-16.04.3-desktop-amd64.iso檔案
  • 安裝squash檔案系統相關的壓縮和解壓縮工具:
    sudo apt-get install squashfs-tools

2. 解壓iso檔案

  • 建立工作目錄
    mkdir foo newiso
  • 掛載iso檔案
    sudo mount ubuntu-16.04.3-desktop-amd64.iso foo/
  • 拷貝檔案內容
    cp foo/. newiso/ -va
  • 解除安裝iso
    sudo umount foo/

3. 解壓filesystem.squashfs檔案

cd newiso
sudo unsquashfs casper/filesystem.squashfs
sudo mv squashfs-root ../

4. 切換檔案系統

  • 拷貝主機DNS配置
    cp /etc/resolv.conf squashfs-root/etc
  • 使用chroot進入新系統
    sudo chroot squashfs-root
  • 掛載proc檔案系統
    mount none /proc -t proc

5. 個性化定製

  • 安裝軟體: 使用安裝包安裝或apt安裝均可

  • 修改系統配置:直接修改對應的配置檔案後,儲存即可

  • 退出臨時根檔案系統
    exit


6. 壓縮新的檔案系統

  • 重新生成manifest
chmod +w newiso/casper/filesystem.manifest
sudo chroot squashfs-root dpkg-query -W --showformat='${Package} ${Version}\n' > newiso/casper/filesystem.manifest
exit
sudo cp newiso/casper/filesystem.manifest newiso/casper/filesystem.manifest-desktop
sudo sed -i '/ubiquity/d' newiso/casper/filesystem.manifest-desktop
sudo sed -i '/casper/d' newiso/casper/filesystem.manifest-desktop
  • 壓縮檔案系統
sudo rm newiso/casper/filesystem.squashfs
sudo mksquashfs squashfs-root newiso/casper/filesystem.squashfs
  • 生成md5校驗檔案
cd newiso
sudo rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
  • 生成iso檔案
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-16.04.3-desktop-amd64-custom.iso .