LiveCD с Fedora 7
Материал из OpenWiki
Заметки по модификации LiveCD с Fedora 7
Задача ужать стандартный GNOME-LiveCD Fedora7 до 400 Мб. Ниже журнал действий, чтобы не забыть.
1. Извлекаем из iso образа LiveCD squashfs.img.
mount -o loop ./Fedora-7-Live-i686.iso /mnt/cdrom копируем все в отдельную директорию директорию /mnt/disk/LiveCD/newcd umount /mnt/cdrom
2. Монтируем squashfs.img и извлекаем из него os.img
mount -o loop -t squashfs /mnt/disk/LiveCD/newcd/squashfs.img /mnt/cdrom копируем содержимое в /mnt/disk/LiveCD/new_ext3 umount /mnt/cdrom
3. Монтируем ext3 образ /mnt/disk/LiveCD/new_ext3/os.img
mount -o loop /mnt/disk/LiveCD/new_ext3/os.img /mnt/disk/LiveCD/new_ext3/sysroot
4. Удаляем лишнее и устанавливаем недостающее.
chroot /mnt/disk/LiveCD/new_ext3/sysroot /bin/sh su - mount /proc mount /sys rm -rf /usr/share/doc в /usr/share/locale/ - оставляем только русские и английские локали cd /usr/share/icons; rm -rf Bluecurve gnome В /usr/share/pixmaps заменяем недостающее, чистим pixmaps/backgrounds/ копируем свою фоновую картинку cp background.jpg /usr/share/gdm/themes/FedoraFlyingHigh cp background.jpg /usr/share/backgrounds/images/default.jpg Чистим /usr/share/backgrounds Удаляем пакеты с китайскими шрифтами: rpm -e fonts-chinese fonts-arabic fonts-korean fonts-japanese Если rpm ругается, делаем "rpm --rebuilddb" Заменяем букмарки firefox в /usr/share/bookmarks/default-bookmarks.html и в настройках /usr/lib/firefox-2.0.0.3/defaults/pref ставим например user_pref("browser.startup.page", 0); Если нужно создать какие-то директории или произвести действия в момент старта livecd правим fedora-live в /etc/rc.d/init.d Ставим желаемые пакеты, напирмер, конфигуратор PPTP: rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/fc7/pptp-release-current.noarch.rpm yum --enablerepo=pptp-stable install pptpconfig .... umount /proc umount /sys
5. После приведения os.img в нужный вид, создаем новый пустой os.img и копируем содержимое старого (нужно забить образ нулями, чтобы он лучше сжался, иначе изменения будут только в метаданных и итоговый образ squashfs после сжатия получиться больше чем начальный).
cd mnt/disk/LiveCD/new_ext3 dd if=/dev/zero of=new_os.img bs=1k count=4096k /sbin/mkfs.ext3 -F -L "LiveCD" -m 1 new_os.img /sbin/tune2fs -c0 -i0 -Odir_index -ouser_xattr,acl new_os.img Монтируем новый образ mkdir /mnt/disk/LiveCD/new_ext3/new_sysroot mount -o loop ./new_os.img /mnt/disk/LiveCD/new_ext3/new_sysroot Копируем содержимое старого через rsync, чтобы сохранить расширенные атрибуты файлов. rsync -a -v --acls --xattrs --hard-links /mnt/disk/LiveCD/new_ext3/sysroot /mnt/disk/LiveCD/new_ext3/new_sysroot незабываем размонтировать и переименовать новый образ umount /mnt/disk/LiveCD/new_ext3/sysroot umount /mnt/disk/LiveCD/new_ext3/new_sysroot rm /mnt/disk/LiveCD/new_ext3/new_sysroot mv /mnt/disk/LiveCD/new_ext3/new_os.img /mnt/disk/LiveCD/new_ext3/os.img
6. Сжимаем ext3 образ
rm /mnt/disk/LiveCD/newcd/squashfs.img cd /mnt/disk/LiveCD/new_ext3/ /sbin/ksquashfs os.img sysroot /mnt/disk/LiveCD/newcd/squashfs.img
7. Создаем iso обаз для записи на CD:
mkisofs -o live.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -r -hide-rr-moved -V "Fedora-7-Live-i386" /mnt/disk/LiveCD/newcd/ Если появится желание изменить метку диска Fedora-7-Live-i386, не забудьте поменять ее в isolinux/isolinux.cfg