Уменьшение размера стандартного 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"
Если нужно создать какие-то директории или произвести действия в момент старта 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/mksquashfs 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
|
|
|
|
Раздел: Корень / Пользователю / CD, CD-R, DVD, AudioCD |
1.1, Guest (??), 03:42, 11/10/2007 [ответить]
| +/– |
1. ksquashfs = mksquashfs
2. Don't forget: /usr/lib/anaconda-runtime/implantmd5sum live.iso
| |
1.2, Кирилл (??), 18:23, 03/04/2008 [ответить]
| +/– |
А автору респект.
$ rpm --rebuilddb
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db3 - (-30974)
| |
1.3, Кирилл (??), 18:46, 03/04/2008 [ответить]
| +/– |
Не забудем предварительно:
$ yum install squashfs-tools
| |
1.6, Вадим (??), 12:56, 19/08/2009 [ответить]
| +/– |
может быть инструкция уже устарела??
Пробовал применить все вышесказанное к fedora-11-Live. Все хорошо, образ в конечном итоге собирается, но при попытке загрузки с полученного liveCD, ничего не происходит.
Пробовал просто смонтировать образ liveCD командой mount (даже тут был косяк - надо было в параметрах mount указать параметр -t iso9660, иначе образ в конце не соберется), скопировать в отдельную папку и заново смонтировать, тогда все хорошо загружается...
Но при выполнении всех этапов инструкции, как я уже говорил, образ собирается, но компьютер с него грузиться "не хочет". кто-нибудь реально разбирал/собирал образ liveCD?
Все работает??
| |
|