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