#1 30.10.2013 22:11:23

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Преамбула:
Нужно выполнить свою сборку ОС на основе Linux-ubuntu с минимальным набором программ и упаковать это в Live-CD-ISO-image, который впоследствии можно модернизировать.
Минимальное потребление памяти.
Размер полученного Live-CD-ISO-image должен быть меньше 350 МБ.

В установленной через chroot Linux-Ubuntu невозможно изменить GNOME-панели для пользователя
(в Дебиан то же самое).

Чтобы обойти это ограничение надо:
1. Сделать из /chroot SquashFS-файл и сделать Live-CD-ISO-образ
Загрузить ISO-image в виртуальную машину и настроить GNOME-панели для своих задач.
Сейчас (в моей системе) 2 пользователя - 'root' (passw 'root') и 'q'(passw '111111').
2. Загрузить Midnight-Commander как root и упаковать корневую файловую систему (/bin /boot /etc ... /usr /var) в архивные файлы *.tar.bz2 или *.tar.gz
3. С помощью ssh (он установлен) скопировать эти архивные файлы на HOST-машину (например в /live-boot-ubuntu/bak-from-VMware)
4. Выйти из виртуальной машины и распаковать созданные архивы в пустую /chroot директорию.
5. Выполнить chroot в chroot-директорию.
# apt-get install --reinstall gdm (потому что после реконфигурации gnome-панелей gdm login-window обрезает часть окна и выбор пользователя невозможен).

Удалить xdm (X-desktop-manager):
# update-rc.d -f xdm remove
# update-rc.d -f gdm defaults
# update-initramfs -k all -u
# exit (выход из choot-окружения).

6. Скопировать обновленный initrd.img и создать новый squashfs-файл.
7. Создать новый SD-ISO-image ubuntu-live-gnome2.iso

И он работает уже так, как положено и ожидалось.
Возможно в новой виртуальной машине потребуется переустановить пакет 'sudo'

После всего этого можно либо удалить пользователя 'root' либо изменить его пароль 'root' на что-то более сложное.

Примечания:

Задача звучит так:

В моей конкретной реализации присутствуют такие программы:

Для лучшего понимания процесса в архиве есть почищенный лог установки системы.
Есть также скриншоты работающей системы.

Можно еще больше облегчить сборку заменой firefox на midori (или даже на dillo).

Аналогичная работа на базе Дебиан есть здесь на форуме:
http://linuxforum.ru/viewtopic.php?id=30346

Ссылки на архив:

#2 30.10.2013 22:18:26

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

сейчас установлю на Vbox и проверю, что ты там натворил :-)

а с этим я не согласен

Quote by sklimkin
Я не обнаружил в использовании каких-либо преимуществ ядра Линукс 3.2--3.5 по сравнению с ядром 3.0 и даже 2.36

чтобы увидеть недостаток 2.6 проделай следующий фокус:
открой Firefox и Vbox
создай новую машину
дойди до опции "создать виртуальный диск"
увеличь размер создаваемого диска до 20Gb
и пока будет создаваться диск попробуй поработать в браузере
наслаждайся эффектом :-))

#3 30.10.2013 22:27:39

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Это конечно неприятно, но не фатально *YES*
Я пользуюсь VMware player, в нем такой-же эффект?

#4 30.10.2013 22:28:54

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

это не в нем
это на реальной машине
знаменитый баг #12309

#5 30.10.2013 23:25:20

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Пропустил в описании вот что:
вместе с "неизбежным злом" по имени firefox
в этой сборке присутствует второе менее "неизбежное зло" по имени goffice: abiword & gnumeric
Зачем поставил? - не вспомню.

#6 30.10.2013 23:41:17

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

какой вариант грузить то?

#7 30.10.2013 23:47:41

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

в принципе работает, но коряво :-)

#8 31.10.2013 00:20:06

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

в принципе работает, но коряво :-)

Сделаю уточнение: пользуюсь исключительно VMware-player'ом, в котором эта сборка работает как рассказал выше.
Только из любопытства загрузил Olacle VM VirtualBox и загрузил свою сборку в нем.
Вы правы, коряво. Видеомоды почти не поддерживаются - максимум 800х600
А у меня в сборке сохранен режим 1152х864 (и гномовский randr предлагает ОЧЕНЬ большую линейку видеомод).
Ну что я скажу в свое оправдание?
Наверное то, что выложил здесь технику создания своего ISO, а то что в архиве - всего лишь иллюстрация.

За тестирование спасибо.

#9 31.10.2013 01:06:11

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

я тоже просто балуюсь :-)


the first ubuntu 4.10

#10 07.11.2013 16:31:35

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Добавил в расшаренную папку
http://www.mediafire.com/folder/okko8x7k84aox/Live-CD-ISO
материалы по этой же теме, но с дистрибутивом Slitaz
тут важен не столько дистрибутив, сколько методика.

#11 15.11.2013 20:49:16

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

После серии упражнений по созданию Live-CD-ISO-image на базе Debian, Ubuntu, Runtu, Slitaz потребовалось конфигурировать/изменять базовую систему и сохранять эти изменения.
Такие измененные ISO-образы можно загружать в виртуальную машину и работать.

Но не все и не всегда удобно делать в связке с виртуальной машиной.
Поэтому потребовалось установить систему из ISO-образа на реальный раздел диска.
Диск может быть как HDD, так и USB-флэш.

В результате получены пользовательские сборки системы:
Linux-Ubuntu
Linux-SFSL(Runtu)
Slitaz-Linux
Собрал их вместе на одной USB-флэшке в раздел sda1, загрузчик один для всех grub2.
Для выкладывания на файлообменник разделил их для уменьшения размера файла закачки.

В результате есть три архива в компрессии tar.xz


Все указанные сборки русифицированы (кто больше, кто меньше), имеют переключатель клавиатуры Eng-Rus с индикацией флагами. На случай непредвиденных сбоев в Slitz на рабочем столе есть скрипт kbdswitch.
Еще у Slitaz есть особенность: потеря DIR /home/<USER> но root:root работает исправно.
"Разворачивать" Slitaz в полную файловую систему (bin boot etc ...) надобности не было, поэтому все стандартно: bzImage и rootfs-lzma-from-live-devel-GC-Office-wine.gz (это чтобы не забыть что в этом образе).

Надо отметить, что несмотря на установленные в системе Slitaz все Xorg-video-драйвера, при смене типа загрузки Disk <--> VirtualMachine (в частности VMware), система перестает загружать графическую среду/окружение. Только командная строка. Я пока не нашел, где это зарыто. И это зависит только от среды из которой выполнялась пересборка: физический диск, или виртуальная машина. С другими ОС (Debian, Ubuntu) таких проблем нет.

У меня интегрированная на мат.плате видео-карта Intel.
Если скачаете-установите, то черкните здесь отзыв.

#12 26.11.2013 12:12:55

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Для тех, кто читает не по дагонали
Вот еще один опыт минимизировать Ubuntu для использования в live-CD-ISO:

#13 03.12.2013 21:25:47

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Подключение "на лету" дополнительных sfs-модулей в Ubuntu-сборке.
Для того, чтобы подгружать во время работы дополнительные модули *.sfs
(mount squashfs on the fly), потребовалось распаковать в /chroot-окружение
модули из PRA: 060-sfs-get.pfs и pfs-utils-0.2.9pra-4-i686
http://forum.puppyrus.org/index.php/topic,14534.0.html
а затем туда же добавить вручную из работающей PRA вот что:
sfsusr ntf gtkdialog yad realpath notify-send notify-send.bin checkramfree
(gxmessage похоже, что не надо)
/lib/@libpcre.so /lib/@libpcre.so.1 /lib/libpcre.so.1.2.1 --> /usr/local/lib/

Пришлось немного изменить usr/local/share/applications/sfs-get.desktop

#Exec=sfs-get -p
Exec=sudo sfs-get
#Terminal=false
Terminal=true

иначе скрипт не отрабатывает: нет загрузки, нет индикации загруженного модуля.
Вероятно по-разному работает sudo в PRA-linux и в Ubuntu-linux.

Добавленный/установленный модуль может работать сразу, но в меню не виден.
/mnt/beaver-0.4.1-1-i686-xz.sfs/
Требуется обновить Desktop - пока это можно через перезагрузку пользователя.
Тогда (в данном случае для beaver) в главном меню появляется:
Программирование-->Beaver (даже с иконками).

Размещение дополнительных sfs-модулей указано в /isolinux/isolinux.cfg
в данном случае это директорий /_sfs ISO-образа.
Добавил туда (для тестирования) модуль beaver-0.4.1-1-i686-xz.sfs

Выгрузка подключенного "на лету" модуля также работает.

Позже сделаю из этих дополнений загружаемый с системой модуль-squashfs.
Если это будет кому-либо интересно - выложу в общий доступ.

Подключение sfs-модулей из иного, чем /_sfs места пока не проверял.

Цепочка вызовов sfs-скриптов:
sfs-get -> sfsusr -> mnt_sfs -> ...
спотыкается на checkramfree -> сообщение о делении на 0 (во как!)

но тем не менее работает, смотри скриншоты:

#14 04.12.2013 09:34:40

zenon
Administrator
Зарегистрирован: 04.05.2010
Сообщений: 8 784
IP-адрес

Linux-Ubuntu пользовательская сборка

sklimkin, создается впечатление, что о BBCode вы никогда не слышали. Отредактируйте свои посты, чтобы они прилично выглядели, иначе всю эту кашу, включая тему удалю.

#15 04.12.2013 09:57:29

Termo
Administrator
Зарегистрирован: 22.03.2010
Сообщений: 5 796
IP-адрес

Linux-Ubuntu пользовательская сборка

ему некогда
он сборки клепает

#16 05.12.2013 22:05:26

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Добавил в свою сборку два инструмента.
Комменарии к добавлению инструмента "sfs-tools":


Подключение модуля *.sfs и работа с ним:

Комменарии к добавлению инструмента "live-save":

Ссылки на скриншоты и новый ISO-образ:

#17 20.12.2013 21:02:29

sklimkin
Administrator
Зарегистрирован: 08.08.2011
Сообщений: 77
IP-адрес

Linux-Ubuntu пользовательская сборка

Ubuntu-precise 12.04-LTS kernel + headers 3.2.0-23 (можно обновлять)


Ссылки:
ubuntu-1204-LXDE.iso 190.6 MB
http://yadi.sk/d/NDTakhf-EfN9a

На скриншоте потребление памяти при 12 открытых приложениях.
ubuntu-1204-LXDE_memory_VMware Player.png 226 KB
http://yadi.sk/d/vCSLbnTJEfPLQ

29 декабря 2013г.
Добавлена работа с пользовательскими sfs-модулями, их можно загружать и выгружать во время работы (on-the-fly).
Добавлена возможность сохранять изменения системы live-snapshot (файл live-sn-ubuntulive.cpio.gz) - persistent-mode.
ubuntu-1204-LXDE-sfs.iso 192.6 MB
http://yadi.sk/d/Cmi0Q37QF8fbX

Board footer