LinuxForum.Fans
Тема

Сборка своего debian: debootstrap--chroot--ISO-image

Автор: sklimkin 40 сообщений 19951 просмотров
#337660

Вот пошаговая инструкция (если англ.яз. не препятствие):
http://blog.willhaley.com/create-a-custom-debian-live-environment/
Делал по ней и получил СВОЙ 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-образ удобны тем, что без проблем, связанных с их установкой и перезагрузкой системы, их можно грузить в виртуальную машину из основной системы и легко переключаться между ними.

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

#337661

Я немного "почикал" свой лог установки 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

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

#337662

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

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//live-boot_ds/chroot/boot/vmlinuz-3.2.0-4-686-pae /home//live-boot_ds/image/live/vmlinuz1

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

==== change owner from root to my ():
$ sudo chown -R : ./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) !!!
--------------------------------------------------------------------------------

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//live-boot_ds/chroot/
... ... ...
Всего записано байт: 1122570240 (1,1GiB, 11MiB/s)
--------------------------------------------------------------------------------

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

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

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

Здесь на форуме делал заметку на тему:
Создание в виртуальной машине из 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 МБ

#350884

Вот еще один опыт минимизировать 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

#350906

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

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

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

Модификация настроек сборки debian-wheezy-LXDE-live.iso
Учитывая моду на разглядывание картинок выложил скриншоты.
Добавлена 2-я панель вверху десктопа.
1-я нижняя и 2-я верхняя панели сделаны "скрываемыми".
https://docviewer.yandex.ru/?url=ya-disk-public://OTQbq5PdUhqrBAVXXzWabFUBmH5t06TxZ0x87N57cus%3D%3A%2Fdebian-wheezy-LXDE-live%20VMware%201.png&name=debian-wheezy-LXDE-live%20VMware%201.png
показана новая верхняя панель, в окне Midnight-Commander выделены директории и их размеры - столько места будет занимать система на реальном диске.
https://docviewer.yandex.ru/?url=ya-disk-public://OTQbq5PdUhqrBAVXXzWabFUBmH5t06TxZ0x87N57cus%3D%3A%2Fdebian-wheezy-LXDE-live%20VMware%202.png&name=debian-wheezy-LXDE-live%20VMware%202.png
загружено 12 приложений (видно на нижней панели) и показан расход памяти - программа top
https://docviewer.yandex.ru/?url=ya-disk-public://OTQbq5PdUhqrBAVXXzWabFUBmH5t06TxZ0x87N57cus%3D%3A%2Fdebian-wheezy-LXDE-live%20VMware%203.png&name=debian-wheezy-LXDE-live%20VMware%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

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

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

#351994

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

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

#355516

Заново сделал 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
#356709

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)

#357161

В поисках более стабильной работы с 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

#357183

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

#357270

Здравствуйте 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 но имхо он монтируется два раза и поэтому они не видны

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

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

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

"sklimkin" написал:
Это уже не по моему уровню знаний.

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

#357379

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

#357446

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

#358070

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

#358148

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

Войдите или зарегистрируйтесь, чтобы ответить.