Pull to refresh

Как добавить пакеты в Gentoo LiveCD. HOWTO

Reading time 2 min
Views 2.2K
Как добавить пакеты в Gentoo LiveCD. HOWTO
Необхоидмо:
— Gentoo LiveCD (install-minimal)
— рабочая Gentoo система
— Пакеты:
— sys-fs/squashfs-tools
— app-cdr/cdrkit


Для начала нужно распаковать образ (iso) готового LiveCD куда-нибудь в /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. Публикую так-как у него сейчас отрицательная карма.
Tags:
Hubs:
+3
Comments 4
Comments Comments 4

Articles