Создание собственного дистрибутива на базе Ubuntu с нуля Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
wiki:дистрибутив_на_базе_ubuntu_вручную [2014/04/24 23:08]
[Вычисление MD5]
wiki:дистрибутив_на_базе_ubuntu_вручную [2014/11/06 19:00]
[Инструкции при загрузке при создании Remix]
Строка 92: Строка 92:
 mount none-t sysfs /sys mount none-t sysfs /sys
 mount none-t devpts /dev/pts mount none-t devpts /dev/pts
-export HOME=/root+export HOME=/etc/skel
 export LC_ALL=C export LC_ALL=C
 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678 # Substitute " 12345678 " with the PPA's OpenPGP ID. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678 # Substitute " 12345678 " with the PPA's OpenPGP ID.
Строка 109: Строка 109:
 ln -s /bin/true /​sbin/​initctl ln -s /bin/true /​sbin/​initctl
 </​code>​ </​code>​
 +Если Вы этого не сделаете,​ то консоль выругается:​
 +<note warning>
 +<​code>​
 +initctl: Unable to connect to Upstart: Failed to connect to socket /​com/​ubuntu/​upstart:​ Connection refused
 +initctl: Unable to connect to Upstart: Failed to connect to socket /​com/​ubuntu/​upstart:​ Connection refused
 +start: Unable to connect to Upstart: Failed to connect to socket /​com/​ubuntu/​upstart:​ Connection refused
 +invoke-rc.d:​ initscript systemd-logind,​ action "​start"​ failed.
 +dpkg: error processing package libpam-systemd:​i386 (--configure):​
 + ​subprocess installed post-installation script returned error exit status 1
 +Errors were encountered while processing:
 + ​libpam-systemd:​i386
 +E: Sub-process /​usr/​bin/​dpkg returned an error code (1)
 +
 +</​code>​
 +</​note>​
 Обновите пакеты,​ если хотите : Обновите пакеты,​ если хотите :
 <​code>​ <​code>​
Строка 154: Строка 169:
  
 <​code>​apt-get install ubiquity-frontend-kde</​code>​ <​code>​apt-get install ubiquity-frontend-kde</​code>​
 +===== Дополнительная подготовка =====
  
 +На данном этапе я расскажу,​ как создать файлы initrd.lz и casper-uuid-generic,​ необходимые для нормальной работы образа.
 +В chroot выполняем
 +<​code>​
 +cd /tmp # Заходим в оперативную память
 +cp /initrd.img ./​initrd0.gz # копируем в /tmp initrd.img  ​
 +casper-new-uuid /​tmp/​initrd0.gz /​tmp/​initrd.gz /​tmp/​casper-uuid-generic # Создаем файлы initrd.gz и casper-uuid-generic
 +mkdir /tmp/tmp # создаем папку для временного хранения initramfs
 +cd ./tmp # входим в нее
 +gunzip -dc ../​initrd.gz | cpio -imvd --no-absolute-filenames # распаковка gz
 +find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../​initrd.lz # упаковка в lz
 +</​code>​
 +В том же терминале открываем вторую вкладку и выполняем:​
 +<​code>​
 +cp -v chroot/​tmp/​{initrd.lz,​casper-uuid-generic} . # копируем файлы за chroot
 +</​code>​
 +Возращаемся в первую вкладку и удаляем из /tmp все:
 +<​code>​
 +cd /
 +rm -rfv /tmp/*
 +</​code>​
 ===== Очистка Чрута. ===== ===== Очистка Чрута. =====
  
Строка 173: Строка 209:
  
 <​code>​ <​code>​
-ls /​boot/​vmlinuz-3.**-**-generic>​ list.txt +ls /​boot/​vmlinuz-3.**-**-generic > list.txt 
-sum = $(cat list.txt | grep '​[^]'​ | wc -l) +sum=$(cat list.txt | grep '[^ ]' | wc -l) 
-if [$ sum-gt 1 ]; then+if [ $sum -gt 1 ]; then
 dpkg -l '​linux-*'​ | sed '/​^ii/​!d;/'"​$(uname -r | sed "​s/​\(.*\)-\([^0-9]\+\)/​\1/"​)"'/​d;​s/​^[^ ]* [^ ]* \([^ ]*\).*/​\1/;/​[0-9]/​!d'​ | xargs sudo apt-get -y purge dpkg -l '​linux-*'​ | sed '/​^ii/​!d;/'"​$(uname -r | sed "​s/​\(.*\)-\([^0-9]\+\)/​\1/"​)"'/​d;​s/​^[^ ]* [^ ]* \([^ ]*\).*/​\1/;/​[0-9]/​!d'​ | xargs sudo apt-get -y purge
 fi fi
Строка 185: Строка 221:
 <​code>​ <​code>​
 apt-get clean apt-get clean
-rm-rf /tmp/*+rm -rf /tmp/*
 rm /​etc/​resolv.conf rm /​etc/​resolv.conf
 umount -lf  /proc umount -lf  /proc
Строка 201: Строка 237:
 То есть, Вы вошли в изолированную систему,​ установили пакеты,​ провели очистку и вышли. То есть, Вы вошли в изолированную систему,​ установили пакеты,​ провели очистку и вышли.
  
 +===== Настройка окружающей среды по умолчанию =====
 +
 +Данный пункт не является обязательным. При загрузке окружения рабочего стола (в моем случае Unity 7) хочется настроить программы на боковой панели,​ настроить часы, которые выглядят ужасно в обычной версии Unity. Поэтому здесь я расскажу как можно настроить unity 7.
 +Общеизвестно,​ что Unity 7 настраивается через dconf. Файлы настроек по умолчанию находятся в папке ​
 +<​code>​
 +/​usr/​share/​glib-2.0/​schemas/​
 +</​code>​
 +и имеют имена соответствующие иерархии в dconf-editor.
 +Мы изменим некоторые из них:
 +<​code>​
 +com.canonical.Unity.gschema.xml # Основная схема настройка Unity 7. В ней изменим программы по умолчанию.
 +com.canonical.indicator.timedate.gschema.xml # Схема по настройке часов в апплете уведомлений. Изменим формат часов
 +org.gnome.desktop.nautilus.gschema.xml
 +</​code>​
 ===== Создание папки для CD диска и ее заполнение ===== ===== Создание папки для CD диска и ее заполнение =====
  
Строка 222: Строка 272:
 <​code>​ <​code>​
 cp chroot/​boot/​vmlinuz-3.**-**-generic image/​casper/​vmlinuz cp chroot/​boot/​vmlinuz-3.**-**-generic image/​casper/​vmlinuz
-cp chroot/​boot/​initrd.img-3.**-**-generic ​image/​casper/initrd.gz+cp initrd.lz image/​casper
 </​code>​ </​code>​
 Во-вторых,​ если у Вас возникли проблемы с копированием ядра или инитрд — может быть, у Вас этот файл не один — тогда используйте следующие команды:​ Во-вторых,​ если у Вас возникли проблемы с копированием ядра или инитрд — может быть, у Вас этот файл не один — тогда используйте следующие команды:​
Строка 255: Строка 305:
  
 1. Скопировать текст и потом его изменить. 1. Скопировать текст и потом его изменить.
 +
 или или
 +
 2. Использовать следующую команду:​ 2. Использовать следующую команду:​
  
Строка 323: Строка 375:
 ==== Создание манифеста. ==== ==== Создание манифеста. ====
  
-<​code>​sudo chroot chroot dpkg-query -W --showformat='​${Package} ${Version} \n' | sudo tee image/​casper/​filesystem.manifest+<​code>​ 
 +sudo chroot chroot dpkg-query -W --showformat='​${Package} ${Version} \n' | sudo tee image/​casper/​filesystem.manifest
 sudo cp -v image/​casper/​filesystem.manifest image/​casper/​filesystem.manifest-desktop sudo cp -v image/​casper/​filesystem.manifest image/​casper/​filesystem.manifest-desktop
-REMOVE = '​ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup ​discover1 ​xresprobe os-prober libdebian-installer4'​+REMOVE = '​ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup ​discover ​xresprobe os-prober libdebian-installer4'​
 for i in $ REMOVE for i in $ REMOVE
 do do
 sudo sed -i "/​${i}/​d"​ image/​casper/​filesystem.manifest-desktop sudo sed -i "/​${i}/​d"​ image/​casper/​filesystem.manifest-desktop
-done</​code>​+done 
 +</​code>​
  
 ==== Сжатие изолированной системы. ==== ==== Сжатие изолированной системы. ====
Строка 378: Строка 432:
 mkdir .disk mkdir .disk
 cd .disk cd .disk
 +cp ../​../​casper-uuid-generic .
 touch base_installable touch base_installable
 echo "​full_cd/​single">​ cd_type echo "​full_cd/​single">​ cd_type
Строка 411: Строка 466:
   * https://​help.ubuntu.com/​community/​LiveCDCustomization_ru   * https://​help.ubuntu.com/​community/​LiveCDCustomization_ru
   * http://​askubuntu.com/​questions/​48535/​how-to-customize-live-ubuntu-cd   * http://​askubuntu.com/​questions/​48535/​how-to-customize-live-ubuntu-cd
 +  * http://​nikmy.ru/​index.php/​stati/​linux/​sistemnye/​119-sozdanie-svoej-sborki-live-cd-ubuntu.html?​showall=1&​limitstart= - Ссылка на исходную статью
 {{tag>​Администрирование HOWTO FIXME}} {{tag>​Администрирование HOWTO FIXME}}