私はインドに拠点を置いており、どこにも信頼できるインターネットがありません。次の機能を備えたUbuntuインストーラーISOを構築したいと思います。
このようなものを構築するにはどうすればよいですか? -
テスト:UbuntuデスクトップCDをカスタマイズする必要なツールをインストールする
Sudo su
apt-get install squashfs-tools genisoimage
http://releases.ubuntu.com/ から公式のデスクトップCDをダウンロードします。空のディレクトリにコピーします。
mkdir ~/livecdtmp
mv ubuntu-14.04.1-desktop-i386.iso ~/livecdtmp
cd ~/livecdtmp
デスクトップ.isoをマウントする
Sudo su
mkdir mnt
mount -o loop ubuntu-14.04.1-desktop-i386.iso mnt
.isoコンテンツをdir 'extract-cd'に抽出します
Sudo su
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
デスクトップシステムとSquashFSファイルシステムを抽出する
Sudo su
unsquashfs mnt/casper/filesystem.squashfs
mv squashfs-root edit
準備と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
カスタマイズパッケージをインストールまたはアップグレードする前に、実行する必要があります
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
パッケージの削除、インストール、アップグレード。
カーネル、initスクリプトを変更した、または新しいカーネルモジュールを追加した場合は、initrd.lzファイルを再構築し、それをcasperディレクトリに置き換える必要があります。
Sudo su
chroot edit mkinitramfs -o /initrd.gz 3.13.0-25-generic
(カーネルバージョンをCDでブートするバージョンに置き換えます-これはedit/lib/modulesにあります)
Chroot jailを終了し、このファイルをextract-cd/casperに移動します。
exit
mv edit/initrd.lz extract-cd/casper/
不要になった一時ファイルを削除します。
apt-get clean
Or
rm -rf /tmp/* ~/.bash_history
ソフトウェアをインストールした場合は、必ず実行してください
rm /var/lib/dbus/machine-id
&
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl
特別なファイルシステムをアンマウントし、chrootを終了します
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
Sudo su
umount edit/dev
CDイメージの作成とファイルシステムの圧縮
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 .
イメージをCDに書き込む
cdrecord dev=/dev/cdrom ubuntu-14.04.1-desktop-i386-custom.iso