Як додати пакунки до Gentoo LceCD. HOWTO
- # mkdir -p /tmp/newlivecd/cd
- # mount -o loop ~/install-x86-minimal-2008.0.iso /mnt/cdrom
- # cp -R /mnt/cdrom/* /tmp/newlivecd/cd/
- # umount /mnt/cdrom
- # cd /tmp/newlivecd
- # unsquashfs ./cd/image.squashfs
- # ls
- # rm ./cd/image.squashfs
- # CFLAGS=""-O2 -march=i686 -pipe"" USE=""-*"" ROOT=./squashfs-root/ emerge mc
- # mksquashfs ./squashfs-root/ ./cd/image.squashfs -le
- # mkisofs -J -r -R -o newlivecd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./cd/
Необхоїдмо:
— Gentoo LiveCD (install-minimal)
- робоча система Gentoo
- Пакунки:
— sys-fs/squashfs-tools
— app-cdr/cdrkit
Для початку потрібно розпакувати образ (iso) готового LceCD куди-небудь в/tmp/newlivecd/cd
Це можна зробити або в MC «наступивши» на файл (як він це робить я не зрозумів),
або примонувати його з -o loop і скопіювати з нього файли.
# mkdir -p /tmp/newlivecd/cd
# mount -o loop ~/install-x86-minimal-2008.0.iso /mnt/cdrom
# cp -R /mnt/cdrom/* /tmp/newlivecd/cd/
# umount /mnt/cdrom
# cd /tmp/newlivecd
тепер потрібно розпакувати кореневу ФС з livecd, саме в нього chroot'буде initrd при завантаженні
# unsquashfs ./cd/image.squashfs
created 11102 files
created 872 directories
created 1685 symlinks
created 5138 devices
created 0 fifos
# ls
cd squashfs-root
архів нам більше не потрібен
# rm ./cd/image.squashfs
тепер можна встановлювати пакети.
CFLAGS - використовував ті, з якими був зібраний софт на install-x86-minimal-2008.0.iso
USE - прапори не потрібні, чим менше тим краще. (Можна додати до CFLAGS -Os)
ROOT - вказує куди саме portage встановлюватиме пакунки після компіляції
# CFLAGS=""-O2 -march=i686 -pipe"" USE=""-*"" ROOT=./squashfs-root/ emerge mc
…
Створюємо squashfs назад.
# mksquashfs ./squashfs-root/ ./cd/image.squashfs -le
Parallel mksquashfs: Using 2 processors
Creating little endian 3.1 filesystem on image.sauashfs, block size 131072.
[====================================================] 11658/11658 100%
Exportable Little endian filesystem, data block size 131072, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 56128.78 Kbytes (54.81 Mbytes)
37.91% of uncompressed filesystem size (148057.62 Kbytes)
Inode table size 149825 bytes (146.31 Kbytes)
27.58% of uncompressed inode table size (543231 bytes)
Directory table size 144473 bytes (141.09 Kbytes)
54.29% of uncompressed directory table size (266093 bytes)
Number of duplicate files found 2151
Number of inodes 19010
Number of files 11297
Number of fragments 695
Number of symbolic links 1689
Number of device nodes 5138
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 886
Number of uids 3
root (0)
nobody (65534)
ntp (123)
Number of gids 16
disk (6)
audio (18)
cdrom (19)
tty (5)
video (27)
floppy (11)
dialout (20)
kmem (9)
lp (7)
tape (26)
unknown (407)
wheel (10)
utmp (406)
portage (250)
root (0)
uucp (14)
Тепер можна це все запхати назад в iso-образ і завантажитися з нього.
# mkisofs -J -r -R -o newlivecd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./cd/
install-x86-minimal-2008.0-with-mc-and-stage3.iso
Стаття написана BuriK666. Публікую так-як у нього зараз негативна карма.



