Форум сообщества Runtu.org
Июль 16, 2018, 11:44:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Новости: Доступна для загрузки релизная версия дистрибутива Runtu LITE 18.04 - 201805

Подробнее
   Начало   Помощь Поиск Войти Регистрация  
Страниц: « 1 2 3 4 5 6 7 8 9 10  Все   Вниз
  Печать  
Автор Тема: Создание live-cd Ubuntu  (Прочитано 67843 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sfs
Местный
*****
Online Online

Сообщений: 616


WWW
« Ответ #135 : Август 17, 2015, 10:25:05 »

2) После создания образа системы в виде готового .iso вес поправился на 200 Мб! Хотя в данном случае я ничего не устанавливал и не обновлял (chroot делал только чтобы понять когда создаётся мой профиль в создаваемой системе)
Чудес не бывает. Или что-то добавилось или Вы делали squash c меньшей компрессией
Попробуйте:
Код:
mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -b 512K -comp xz -Xbcj x86 -noappend
« Последнее редактирование: Август 17, 2015, 10:27:41 от sfs » Записан

artec
Новичок
**
Offline Offline

Сообщений: 33


« Ответ #136 : Август 20, 2015, 12:12:48 »

sfs,
так и есть), запуск был с маленькой компрессией (я ещё подумал что-то уж слишком быстро комп запаковывает файл)...хорошо бы данную вами команду в шапку добавить.
« Последнее редактирование: Август 20, 2015, 12:47:08 от artec » Записан
sfs
Местный
*****
Online Online

Сообщений: 616


WWW
« Ответ #137 : Август 20, 2015, 14:12:50 »

Шапку может менять только автор или админы
Тогда уж и chroot-ить лучше так
Код:
[ ! "$1" ] && echo "Use $0 chroot-dir" && exit
chroot="$1"
[ "$1" ] || exit
mkdir -p "$chroot"/proc.
mkdir -p "$chroot"/sys
mkdir -p "$chroot"/dev
 mount -t proc none "$chroot"/proc
 mount -t sysfs none "$chroot"/sys
 mount -o bind /dev "$chroot"/dev
 mount -o bind /dev/pts "$chroot"/dev/pts
 chroot "$chroot" bash

umount "$chroot"/proc
umount "$chroot"/dev/pts
umount "$chroot"/dev
umount "$chroot"/sys

Собственно вопрос - как сделать чтоб с флешки можно было устанавливать новоиспечённую ОС?
1. Гибридный iso
2. Распаковать iso, установить на флэшку grub(4dos|2) и настроить параметры загрузки live
Пример для grub4dos
Код:
title              - live
find      --set-root /casper/vmlinuz
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash -- locale=ru_RU bootkbd=ru console-setup/layoutcode=ru
initrd    /casper/initrd.gz

title              - install
kernel /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity only-ubiquity  ro quiet splash -- locale=ru_RU bootkbd=ru console-setup/layoutcode=ru
initrd=/casper/initrd.gz

title "Ubuntu Live iso"  
loopback loop /iso/easypeasy-1.5.img.iso
kernel (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/easypeasy-1.5.img.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
grub2
Код:
menuentry '  runtu iso live persistent' {
 set isopath='/_iso/runtu.iso'
 search --file ${isopath} --set=root
 loopback loop ${isopath}
 linux (loop)/casper/vmlinuz boot=casper persistent iso-scan/filename=${isopath} noeject noprompt locale=ru_RU bootkbd=ru console-
 initrd (loop)/casper/initrd.lz
}



« Последнее редактирование: Август 20, 2015, 14:32:04 от sfs » Записан

artec
Новичок
**
Offline Offline

Сообщений: 33


« Ответ #138 : Август 26, 2015, 14:58:56 »

sfs,
спасибо за помощь, насчёт создания флешки - с unetbootin как не странно легко всё идёт).
Сейчас пытаюсь создать сборку из готового зарубежного дистриба, и вот незадача после введения команды "cp /etc/resolv.conf ubuntu-source/etc/"  терминал выдаёт такое:
Код:
cp: запись через повисшую ссылку «ubuntu-source/etc/resolv.conf» не выполняется
Не подскажите, что это может быть и как исправить? Буду признателен за помощь
Записан
sfs
Местный
*****
Online Online

Сообщений: 616


WWW
« Ответ #139 : Август 26, 2015, 15:26:13 »

Код:
sudo rm ubuntu-source/etc/resolv.conf  && sudo cp /etc/resolv.conf ubuntu-source/etc/
Записан

artec
Новичок
**
Offline Offline

Сообщений: 33


« Ответ #140 : Август 26, 2015, 15:50:45 »

sfs, ну что сказать, спасибо разве что Улыбающийся. Буду дальше колупать дистро).
Записан
artec
Новичок
**
Offline Offline

Сообщений: 33


« Ответ #141 : Сентябрь 04, 2015, 12:12:43 »

Ребят, пожалуйста, помогите, кто силён, создать скрипт для создания дистрибутива Runtu Xfce на основе UCK. Преимущество UCK, насколько я понимаю, в том что на выходе создаётся гибридный ISO. К тому же есть вариант менять способ компрессии.
Оригинальный скрипт показан здесь - http://www.helplinux.ru/wiki/kb:ubuntu-livecd-customization, но как его сделать лучше, расширенней, практичней и работающим не только (и нестолько) для aptitude (mint), но и для ubuntu? Очень надеюсь что вы откликнитесь, возможно поддержите моё начинание). Пока вот копия скрипта, но я не знаю как заставить его правильно работать на ubuntu 14.04, увы.
Спойлер  скрыт:
Код:
#!/bin/bash

# get configuration from the file
[ -n "$1" ] && [ -f "$1" ] && source "$1" || exit 1

# prepare
trap "exit 1" INT
ISOMNTDIR=$LIVEDIR/mnt
EXTRACTDIR=$LIVEDIR/extract-cd
EDITDIR=$LIVEDIR/edit
ENV_KEEP="http_proxy https_proxy ftp_proxy"
sudo aptitude install -y squashfs-tools genisoimage || exit 1

# mount livecd
mkdir $LIVEDIR && cd $LIVEDIR || exit 1
mkdir $ISOMNTDIR || exit 1
sudo mount -o loop $ISODIR/ubuntu-${VERSION}.iso $ISOMNTDIR || exit 1

# extract squashfs
mkdir $EXTRACTDIR || exit 1
rsync --exclude=/casper/filesystem.squashfs -a $ISOMNTDIR/ $EXTRACTDIR
sudo unsquashfs $ISOMNTDIR/casper/filesystem.squashfs || exit 1
sudo mv squashfs-root $EDITDIR

# umount livecd
sudo umount $ISOMNTDIR

# copy resolv.conf
sudo cp /etc/resolv.conf $EDITDIR/etc/

# mount dev
sudo mount --bind /dev/ $EDITDIR/dev

# configure new live cd
[ -n "$PROXY" ] && echo -en "$PROXY" | sudo tee -a $EDITDIR/etc/environment && \
    echo -e "\nDefaults env_keep = \"$ENV_KEEP\"" | sudo tee -a $EDITDIR/etc/sudoers
[ -n "$TIMEZONE" ] && echo "TZ=$TIMEZONE" | sudo tee -a $EDITDIR/etc/environment

# create customization script and run it in chroot
cat > $EDITDIR/tmp/customize.sh << EOF
#!/bin/bash

# mount proc, sysfs, devpts
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts

# prepare choot
export HOME=/root
export LC_ALL=en_US.UTF-8
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

# install packages
( which software-properties-gtk && software-properties-gtk -e universe && software-properties-gtk -e multiverse ) || \
( which software-properties-kde && software-properties-kde -e universe && software-properties-kde -e multiverse ) || \
sudoedit /etc/apt/sources.list
aptitude update
[ "$UPTODATE" -eq "1" ] && DEBIAN_FRONTEND=noninteractive aptitude full-upgrade -y
aptitude install -Ry $PACKAGES

# clean
aptitude clean
rm -rf /tmp/* ~/.bash_history
rm /etc/resolv.conf
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

# umount proc, sysfs, devpts
umount /proc
umount /sys
umount /dev/pts

# exit from chroot
exit
EOF

# make customization script executable
chmod +x $EDITDIR/tmp/customize.sh

# chroot and run customization script
sudo chroot $EDITDIR su -lc /tmp/customize.sh

# umount dev
sudo umount $EDITDIR/dev

# regenerate manifest
chmod +w $EXTRACTDIR/casper/filesystem.manifest
sudo chroot $EDITDIR dpkg-query -W --showformat='${Package} ${Version}\n' > $EXTRACTDIR/casper/filesystem.manifest
sudo cp $EXTRACTDIR/casper/filesystem.manifest $EXTRACTDIR/casper/filesystem.manifest-desktop
sudo sed -i '/ubiquity/d' $EXTRACTDIR/casper/filesystem.manifest-desktop
sudo sed -i '/casper/d' $EXTRACTDIR/casper/filesystem.manifest-desktop

# compress filesystem
[ -f $EXTRACTDIR/casper/filesystem.squashfs ] && \
     sudo rm $EXTRACTDIR/casper/filesystem.squashs
sudo mksquashfs $EDITDIR $EXTRACTDIR/casper/filesystem.squashfs -b 512K -comp xz -Xbcj x86 -noappend

# set an image name in $EXTRACTDIR/README.diskdefines
sudo sed -ri "s/(#define DISKNAME .*)/\1 $RELEASE_NAME/" $EXTRACTDIR/README.diskdefines

# remove old md5sum.txt and calculate new md5 sums
cd $EXTRACTDIR
sudo rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt

# create iso
sudo mkisofs -D -r -V "$Xubuntu-ru-14.04.3" -cache-inodes -J -l -b \
    isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \
    -boot-load-size 4 -boot-info-table -o \
    "../ubuntu-$14.04.3-$Xubuntu-ru-$(date +%F).iso" .
Преимущество скрипта: создаёт гибридный образ, высокая степень компрессии (актуально для больших iso).
Запуск:
 Необходимо загрузиться с LiveCD (хотя с LiveCD вовсе необязательно).
    Примонтировать файловую систему ext3 или ext4, на которой свободно хотябы 5Gb.
    Сделать себя владельцем директории в которой будем собирать новый образ ($LIVEDIR).
    Изменить config_example под свои нужды.
    Запустить: ./ubuntu-iso-customization.sh config_example
    Результат: по окончанию сборки новый ISO образ будет находиться в директории $LIVEDIR
Тут ещё должен был быть файл конфигурации (config_example), пока думаю что туда должно входить.
Можно доработать скрипт...было бы неплохо...
Записан
sfs
Местный
*****
Online Online

Сообщений: 616


WWW
« Ответ #142 : Сентябрь 04, 2015, 12:44:40 »

Как сделать гибрид
Остальное делаю руками : unsquashfs + chroot.sh (см.выше) + apt-get install(purge) + mksquashfs
Записан

Страниц: « 1 2 3 4 5 6 7 8 9 10  Все   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Valid XHTML 1.0! Valid CSS!