1

Вот пошаговая инструкция (если англ.яз. не препятствие):
http://blog.willhaley.com/create-a-cust … vironment/
Делал по ней и получил СВОЙ live-debian.iso
Правда я использовал debootstrap в варианте по умолчанию: т.е. систему и дополнит. пакеты качал в процессе установки с реп. Debian
А уже потом делал filesystem.squashfs и следом debian-live.iso

Собранный таким способом live-debian.iso проверял на работоспособность в VMware-player - работает.
А еще в этой инструкции есть раздел по созданию всего вышеозначенного и на USB-flash (HDD).

Если надо, могу свой log показать - он очень подробный и поэтому его размер 215 КБ.

P.S. а это "для общего развития" - возможно будет интересно
http://www.opennet.ru/base/sys/initrd_intro.txt.html

+ открыть спойлер

В зависимости от "обвязки" базовой системы у меня получается ISO-образ от 200 до 400МБ.
Перед созданием ISO-образа полезно почистить (вручную) полученный chroot:
прежде всего локали, доки и маны в /chroot/usr/
это составит десятки МБ экономии пространства.

Если на создание ISO-образа посмотреть немного шире в плане дальнейшего использования, то стоит почитать/посмотреть на такие сборки:
http://uco.puppyrus.org/forum/thread176.html  - это настоящий debian
http://uco.puppyrus.org/forum/thread218.html
http://uco.puppyrus.org/forum/thread229.html
http://uco.puppyrus.org/forum/thread279.html

Автор использует в качестве "донора" разные дистрибутивы: начал с CrunchBang (debian), продолжил с debian и ubuntu, а сейчас "окучивает" Arch.
У него сборки получаются размером 80--150 МБ.

Но самое интересное - это модульное (на основе squashfs) построение собранной системы.
Как ядро, так и дополнительные модули (либы, тулкиты, проги) он пакует в модули sfs (squashfs) и делает дистибутив, который позволяет загрузить только базовую систему, а затем по желанию подгружать и выгружать дополнительные модули.
А можно загрзить все сразу - это прописывается в строке загрузки kernel - он использует загрузчик grub-legacy (я использую grub2 или syslinux).

Такая идеология-технология называется frugal.
Дистрибутив можно грузить из ISO-образа в виртуальную машину, можно установить на раздел диска (или на флэш-карту).
А можно "положить" в отдельную dir на любом существующем разделе диска и добавить строки загрузки в уже существующий загрузчик основной системы компьютера. Для этого исходный ISO-образ надо просто разпаковать в выбранную dir.

При этом автор показывает, как средний пользователь может сам "нарастить" такую систему.
В одном случае из репозиториев debian или ubuntu, в другом из репозиториев Arch и во всех случаях из репозиториев Linux-puppy - там все пакеты собраны как squashfs.

Такая система практически неубиваема - т.к. грузится из read-only модулей squashfs.
И наконец система позволяет сохранять все изменения, сделанные пользователем в дополнительный перезаписываемый модуль (squashfs или cpio-gz - выбирает пользователь) - для этого изпользуется live-build (или в целом live-tools).
Модульность системы позволяет работать с ограниченным (вплоть до 256 МБ) размером оперативной памяти. Это также полезно на старых и очень старых компьютерах.

Для меня сейчас такие сборки в ISO-образ удобны тем, что без проблем, связанных с их установкой и перезагрузкой системы, их можно грузить в виртуальную машину из основной системы и легко переключаться между ними.

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

2

Я немного "почикал" свой лог установки debian-squeeze kernel 3.2.0-4-686-pae + xorg + LXDE + "джентельменский набор программ"
и немного прокомментировал некоторые неявные моменты установки.
Все это на кривом аглицком именно для фазы установки и конфигурации - кириллица может и не быть, или не читаться.
Все это затем тестировал в VMware-player (можно  и в других машинах - дело вкуса).
Вот лог:

+ открыть спойлер

Your work-dir (home/<user>/live-boot_ds/ for example)
# - commands from chroot environment


Make Debian base-system (squeeze) over debootstrap:
---------------------------------------------------
sudo debootstrap --arch=i386 --variant=minbase squeeze ./chroot http://ftp.us.debian.org/debian/


add manually into /chroot/etc/apt/sources.list
----------------------------------------------
deb http://mirror.yandex.ru/debian/ stable main non-free contrib

==== go-to chroot-environment

sudo mount -o bind /dev chroot/dev
sudo cp /etc/resolv.conf chroot/etc/resolv.conf
sudo chroot chroot

# mount none -t proc /proc
# mount none -t sysfs /sys
# mount none -t devpts /dev/pts
# export HOME=/root
# export LC_ALL=C

# apt-get install debian-archive-keyring    (for activate mirror.yandex.ru)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
debian-archive-keyring is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

# apt-get update
Hit http://ftp.us.debian.org squeeze Release.gpg         
Ign http://ftp.us.debian.org/debian/ squeeze/main Translation-en
Hit http://ftp.us.debian.org squeeze Release             
Hit http://ftp.us.debian.org squeeze/main i386 Packages   
Get:1 http://mirror.yandex.ru stable Release.gpg [1672 B]
Ign http://mirror.yandex.ru/debian/ stable/contrib Translation-en
Ign http://mirror.yandex.ru/debian/ stable/main Translation-en
Ign http://mirror.yandex.ru/debian/ stable/non-free Translation-en
Get:2 http://mirror.yandex.ru stable Release [167 kB]
Get:3 http://mirror.yandex.ru stable/main i386 Packages [7657 kB]
Get:4 http://mirror.yandex.ru stable/non-free i386 Packages [96.1 kB]         
Get:5 http://mirror.yandex.ru stable/contrib i386 Packages [50.8 kB]           
Fetched 7973 kB in 28s (283 kB/s)                                             
Reading package lists... Done


==== install dialog & kernel of the system

apt-get install dialog

apt-get install dbus

dbus-uuidgen > /var/lib/dbus/machine-id

echo "debian-live" > /etc/hostname

apt-cache search linux-image

apt-get install linux-image-3.2.0-4-686-pae
... ... ...
Setting up usbutils (1:005-3) ...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-4-686-pae


==== !!! To save current chroot for reuse-reconfigere system
==== exit chroot, save current snapshot and rerun chrot
rm -f /var/lib/dbus/machine-id && apt-get clean && rm -rf /tmp/* && umount -lf /proc && umount -lf /sys && umount -lf /dev/pts

exit

sudo umount -lf chroot/dev

Make backup chroot with installed kernel
----------------------------------------
sudo /bin/tar --create --ignore-failed-read --preserve-permissions --recursion --preserve-order --sparse --totals --wildcards --verbose --gzip --file=debian-squeeze-3.2.0-4-686-pae-minbase+kernel_chroot.tar.gz /home/<user>/live-boot_ds/chroot
... ... ...
Всего записано байт: 305162240 (292MiB, 19MiB/s)
$
--------------------------------------------------------------------------------


==== now go-to chroot-environment

sudo mount -o bind /dev chroot/dev
sudo cp /etc/resolv.conf chroot/etc/resolv.conf
sudo chroot chroot

mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
export HOME=/root
export LC_ALL=C


==== install text-mode utils & language-support

apt-get install localepurge   (to remove unused locales on-the-fly)
(I select only en_US and ru_RU)

apt-get install locales console-cyrillic

echo "LANG=\"ru_RU.UTF-8\"" > /etc/default/locale

export LANG=ru_RU.UTF-8

echo "FRAMEBUFFER=Y" >> /etc/initramfs-tools/initramfs.conf

apt-get install xxkb

apt-get install mrxvt-mini   (terminal)

apt-get install mc

apt-get install syslinux

apt-get install squashfs-tools

apt-get install live-boot

apt-get install live-build


==== install network modules

apt-get install network-manager net-tools wireless-tools wpagui tcpdump wget openssh-client

см. продолжение ...

3 (17.09.2013 00:32:54 отредактировано sklimkin)

продолжение:

+ открыть спойлер

---------------------------------------------------------------------------
!!! Here mostly internet-connect may be down, and host must be rebooted !!!
---------------------------------------------------------------------------

apt-get install ntfsprogs hfsprogs

apt-get install partclone nano


==== install xorg - xwindow, desktop-manager, window-manager

apt-get install xserver-xorg

apt-get install xinit

apt-get install menu

apt-get install menu-xdg

apt-get install lxde   (or xfce4, icewm, jwm ...)



update-alternatives --display x-window-manager

apt-get autoremove


==== install root & users & passwords

passwd root

adduser user   (for exaple)

adduser q   (for exaple)

usermod -a -G sudo user

usermod -a -G sudo q


==== install other programs - all for example

apt-get install grandr

apt-get install gparted

apt-get install gdebi-core

(or apt-get install gdebi   for use gtk-interface)

apt-get install synaptic

apt-get install logrotate

apt-get install leafpad

apt-get install python-glade2

apt-get install scrot

apt-get install isomaster

apt-get install gpicview

apt-get install openssh-server   (I recomend it)

apt-get install abiword

apt-get install gnumeric

apt-get install libforms-bin   (C-programming using X-libs only)

apt-get install libforms-dev

apt-get install libformsgl-dev


apt-get clean
update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-3.2.0-4-686-pae
live-boot: core filesystems devices utils memdisk udev wget blockdev.


rm -f /var/lib/dbus/machine-id && apt-get clean && rm -rf /tmp/* && umount -lf /proc && umount -lf /sys && umount -lf /dev/pts
exit

sudo umount -lf chroot/dev
[sudo] password for $:
$
--------------------------------------------------------------------------------


sudo cp -a /home/<user>/live-boot_ds/chroot/boot/vmlinuz-3.2.0-4-686-pae /home/<user>/live-boot_ds/image/live/vmlinuz1

sudo cp -a /home/<user>/live-boot_ds/chroot/boot/initrd.img-3.2.0-4-686-pae /home/<user>/live-boot_ds/image/live/initrd1

==== change owner from root to my (<user>):
$ sudo chown -R <user>:<user> ./image

==== make ISO-image for my (current user):
cd image && genisoimage -rational-rock -volid "Debian Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../debian-live4.iso . && cd ..

NOW TEST THIS ISO-IMAGE ON VIRTUAL-MACHINE (VMware-player for example) !!!
--------------------------------------------------------------------------------


!!! MISSING CONSOLE CYRILLIC-SUPPORT (FONTS ???) !!!


Make backup chroot with installed LXDE & programs
-------------------------------------------------
sudo /bin/tar --create --ignore-failed-read --preserve-permissions --recursion --preserve-order --sparse --totals --wildcards --verbose --gzip --file=debian-squeeze-3.2.0-4-686-pae-LXDE-installed.tar.gz /home/<user>/live-boot_ds/chroot/
... ... ...
Всего записано байт: 1122570240 (1,1GiB, 11MiB/s)
--------------------------------------------------------------------------------

Полученный таким образом filesystem.squashfs паковал в ISO с загрузчиком syslinux (это по умолчанию)
и с загрузчиком grub2 (eltorito) - это в русле последних веяний.
Есть разница: ключ для kernel vga=xxx выдает не все желаемые разрешения дисплея при загрузке из grub2
Например для 1152x864 не смог подобрать правильное значение.

ISO-image после загрузки--тестирования--доконфигурации в виртуалной машине можно сохранить в ней же, уже как виртуальный диск.
А такой диск уже сохраняет все изменения/дополнения пользователя. Его можно "развернуть" и на реальный раздел диска/флэшки.

P.S. эту тему немного "потерли" на http://debianforum.ru/index.php?board=8.0

4

Здесь на форуме делал заметку на тему:
Создание в виртуальной машине из CD-ISO образа загружаемого виртуального диска VMDK
http://linuxforum.ru/viewtopic.php?id=29040

Создать свой live-CD на основе ubuntu несколько сложнее (в репозиториях ubuntu нет live-boot и live-build), но тоже можно.
Например вот так:

+ открыть спойлер

Install Ubuntu-lucid in host Ubuntu-lucid over debootstrap & chroot
-------------------------------------------------------------------
mkdir live_boot_u && cd live_boot_u

sudo debootstrap --include=aptitude,tasksel,dselect,nano,wget --arch i386 lucid chroot http://archive.ubuntu.com/ubuntu/

Archiving fresh ubuntu-minbase (over debootstrap):
--------------------------------------------------
sudo /bin/tar --create --ignore-failed-read --preserve-permissions --recursion --preserve-order --sparse --totals --wildcards --verbose --gzip --file=ubuntu-lucid-debootstrap.tar.gz /home/sklimkin/live_boot_u/chroot
--------------------------------------------------------------------------------

Goto chroot environment and make custom linux-ubuntu (lucid) system:
--------------------------------------------------------------------
sudo mount -o bind /dev chroot/dev && sudo cp /etc/resolv.conf chroot/etc/resolv.conf

sudo chroot chroot

mount none -t proc /proc && mount none -t sysfs /sys && mount none -t devpts /dev/pts && export HOME=/root && export LC_ALL=C

Add to install mc (Midnight Commnder) into file:
------------------------------------------------
/home/sklimkin/live_boot_u/chroot/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu lucid universe

Add to install last kernel linux-image-3.0.0-32-generic into file:
------------------------------------------------------------------
deb http://archive.ubuntu.com/ubuntu lucid-updates main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu lucid-backports main universe restricted multiverse

apt-get update

for purge unused locales "on-the-fly":
--------------------------------------
apt-get install localepurge
(I select only en_US en_US.ISO-8859-15 en_US.UTF-8 ru ru_RU ru_RU.CP1251 ru_RU.KOI8-R ru_RU.UTF-8)

apt-get install locales console-cyrillic
apt-get install dialog
apt-get install dbus
echo "linux-live" > /etc/hostname

apt-cache search linux-image
apt-get install linux-image-3.0.0-32-generic
update-grub

apt-get install language-pack-ru
dpkg-reconfigure console-setup

echo "LANG=\"ru_RU.UTF-8\"" > /etc/default/locale
export LANG=ru_RU.UTF-8
/////echo 'ubuntu-live' > /etc/hostname

passwd
adduser user
adduser q
usermod -a -G sudo user
usermod -a -G sudo q
echo "FRAMEBUFFER=Y" >> /etc/initramfs-tools/initramfs.conf

Install only: network-manager  xorg  gnome-panel (nautilus included)
--------------------------------------------------------------------
apt-get install network-manager
apt-get install xorg
apt-get install gnome-panel

Install my programs:
--------------------
apt-get install mc
apt-get install syslinux
apt-get install xarchiver
apt-get install xz-utils
apt-get install file-roller
apt-get install leafpad
apt-get install scrot
apt-get install debootstrap
apt-get install gdebi
apt-get install gedit
apt-get install midori
apt-get install abiword
apt-get install gnumeric
apt-get install geany
apt-get install isomaster
apt-get install squashfs-tools
apt-get install openssh-server
apt-get install gdm
dpkg-reconfigure gdm
update-initramfs -k all -u

Include Debian-mirror packages ONLY for install 'live-boot'
===========================================================
Add string into:
----------------
deb http://mirror.yandex.ru/debian/ stable main non-free contrib

To resolve size-limit of APT::Cache-Limit add string into:
----------------------------------------------------------
./chroot/etc/apt/apt.conf.d/70debconf
APT::Cache-Limit "100000000";

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com AED4B06F473041FA
apt-get update
apt-get install live-boot
apt-get install live-build
apt-get clean
update-initramfs -k all -u

rm -f /var/lib/dbus/machine-id && apt-get clean && rm -rf /tmp/* && rm /etc/resolv.conf && umount -lf /proc && umount -lf /sys && umount -lf /dev/pts
exit
sudo umount -lf chroot/dev
--------------------------------------------------------------------------------
Make backup chroot with installed xorg+gnome-panel & My programs
----------------------------------------------------------------
sudo /bin/tar --create --ignore-failed-read --preserve-permissions --recursion --preserve-order --sparse --totals --wildcards --verbose --gzip --file=ubuntu-lucid-3.0.0-32-gnome-installed.tar.gz /home/sklimkin/live_boot_u/chroot/
... ... ...
Всего записано байт: 1030932480 (984MiB, 19MiB/s)

==== copy kernel files into /image/live/ dir:
cp -a /home/sklimkin/live_boot_u/chroot/boot/initrd.img* /home/sklimkin/live_boot_u/image/live/initrd1
sudo cp -a /home/sklimkin/live_boot_u/chroot/boot/vmlinuz* /home/sklimkin/live_boot_u/image/live/vmlinuz1

==== change owner from root to my (user):
sudo chown -R sklimkin:sklimkin ./image

==== make filesystem.squashfs from chroot dir:
////sudo mksquashfs chroot image/live/filesystem.squashfs -e boot
sudo mksquashfs chroot image/live/filesystem.squashfs

==== make ISO-image for my (current user):
cd image && genisoimage -rational-rock -volid "Ubuntu Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../ubuntu-live2.iso . && cd ..
--------------------------------------------------------------------------------
NOW TEST THIS ISO-IMAGE ON VIRTUAL-MACHINE (VMware-player for example) !!!
--------------------------------------------------------------------------------

В результате получен ISO-image в 408 МБ - но за то не отказал себе ни в чем.
gnome-panel по умолчанию много чего вставляет не спрашивая, в том числе и firefox.
А я это проглядел и вставил легковесную midori
Если быть скромнее то образ можно ужать до 200 МБ

5

Вот еще один опыт минимизировать Debian для использования в live-CD-ISO:
http://yadi.sk/d/Juoa0RVbCouhv
из 4-х файлов:
debian-wheezy-LXDE-live.iso (263 МБ)
image.tar.gz
doc_debian-wheezy.tar.gz
Сборка-debian-wheezy-linux-для-себя.txt

6

sklimkin, ваш проект так и просится в блог. Что вы на каком-то яндекс-диске ютитесь. http://linuxforum.ru/viewtopic.php?id=31365

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

7 (26.11.2013 17:08:01 отредактировано sklimkin)

yars пишет:

sklimkin, ваш проект так и просится в блог. Что вы на каком-то яндекс-диске ютитесь. http://linuxforum.ru/viewtopic.php?id=31365

Спасибо за комплемент, но Вы меня переоцениваете. Блог надо как-то поддерживать, а я по теме почти все сказал.
Папки на Яндексе все расшарил, даже скриншоты добавил - это для тех, кто читать не умеет be

Модификация настроек сборки debian-wheezy-LXDE-live.iso
Учитывая моду на разглядывание картинок выложил скриншоты.
Добавлена 2-я панель вверху десктопа.
1-я нижняя и 2-я верхняя панели сделаны "скрываемыми".
https://docviewer.yandex.ru/?url=ya-dis … re%201.png
показана новая верхняя панель, в окне Midnight-Commander выделены директории и их размеры - столько места будет занимать система на реальном диске.
https://docviewer.yandex.ru/?url=ya-dis … re%202.png
загружено 12 приложений (видно на нижней панели) и показан расход памяти - программа top
https://docviewer.yandex.ru/?url=ya-dis … re%203.png
приложения выгружены и показано освобождение памяти - программа top

Выложил даже вариант "темплета" для сборки с загрузчиком grub2 - debian-wheezy-live-grub2.tar.gz15,7 МБ
http://yadi.sk/d/Ef9yN8kaDF8Dg
А это заархивированный /chroot  - для тех кому пока трудно сделать это самостоятельно, но хотелось бы:
chroot-debian-wheezy-LXDE-slim-final.tar.gz 264,3 МБ
http://yadi.sk/d/Te_D-6zDDF8Pz

8

sklimkin пишет:

Блог надо как-то поддерживать, а я по теме почти все сказал.

Вы наверное не совсем правильно поняли предназначение раздела+ресурса, - создано для размещения и обсуждения пользовательских статей/материалов, мелких заметок.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

9

Оценил - так лучше. Спасибо за подсказку и перемещение сюда.

Для тех, кому не требуется десктоп-сборка (графическое окружение):
после debootstrap и входа в chroot-окружение, достаточно установить:
kernel
network-tools
mc
(возможно загрузчик, например syslinux)
и всё.
Размер сборки получится заметно меньше.
Но такие пользователи все это знают и без моих подсказок.

10 (22.12.2013 21:57:32 отредактировано sklimkin)

Заново сделал debian-squeeze-live-LXDE-SFS.iso - версия 6.08.

Хотел получить систему Debian, в которой live-boot старым способом создавал DIR's /live/image и /live/cow - но сегодня это уже невозможно.
Из репозиториев Debian устанавливается только live-boot ver.3.x
Установить live-boot ver.2.x вручную также невозможно - система ломается.
Таким образом разработчик live-tools Daniel Baumann надежно отрезал замечательную возможность динамически во время работы подключать и отключать различные программы упакованные в squashfs и размещенные непосредственно в ISO-image или рядом с ним.

Комментарии, особенности:

+ открыть спойлер

Есть особенности у моего нового debian-squeeze-live-LXDE-SFS.iso:
0. в системе три пользователя: root (root) user (user) q (111111)
1. десктоп выбрал LXDE - он пожалуй наиболее "родной" для Debian.
2. если при загрузке выбрать не 1-й пункт, а 2-й, 3-й или 4-й, то система
   (минуя окно выбора пользователя slim) загружается для пользователя <user>
   и "разговаривает по английски" - меню, подсказки и прочее.
   При выборе 1-го пунка меню загрузки система "разговаривает по русски".
3. добавлен апплет свободной памяти - он будет виден в нижней панели:
   Menu-->System Tools-->freememapplet (взял его из Puppy-Linux)
   на скриншоте показал его курсором мыши - внизу справа.
4. для изменения размера экрана есть grandr (lxrandr почему-то не работает):
   Menu-->Other-->grandr или в верхней панели grandr ("Multiple Screens")
5. иконки sfs-get и live-save на Рабочем столе имеют пока декоративный
   характер (трудно отказатьтся от идеи "load-on-the-fly") - пусть живут.
6. Сеть в виртуальной машине "Network Connection: eth0" подключается автоматически.
7. переключение пользователей Menu-->Logout-->Logout-->(окно выбора slim)
8. для установки программ из Debian репозиториев надо открыть terminal и дать ему команды:
   apt-get install debian-archive-keyring
   apt-get update
   (для уменьшения размера ISO-image некоторые файлы из /var/log и /var/lib удалены вручную),
   а затем уже устанавливать программы: apt-get install <PROGRAM>
   и не забыть после установки очистить /var/cache/apt/: apt-get clean
9. в процессе создания ISO-image in chroot-environment добавлены такие программы:
   dialog dbus xxkb squashfs-tools dpkg
   network-manager wget net-tools wireless-tools
   xserver-xorg-core (--no-install-recommends xserver-xorg-core)
   xinit menu menu-xdg
   lxde (--no-install-recommends xserver-xorg-core)
   grandr gparted isomaster mc rxvt-unicode openssh-server (also -client)
   leafpad (default for Xorg) gpicview dillo xz-utils arj zip
   live-boot live-config slim
10. размер файла 182.8 MB но в его составе есть DIR /_sfs размером 17.3 MB
   а также /live/sfs-tools.squashfs размером 780 KB, то есть размер ISO можно
   уменьшить до 165 MB.
11. При повторении с Debian-Wheezy можно получить близкий по размеру ISO-image.

Пользователи в системе: root (root) user (user) q (111111).
Ссылки:

+ открыть спойлер

debian-squeeze-live-LXDE-SFS.iso 182.8 MB
http://yadi.sk/d/ezVV9SaEEUTCM

debian-squeeze-live-LXDE-SFS_USER_VMware Player.png 72 KB
http://yadi.sk/d/mU1A0qNFEUU2N

debian-squeeze-live-LXDE-SFS_ROOT_VMware Player.png 88 KB
http://yadi.sk/d/33CxhWZMEUUHd

debian-squeeze-live-LXDE-SFS_freememapplet_VMware Player.png 123 KB
http://yadi.sk/d/AoaGk-oqEUUVT

debian-squeeze-live-LXDE-SFS_HowTo.txt 7 KB
http://yadi.sk/d/uuCfG93VEUcXu

11 (27.12.2013 05:52:42 отредактировано sklimkin)

Debian-wheezy + LXDE + slim + SFS-management
О включении работы с пользовательскими *.sfs модулями и о "сохраненке":

+ открыть спойлер

Я не могу сказать, что sfs management работает очень хорошо, но он определенно работает:
1. users sfs-modules from DIR /_sfs загружаются и выгружаются
2. live-snapshot работает и его можно создавать в любом месте - в том числе и внутри работающей виртуальной машины (для меня это особенно важно)
3. процедуры загрузки sfs-modules долгие - до 20 сек. - вероятно это выполнение проверок в скриптах, которые я взял из Puppy-Rus-Arch - но чего-то не хватает - разбираться в чужих скриптах всегда сложно, если их много.
4. для лучшего понимания того, что происходит, sfs-get лучше выполнять в терминале:
   sudo sfs-get или sfs-get -p
5. из сообщений терминала добавляю отсутствующие скрипты в модуль sfs-tools

Сделал обновленную сборку debian-wheezy-LXDE-sfs.iso (262 MB) - в ней установлены Linux-headers AbiWord Gnumeric Dillo (+fltk) XForms и еще несколько программ, а для тестирования /_sfs/spacefm2.sfs и /_sfs/beaver.sfs  - поэтому такой большой размер.

Добавил в /root/ полный лог-файл создания ISO-image (включая downgrade live-boot v3.0-->v2.0) и еще 3 файла об использовании sfs-modules.
При установке новых программ через apt-get кнопка меню refresh-panel работает нормально - новые программы появляются в меню.
Но при установке программы из /_sfs этого не происходит. Причину пока не понимаю.

Для тех кто будет делать сборку системы самостоятельно:

+ открыть спойлер

Качество и даже работоспособность собранной системы зависят от:
1. набора системных компонентов и их библиотек
2. дополнительных программ, зависимостей этих программ и их библиотек
3. списка репозиториев в файле /etc/apt/sources.list (начинаь надо с минимального)
4. возможно даже от последовательности установки компонентов и программ
5. и конечно от умения читать, думать а также от наличия терпения.
6. иногда apt-get install --reinstall <PROGRAM> может изменить качество работы собранной системы
7. как итог: самостоятельные сборки системы очень отличаются по качеству/надежности, а также по размеру от официальных дистрибутивов, где все многократно "вылизано" дистрибьютером. Чувство меры тоже неплохой советчик.

Желаю успехов. Сергей.

Пользователи в системе: root (root) user (user) q (111111).

Переделал эту сборку:
Выложил новый debian-wheezy-LXDE-sfs.iso (245 MB) в расшаренную папку "live-debian":
http://yadi.sk/d/Juoa0RVbCouhv
debian-wheezy-LXDE-sfs.iso 245 MB
http://yadi.sk/d/KzgVnrqiF2ikK

Скриншоты положил в расшаренную папку utils:
http://yadi.sk/d/A5-qVrRNEJhnw - utils dir (sfs management)

12

В поисках более стабильной работы с sfs-модулями вернулся к:
Debian-squeeze--3.2.0-4-686-pae live LXDE + sfs-management

+ открыть спойлер

1. пользовательские sfs-модули из DIR /_sfs загружаются быстро (но не выгружаются)
2. после установки программы из /_sfs нажать кнопку меню refresh-panel - новая программа появляется в меню.
3. для тестирования есть /_sfs/spacefm.sfs и /_sfs/beaver.sfs
4. пользователи в системе: root (root), user (user), q (111111).

Выложил новый debian-squeeze в расшаренную папку "live-debian":
http://yadi.sk/d/Juoa0RVbCouhv
debian-squeeze-live-LXDE-sfs.iso 196.9 MB
http://yadi.sk/d/ImBuiDivEsojX

13

приветствую вас на линуксфоруме  .
имхо вы таки упорно пилите гири.
дебиан-монолит и все динамические модули при откл перепашут его до непредсказуемого состояния.
для таких ливсд лучше дистры с минимальным взаимовлиянием пакетов типа slackware. да и там разработчики в основном применяли модули чтобы не переустанавливать всю систему. а отключение модулей авторы делают с большими оговорками. я пришел к выводу что намного проще( и правильней) сделать один образ  Debian ливсд для заданной конфигурации. насчет live-boot : немного покопал initramfs и увидел непонятное мне дублирование библиотек и модулей в initrd и корневой системе. изменения там  хранятся в live/overlay но имхо он монтируется два раза и поэтому они не видны, чтобы увидеть надо сделать
umount live/overlay.
regards

14

Здравствуйте vic5710

Это не гири - это хобби на пенсии.

В puppy для этого используют 2 типа загрузки sfs-модулей программ: выше базы и ниже базы. Это у них достаточно проработано. Ребята из puppyrus.org тоже приложили к этому руки и голову. Модули успешно выгружаются и затем загружаются другие, система не падает.

live/overlay это в версии 3.x live-boot (фантазии автора mr. D.Baumann), я вернул в системе debian предыдущую версию 2.0.15 live-boot, как более функциональную.

Можно для стабильности (тут я с Вами согласен) необходимые модули поместить вместе с filesystem.squashfs и они автоматом загрузятся, но выгрузить их уже будет невозможно.

немного покопал initramfs и увидел непонятное мне дублирование библиотек и модулей в initrd и корневой системе. изменения там  хранятся в live/overlay но имхо он монтируется два раза и поэтому они не видны

Это уже не по моему уровню знаний.

15 (27.12.2013 04:42:04 отредактировано vic5710)

sklimkin пишет:

Можно для стабильности (тут я с Вами согласен) необходимые модули поместить вместе с filesystem.squashfs и они автоматом загрузятся, но выгрузить их уже будет невозможно.

незачем их выгружать. когда монтируется squashfs модуль, то определяется УКАЗАТЕЛЬ на него (проще говоря - оглавление). далее по вызову программы ОС грузит в память необходимые ресурсы, выделяет память под исполнение и после закрытия программы ОС освобождает память(если программа не кривая и нет утечки памяти).
критичен размер модуля когда диск грузится в память(режим copytoram). метод динамической подгрузки может быть применен в ОС типа PC-BSD или OSX,там программа инсталлируется в свою отдельную папку, а не размножается по всей файловой системе.

sklimkin пишет:

Это уже не по моему уровню знаний.

просто сравните размер initrd в debian livecd и initrd в porteus.

16

vic5710 - спасибо за эти подробности.
А что же происходит в виртуальной машине - из памяти (выделенной этой машине) грузит в другой блок памяти?

17

механизм в общем-то один
1. процесс делает запрос ядру о размере необходимой памяти
2. ядро выделяет память и обозначает ее как занятую(недоступную другим процессам)
3.процесс сообщает ядру о освобождении памяти
4. ядро обозначает эту память как свободную(доступную)
и так м.б. неоднократно
хорошая иллюстрация - htop в отдельном окне и запустив ВМ понаблюдать за памятью

18

с наступающим новым годом!
здоровья, удачи, успехов в начинаниях и завершениях!
за сбычу мечт и встречность планов.

19

С Новым 2014-м годом (Виктор?)!
Вот такие направления развития live-debian наметились:
http://murga-linux.com/puppy/viewtopic.php?t=90660
В том числе и скрещивание Porteus + Debian.

20

just works это по моему- не знаю как но работает.
папирус я поразбирал и для себя решил- слишком много костылей.
мне ливсд нужен чтобы была ЗАВЕДОМО рабочая переносимая версия для конкретных задач, например тестирование сети и харда. Debian хорош тем что ядро совместимо почти со всем(у меня не было случаев чтобы не завелось) и пакетным манагером.
минус для меня- много неявных настроек.
слакварь- более простая структура, ежели есть опыт и знания настроить можно все как тебе надо. все контролирует админ.
вообще по мировому опыту ни один дебиан-based ливсд не сделан  модульным методом, а их подавляющее большинство.
в слаке наоборот- начиная со slax все ливсд модульные. там проще собирать модули в  отдельную папку. но все зависимости допиливает разработчик.
но динамическое отключение там не рекомендуется, есть возможность выбора модулей при загрузке.
уважаю ваше упорство но не одобряю вашу ориентацию на puppy.
желаю успехов.

21

вообще в портеусе структура отработана хорошо, так что может и есть смысл в таком скрещивании.
но однако:
1. не ломается - не ремонтируй
2. работает - не улучшай

22

посмотрел в VBox wheezy-porteus первое впечатление хорошее.
нет желания русифицировать?
счас изучаю макось, принесли макбук для апдейта, скоро отдавать, так что на творчество времени мало, а то помог бы.

23

посмотрел в VBox wheezy-porteus первое впечатление хорошее.
нет желания русифицировать?

Кроме меня там это никому не надо. А для себя я поставил xxkb - переключалка языка появилась.
Еще кое что по-мелочи и:

+ открыть спойлер

I'm not sure that it is necessary for "Deutsche Umlauten",
but for non-Latin is definitely needed - for example Cyrillic.

Change locale in Xfce on Debian (example for Russian lang) use terminal:
dpkg-reconfigure locales
locale
export LANG=ru_RU.UTF-8
export LANGUAGE=ru_RU.UTF-8
export LC_ALL=C

/etc/default/keyboard
    XKBMODEL="pc105"
    XKBLAYOUT="us,ru"
    XKBVARIANT=","
    XKBOPTIONS="grp:ctrl_shift_toggle,grp_led:scroll"

apt-get install xxkb
(deb 40 KB only)

Change manually:
/etc/X11/app-defaults/XXkb
    XXkb.mainwindow.enable: yes
    XXkb.mainwindow.geometry: 15×15+985-31
    XXkb.mainwindow.image.1: en15.xpm
    XXkb.mainwindow.image.2: ru15.xpm
    XXkb.mainwindow.image.3: su15.xpm
    XXkb.mainwindow.image.4:
    XXkb.mainwindow.label.font: -misc-*-r-*-20-*

    XXkb.mainwindow.type: tray
    ! possible values — normal, top, tray, wmaker

    XXkb.button.enable: no

xxkb
now You can see language-icon in bottom panel and can switch by keys "Control+Shift"

Comments:
1. ru_RU and ru15.xpm can be de_DE and de15.xpm or others.
2. Unfortunately it works until the terminal (see screenshot), if the terminal is closed, then everything disappears - will deal later.

Мне последняя сборка интересна именно тем, что система (кроме vmlinux) остается Дебианом.
Но при этом можно наращивать некоторые фичи из Пуппи.

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

Это круто!
Насчет помощи - всегда рад, при случае почитывайте ту тему, вот и появятся дельные советы.

24

sklimkin пишет:

Мне последняя сборка интересна именно тем, что система (кроме vmlinux) остается Дебианом.
Но при этом можно наращивать некоторые фичи из Пуппи.

porteus-initrd в принципе универсален.Можно и ядро от Деба поставить только модули ядра  родные нужны.

sklimkin пишет:

Это круто!

Круто-то круто, но вот знакомому дочь всю плешь переела этим маком, подарил ей на НГ , так за ночь она все обновила что ей рекомендовали на AppStore и к утру завис напрочь - инет отваливается регулярно, периодически все виснет.
Счас изучаю возможность отката - в инете пишут, что лучше пока не обновляться.
Прям времена WinXP вспомнил - сплошной бубен.
Сам ноут крут - запустил в VirtualBox свой диск, так даже сообщения загрузки не успел прочитать, работает очень быстро.
Пробовал откатиться с АппСтора - фигвам : старой версии уже нету.
ОС интересная, но админские задачи решать - мозги сносит, в основном рецепты типа : Щелкни кобылу в нос -> она должна махнуть хвостом.
Интерфейс юзера своеобразный, но врубаешься быстро, я понимаю людей которые с  мака не слезут никогда. Тачпад ваще песня, мыша можно в форточку сразу.

25

porteus-initrd в принципе универсален.Можно и ядро от Деба поставить только модули ядра  родные нужны.

Вот тут бы поподробней.
Если я через debootstrap --> chroot поставлю Debian (без live-boot и прочего) и заменю его initrd на Porteus'овский, то это будет работать?
Я в этом плохо разбираюсь. Только на примерах, увы.

26

sklimkin пишет:

будет работать?

При условии, что он для этой же версии ядра создан. Но в случае чего можно пересобрать initrd, man mkinitrd в помощь.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

27

yars пишет:

Но в случае чего можно пересобрать initrd, man mkinitrd в помощь.

man mkinitrd в данном случае не поможет. Porteus initrd создан именно для загрузки Porteus-LiveCD.
счас некогда заниматься, попробовать можно так:
1.распаковать initrd в отдельную папку
mkdir /tmp/image
cp initrd.xz /tmp/image
cd /tmp/image
mkdir 1
cd 1
xz -dc ../initrd.xz | cpio -iumd
2. в папке 1 заменить /lib/modules из Debian LiveCD (соблюдая пути /lib/modules для debian)
3. запаковать initd
cd 1
find .|cpio -o -H newc |xz -9 >../initrd.xz
4.в образе диска заменить vmlinuz на vmlinuz с debian livecd
5. mkisofs (genisoimage)
загрузить в ВМ для тестинга
попробуйте с диском wheezy-porteus, отпишитесь.
initrd нужен только для загрузки корневой фс, далее он роли не играет.

28 (03.01.2014 20:49:27 отредактировано sklimkin)

Не понял: что и чем заменяем.
Пожалуйста не экономьте слова.
Сейчас /image/1/lib/modules/ есть - это пустая DIR
Если в нее скопировать /modules/* из /debian/chroot/lib/ (например), то она реально распухнет на 74 MB (это для debian-wheezy)
У автора сборки Porteus-Wheezy.iso есть в initrd /unioncp размером 3.8 MB, но и там /modules/ пустая.
В работающей системе Porteus-Wheezy /lib - 64.8 MB  /lib/modules/ - 40.4 MB
То есть автор уже упаковал debian-овские /lib/modules в свой главный системный модуль /debian/base/01-port-wheezy.xzm
У него в initrd/linuxrc (@init) есть:
cp -a /unioncp/. /union/.
Больше ничего не нашел.

29

значит все необходимое вкомпилено в ядро и модули при загрузке initrd не нужны
другой вариант- не трогать initrd
1. заменить в образе vmlinuz на дебовское ядро.
2. в папке /porteus/base заменить модуль на свой filesystem.squasfs соотв нереименовать его на какой там был.
пересобрать перезапустить

30

другой вариант- не трогать initrd
1. заменить в образе vmlinuz на дебовское ядро.
2. в папке /porteus/base заменить модуль на свой filesystem.squasfs соотв нереименовать его на какой там был.
пересобрать перезапустить

Пробовал - не работает.

Во какой вариант сделал - он грузится, но спотыкается на якобы отсутствующем /bin/chroot (который есть, он Портеус-овский).
Извините, дальше на кривом аглицком:

+ открыть спойлер

Remake initrd from debian-wheezy-3.2 to porteus-debian:

1. unpack initrd.img-3.2.0-4-686-pae
------------------------------------
cp /live-boot-debian-wheezy/chroot/boot/initrd.img-3.2.0-4-686-pae /live-boot-portdeb/from-debian-wheezy/initrd.gz
gunzip initrd.gz   - now become file initrd 24.8 MB
mkdir ./tmp
cd ./tmp/
sudo cpio -i < ../initrd   - now initrd unpacked in /home/sklimkin/live-boot-portdeb/from-debian-wheezy/tmp/

2. copy from it ONLY /etc/* and /lib/* exclude /lib/modules/
------------------------------------------------------------
into: /live-boot-portdeb/initrd-image-for-wheezy-3.2/initrd2/
!!! Startup ISO-image stumbles here: /bin/chroot  - not found (whi ?)

3. repack new initrd
--------------------
sudo find .|cpio -o -H newc |xz -9 >../initrd.xz

!!! xz-compression not recognized by ISO-loader, then change to:
----------------------------------------------------------------
from /live-boot-portdeb/initrd-image-for-wheezy-3.2/initrd2 run:
sudo find .|cpio -o -H newc >../initrd.xz

4. make new filesystem.squashfs as 01-port-wheezy.xzm WITH EMPTY dir /boot:
---------------------------------------------------------------------------
sudo mksquashfs chroot 01-port-wheezy.xzm -e =boot= initrd.img vmlinuz

sudo chown -R sklimkin:sklimkin ./image

5. make remastered ISO-image
---------------------------------------
cd image && genisoimage -rational-rock -volid "Porteus-Debian Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../portdebian-wheezy-LXDE-sfs.iso . && cd ..

6. Load new ISO-image in VMware-Player
see screensot:

Автор создает доп.каталог unioncp в porteus initrd, и в него кладет /etc и /lib (без /lib/modules) из debian initrd.img-xxxxxx
а при загрузке этот unioncp копируется в "правильный"  для Портеуса каталог union.
Вот такие ухищрения, чтобы поиметь Портеус-загрузку с ее прелестями, но при этом сохранить систему как Debian, со всеми ее фичами.