Je suis basé en Inde et nous n’avons pas d’Internet fiable partout. J'aimerais créer un fichier ISO d'installation d'Ubuntu avec les fonctionnalités suivantes:
Comment puis-je construire quelque chose comme ça? -
Testez ceci: Personnalisez le CD de bureau Ubuntu. Installez les outils nécessaires.
Sudo su
apt-get install squashfs-tools genisoimage
Téléchargez un CD officiel à partir de http://releases.ubuntu.com/ Copiez-le dans un répertoire vide
mkdir ~/livecdtmp
mv ubuntu-14.04.1-desktop-i386.iso ~/livecdtmp
cd ~/livecdtmp
Monter le bureau .iso
Sudo su
mkdir mnt
mount -o loop ubuntu-14.04.1-desktop-i386.iso mnt
Extraire le contenu .iso dans le répertoire 'extract-cd'
Sudo su
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Extraire le système Desktop et le système de fichiers SquashFS
Sudo su
unsquashfs mnt/casper/filesystem.squashfs
mv squashfs-root edit
Préparer et chroot
Sudo su
cp /etc/resolv.conf edit/etc/
cp /etc/hosts edit/etc/
mount --bind /dev/ edit/dev
chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C
Personnalisations Avant d'installer ou de mettre à niveau des packages, vous devez exécuter
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
Supprimer, installer et mettre à jour les paquets.
Si vous avez modifié le noyau, les scripts d'initialisation ou ajouté de nouveaux modules, vous devez reconstruire le fichier initrd.lz et le remplacer dans le répertoire casper.
Sudo su
chroot edit mkinitramfs -o /initrd.gz 3.13.0-25-generic
(remplacez la version du noyau par celle avec laquelle le CD va démarrer - cela se trouve dans edit/lib/modules)
Quittez la prison chroot et déplacez ce fichier vers extract-cd/casper:
exit
mv edit/initrd.lz extract-cd/casper/
Supprimez tous les fichiers temporaires qui ne sont plus nécessaires.
apt-get clean
Or
rm -rf /tmp/* ~/.bash_history
Si vous avez installé le logiciel, assurez-vous de lancer
rm /var/lib/dbus/machine-id
&
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl
Démontez les systèmes de fichiers spéciaux et quittez chroot
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
Sudo su
umount edit/dev
Produire l'image du CD et compresser le système de fichiers
Sudo su
chmod +w extract-cd/casper/filesystem.manifest
chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest
cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
rm extract-cd/casper/filesystem.squashfs
mksquashfs edit extract-cd/casper/filesystem.squashfs -comp xz -e edit/boot
printf $(Sudo du -sx --block-size=1 edit | cut -f1) > extract-cd/casper/filesystem.size
nano extract-cd/README.diskdefines
cd extract-cd
rm md5sum.txt
find -type f -print0 | Sudo xargs -0 md5sum | grep -v isolinux/boot.cat | Sudo tee md5sum.txt
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-14.04.1-desktop-i386-custom.iso .
Graver l'image sur un CD
cdrecord dev=/dev/cdrom ubuntu-14.04.1-desktop-i386-custom.iso