Lazarus project

Текущее время: 31 окт 2020, 22:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Создание своей сборки Ubuntu
СообщениеДобавлено: 28 июн 2012, 10:54 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 21 сен 2011, 21:49
Сообщений: 374
Cпасибо сказано: 25
Спасибо получено:
188 раз в 141 сообщениях
Подготовка
Во время сборки часто придется выполнять команды с правами рута, поэтому сразу выполним:
Код:
sudo -s


Создадим папку, в которой и будем проводить все работы
Код:
mkdir ~/MyUbuntu
cd ~/MyUbuntu


Сделаем папку, в которую скопируем все файлы с образа компакт-диска убунты
Код:
mkdir myubuntu_iso
mount -o loop /путь/до/образа.iso /mnt
rsync -a /mnt/ myubuntu_iso
umount /mnt


А вот и пришло время распаковать уже сам squashfs-образ livecd, который из себя представляет корневую файловую систему убунты
Код:
unsquashfs myubuntu_iso/casper/filesystem.squashfs
mv squashfs-root myubuntu_root


Вход в chroot-окружение
Теперь можно приступить к изменениям. Для этого надо использовать chroot
Код:
mv myubuntu_root/etc/hosts myubuntu_root/etc/hosts.back
cp /etc/hosts myubuntu_root/etc/
cp /etc/resolv.conf myubuntu_root/etc/
chroot myubuntu_root


Следующие команды необходимы для нормальной работы некоторых утилит в chroot-окружении, в частности — для самого apt-get, aptitude или synaptic
Код:
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl


Теперь есть возможность пользоваться консольными утилитами, как и в обычной убунте (nano, vi, apt-get, aptitude, gconftool-2, mv, cp и так далее)

Работа в chroot-окружении (установка пакетов, настройка и т. п.)
Если же хочется воспользоваться графическими утилитами (такими как synaptic, наприме), то в другом терминале запустите эту команду:
Код:
Xnest -ac :1


Этот пакет в системе не установлен, нужно установить заранее sudo apt-get install xnest
И у вас появится окошко, в котором и будут работать гуишные проги. В самом-же chroot-окружении нужно указать монитор (то самое окошко xnest’а):
Код:
export DISPLAY=localhost:1


И дальше уже можно спокойно запускать synaptic и т. п. Чтобы были рамки окон, тогда еще надо:
Код:
metacity &synaptic


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

Выход из chroot-окружения
После проделанных изменений, нужно удалить временные файлы, отмонтировать фс и т. п.:
Код:
aptitude clean
rm -rf /tmp/* ~/.bash_history
rm /etc/hosts
mv /etc/hosts.back /etc/hosts
rm /etc/resolv.conf
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl
umount /proc
umount /sys
umount /dev/pts
exit


Подготовка ISO-образа
Если мы изменили состав ПО в сборке, то надо выполнить следующие команды, которые сделают новые списки пакетов:
Код:
chmod +w myubuntu_iso/casper/filesystem.manifest
chroot myubuntu_root dpkg-query -W --showformat='${Package} ${Version}\n' > myubuntu_iso/casper/filesystem.manifest
cp myubuntu_iso/casper/filesystem.manifest myubuntu_iso/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' myubuntu_iso/casper/filesystem.manifest-desktop
sed -i '/casper/d' myubuntu_iso/casper/filesystem.manifest-desktop


Собственно, файлы *.manifest — это список пакетов в системе и файл filesystem.manifest-desktop — это файл только тех пакетов, которые буду устанавливаться на комп. То есть, если вы хотите оставить пакет на livecd, но сделать так, чтобы он не ставился на компьютер во время установки, то просто удалите его упоминание в этом файле.
Если вы поменяли или обновили ядро в chroot-окружении, то это же ядро надо скопировать на сам диск, чтобы могли грузиться модули. Например:
Код:
cp myubuntu_root/boot/vmlinuz-2.6.32-22-generic myubuntu_iso/casper/vmlinuz
cp myubuntu_root/boot/initrd.img-2.6.32-22-generic myubuntu_iso/casper/initrd.gz
gzip -dc myubuntu_iso/casper/initrd.gz | sudo lzma -7 > myubuntu_iso/casper/initrd.lz


Теперь необходимо запаковать корневую файловую систему обратно в squashfs-образ:
Код:
rm myubuntu_iso/casper/filesystem.squashfs
mksquashfs myubuntu_root myubuntu_iso/casper/filesystem.squashfs


Так как в составе диска убунты поменяли файлы, нужно пересоздать файл md5sum.txt
Код:
cd myubuntu_iso
rm md5sum.txt
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt


И можно уже приступить к созданию самого iso-образа:
Код:
mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../mylinuxmint.iso .


Авторство неизвестно. Оригинал статьи недоступен.


Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Lazarus "Спасибо" сказали:
ave999x, efen, Николай
 Заголовок сообщения: Создание своей сборки live-cd Debian & Ubuntu
СообщениеДобавлено: 31 янв 2013, 13:46 
Не в сети

Зарегистрирован: 31 янв 2013, 13:29
Сообщений: 1
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Здравствуйте!
Как создать свою сборку, вот создаю по примеру или еще пример Создание своей сборки live-cd Ubuntu с переводом на русский.
Устанавливаю XFCE окружение или любое, все загружается, все нормально, но вот установка
Изображение как видно из рисунка черный экран


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Создание своей сборки Ubuntu
СообщениеДобавлено: 24 дек 2013, 19:10 
Не в сети

Зарегистрирован: 02 дек 2013, 08:45
Сообщений: 7
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Lazarus
а по этому гайду все наработки в том числе и home сохранятся?


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Создание своей сборки Ubuntu
СообщениеДобавлено: 25 дек 2013, 08:11 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 21 сен 2011, 21:49
Сообщений: 374
Cпасибо сказано: 25
Спасибо получено:
188 раз в 141 сообщениях
Измененные конфиги следует разместить в /etc/skel - каталоге, который используется в качестве шаблона при создании нового пользователя.


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Создание своей сборки Ubuntu
СообщениеДобавлено: 25 дек 2013, 09:38 
Не в сети

Зарегистрирован: 02 дек 2013, 08:45
Сообщений: 7
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Не подскажите как это сделать, просто например remastersys что то не берет из /etc/skel ничего :( т.е. понять не могу как это происходит, при создании нового юзера добавляю его с префиксом -m но настройки хомяка не берутся.


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Создание своей сборки Ubuntu
СообщениеДобавлено: 26 дек 2013, 21:54 
Не в сети

Зарегистрирован: 02 дек 2013, 08:45
Сообщений: 7
Cпасибо сказано: 0
Спасибо получено:
0 раз в 0 сообщении
Lazarus писал(а):
Измененные конфиги следует разместить в /etc/skel - каталоге, который используется в качестве шаблона при создании нового пользователя.

Lazarus какие именно файлы и только ли файлы, а может и каталоги из хомяка надо поместить туда?


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Создание своей сборки Ubuntu
СообщениеДобавлено: 30 дек 2013, 08:22 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 21 сен 2011, 21:49
Сообщений: 374
Cпасибо сказано: 25
Спасибо получено:
188 раз в 141 сообщениях
Сейчас уже на вскидку не скажу, linux под рукой нет. Лучше скачайте одну из сборок под свой рабочий стол, изучите содержимое искомой папки.


Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB