LINUX.ORG.RU

Добавить файл в minimal cd

 


0

1

Мне нужно воткнуть в него свой простенький установочный скрипт (один файл).

В minimal как я понял из темы http://www.gossamer-threads.com/lists/gentoo/user/88338 так просто файл не добавить, нужно использовать пакет app-admin/livecd-ng из самой Дженты, которой у меня нет.

Использовать альтернативный дистрибутив вроде slitaz? Какой из них позволяет добавить файл в свой ISO и как это сделать?

из самой Дженты, которой у меня нет.

ну калькулятор скачай. Да, и не понятно зачем тебе пихать этот файл в образ.

sumrak_ss ★★
()
Ответ на: комментарий от ksevelyar

Калькулятор? Чтобы установить Дженту одной командой.

Ну ясно все с вами.

sumrak_ss ★★
()

так просто файл не добавить, нужно использовать пакет app-admin/livecd-ng из самой Дженты, которой у меня нет.

Почему это не добавить ? Gentoo minimal-cd построен с использованием syslinux в качестве загрузчика и squashfs+xz для сжатия образа корневого раздела.

Не нужно ни каких специальных 'app-admin/livecd-ng', распаковываете squashfs образ, 'IMAGE.SQUASHFS', помещаете в него свой установочный скрипт, запаковываете обратно, с помощью mkisofs создаёте iso образ, в интренете почитайте как создавать загрузочные образы с использованием syslinux. Загрузчик можете и другой поставить, хоть grub.

kostik87 ★★★★★
()

squashfs

В свое вермя делал через него. Хотел добавить на диск mc и несколько утилит. Получилось.

soomrack ★★★★★
()
Ответ на: комментарий от ksevelyar

Зачем вам тогда minimal-cd ? Используйте systemrescuecd, он собран на базе Gentoo, но там есть midnight commander и графическая оболочка (X server), запускаемая по необходимости.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

MC и пара других утилит мне бы не помешали, но маленький размер minimal приоритетнее. В принципе все эти утилиты нужны только если автоматическая установка провалилась.

А установочный диск с графической оболочкой и нужными утилитами я уже соберу из Дженты. Чтобы там выбрать всё — графическую оболочку, пакеты и т.д.

ksevelyar
() автор топика
Ответ на: комментарий от kostik87

В общем получилось добавить скрипт, спасибо.

Может кому на будущее пригодится:

#cdrtools
#squashfs-tools

rep='https://raw.github.com/ksevelyar/linux-desktop/master'
gentoo_mirror='http://mirror.yandex.ru/gentoo-distfiles'

amd64_minimal=$(curl -s $gentoo_mirror/releases/amd64/autobuilds/current-iso/ \
| grep -o \"install-amd64-minimal.*.iso\" | sed s/\"//g)

wget -cP /tmp/ $gentoo_mirror/releases/amd64/autobuilds/current-iso/$amd64_minimal


mkdir /mnt/minimal_original
modprobe loop
mount -t iso9660 -o loop /tmp/$amd64_minimal /mnt/minimal_original

mkdir /tmp/minimal_custom
cp -a /mnt/minimal_original/* /tmp/minimal_custom

umount /mnt/minimal_original
rm -r  /mnt/minimal_original 

cd /tmp/minimal_custom
unsquashfs image.squashfs

rm image.squashfs

## CUSTOMIZATION ##

#password
sed -i 's/^PASSWD="yes"/PASSWD="no"\nPASSWORD="gentoo"/' squashfs-root/etc/init.d/autoconfig

#dhcp
sed -i 's/^DHCP="no"/DHCP="yes"/' squashfs-root/etc/init.d/autoconfig

#ssh
sed -i 's/^SSHD="no"/SSHD="yes"/' squashfs-root/etc/init.d/autoconfig

wget -cP squashfs-root/root/ $rep/gentoo/gentoo_install.sh

chmod +x squashfs-root/root/gentoo_install.sh

mksquashfs squashfs-root image.squashfs

rm -rf squashfs-root

mkisofs -R -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -hide-rr-moved -c isolinux/boot.cat -o /tmp/gentoo-amd64-minimal.iso .

rm -rf /tmp/minimal_custom

ls -lh /tmp/gentoo-amd64-minimal.iso
ksevelyar
() автор топика
Ответ на: комментарий от ksevelyar

Вместо:

amd64_minimal=$(curl -s $gentoo_mirror/releases/amd64/autobuilds/current-iso/ \
| grep -o \"install-amd64-minimal.*.iso\" | sed s/\"//g)

wget -cP /tmp/ $gentoo_mirror/releases/amd64/autobuilds/current-iso/$amd64_minimal
можно просто:
gentoo_mirror='ftp://ftp.yandex.ru/gentoo-distfiles'
wget $gentoo_mirror/releases/amd64/autobuilds/current-iso/*.iso

Там один iso образ, но протокол должен быть ftp, а не http.

kostik87 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.