The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уменьшение размера стандартного 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
 
06.07.2007 , Источник: http://wiki.opennet.ru/LiveCD...
Ключи: livecd, cdrom, linux, ext3, fs, mount / Лицензия: CC-BY
Раздел:    Корень / Пользователю / CD, CD-R, DVD, AudioCD

Обсуждение [ RSS ]
  • 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)
     
     
  • 2.4, Кирилл (??), 18:52, 03/04/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Делал на FC8
     

  • 1.3, Кирилл (??), 18:46, 03/04/2008 [ответить]  
  • +/
    Не забудем предварительно:
    $ yum install squashfs-tools
     
  • 1.5, Кирилл (??), 11:46, 04/04/2008 [ответить]  
  • +/
    И на оф сайте не забудем HowTo глянуть:
    http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo
     
  • 1.6, Вадим (??), 12:56, 19/08/2009 [ответить]  
  • +/
    может быть инструкция уже устарела??
    Пробовал применить все вышесказанное к fedora-11-Live. Все хорошо, образ в конечном итоге собирается, но при попытке загрузки с полученного liveCD, ничего не происходит.
    Пробовал просто смонтировать образ liveCD командой mount (даже тут был косяк - надо было в параметрах mount указать параметр -t iso9660, иначе образ в конце не соберется), скопировать в отдельную папку и заново смонтировать, тогда все хорошо загружается...
    Но при выполнении всех этапов инструкции, как я уже говорил, образ собирается, но компьютер с него грузиться "не хочет". кто-нибудь реально разбирал/собирал образ liveCD?
    Все работает??
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру