31 (06.01.2014 03:32:14 отредактировано vic5710)

что-то слишком уж сложно. Это вы делали ?
/bin/chroot д.б. в initrd или не будет входа в union. возможно в /usr/bin/chroot или /sbin/chroot
в дебе и слаке м.б. разные пути.
С маком почти уже разобрался, закончу сделаю вам мануал  по initrd.
Оказалось все просто - переход на новую OS  - новые технологии энергосбережения(AppNat). А в приложениях, которые зависают Apple рекомендует этот AppNat отключать и всего лишь.Реально у меня повис когда я включил компиляцию двух проектов, закачку из инета и просмотр фильма одновременно.
И по дефолту включено резервное копирование было, так что разбил диск пополам и воссстановил покупочную версию на втором разделе, можно выбирать при загрузке. Таки защита от очумелых ручек на уровне.
Загружаемся с ДебЛив, в консоли вводим which chroot
видим /usr/sbin/chroot.
Поэтому и не видит
Можно  сделать ссылку
ln -s /usr/sbin/chroot /bin/chroot
проверка ls -l /bin/chroot

32 (06.01.2014 19:14:25 отредактировано sklimkin)

что-то слишком уж сложно. Это вы делали ?

Нет, это на Мурге:
http://murga-linux.com/puppy/viewtopic. … ;start=420
автор: fredx181
У него-то работает, без ссылки в Дебиане на chroot

Но в загрузчике linuxrc initrd.xz (Портеус) есть:
chroot как ссылка на /bin/busybox
Я повторил все, но с другой сборкой Debian, чтобы убедиться в надежности метода.
Дебиановский initrd.xz грузится и отрабатывает linuxrc до последней строки, а потом выдает, что не находит chroot

Вот последние строки initrd/linuxrc:

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

echo $i"changing root directory"
if param noauto; then
nofstab=yes
    for x in `grep /mnt/ /etc/fstab | cut -d/ -f3`; do mkdir -p /union/mnt/$x; umount -n /mnt/$x 2>/dev/null && rmdir /mnt/$x; done
else
    grep /mnt/ /etc/fstab >> /union/etc/mtab
    for x in `grep /mnt/ /etc/fstab | cut -d/ -f3`; do mkdir -p /union/mnt/$x; mount -n --move /mnt/$x /union/mnt/$x; rmdir /mnt/$x; done
fi
echo $i"Copying files from original debian initrd..."
echo ...
cp -a /unioncp/. /union/.
sed -i 's/ ntfs / ntfs-3g /g' /etc/fstab
echo -e "\n# Hotplugged devices:" >> /etc/fstab
if [ $nofstab = "" ]; then
cp -f /etc/fstab /union/etc 2>/dev/null
fi
umount -n /lib/modules 2>/dev/null
rm -r /lib/* /usr/*

debug
echo """live system is ready now - starting Debian"""
cp -f /union/sbin/init /bin
if [ $? -eq 0 ]; then
    pivot_root /union  /union/mnt/live
    exec bin/chroot . /mnt/live/bin/init "$@" <dev/console >dev/console 2>&1
else
    echo -e """!!ERROR!!\nSomething went wrong and I cannot continue.\nPress Ctrl+Alt+Del to reboot."""
    sh
fi

P.S. Мой косяк.
initrd.xz можно изменять - если правильно, то будет работать.
Проблема в моем базовом модуле 01-port-wheezy.xzm - он не может загрузиься.
Я его делал через debootstrap-->chroot
Заменил его на авторский и система успешно загрузилась.
Буду разбираться.

33

если ядро от портеус то и не будет работать модули ядра то в rootfs дебиановские.
интересней бы было:
ядро Debian +инирд портеус+образ системы Debian
скрещивать slackware с debian не знаю что за гибрид будет

смотрел крайний портеус-много переделок, старые версии попроще были

34 (08.01.2014 17:59:30 отредактировано sklimkin)

Все оказалось проще:

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

1. есть сборка debian - например wheezy 3.2.0-4-686-pae
2. есть сборка porteus - например Porteus-LXDE-v2.1-i486.iso
3. распаковываются initrd.img  и initrd.xz из этих сборок соответственно, например так:
xz -dc initrd.xz | cpio -i
4. в распакованном initrd.xz добавляеся новый DIR unioncp и в него копируется из распакованного initrd.img ТОЛЬКО /etc и /lib причем /lib/modules должен быть ПУСТЫМ (его надо очистить)
5. в initrd/linuxrc надо заменить все 'porteus' на 'debian' также модифицировать все "'changes setup' например в строке 340:
echo " $m changes-exit"; mount -no remount,add:1:/memory/images/changes-exit=ro+wh aufs /union
6. упаковать измененный initrd в initrd.xz, например так:
find . -print | cpio -o -H newc 2>/dev/null | xz -f --extreme --check=crc32 > ../initrd.xz
или так: find .|cpio -o -H newc >../initrd.xz
xz-compression может не поддерживаться загрузчиком syslinux - тогда надо упаковать initrd.xz без компрессии
7. в основной сборке debian надо сделать в /bin symlink chroot на busybox
8. в сборке debian очистить /boot и удалить в корне симлинки initrd.img vmlinuz
9. в сборке debian удалить /lib/modules/3.2.0-4-686-pae, а вместо этого вставить /lib/modules/3.9.11-porteus из сборки porteus
10. упаковать главный модуль новой системы например так:
sudo mksquashfs chroot 01-port-wheezy.xzm -comp xz   - компрессия xz
или так:
sudo mksquashfs chroot 01-port-wheezy.xzm   - компрессия по умолчанию gz
11. сигнатуру "wheezy-i486.sgn" изменить как в initrd/linuxrc так и в имени этого файла в новом ISO-image (а можно ничего этого и не делать).
12. упаковать новую систему в ISO-image.

Реализация:
http://murga-linux.com/puppy/viewtopic. … ;start=255
и далее, автор fredx181
http://www.smokey01.com/saintless/Porteus-Wheezy/

Примечания:

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

0. все это не более, чем эксперименты в поисках компромисов между 'xxx' и 'yyy'.
1. возможно какой-то нюанс я пропустил ...
2. система при ядре и инитрд от Портеус остается реальным Debian'ом, но замена ядра на Портеус уже не позволит обновлять систему именно как Debian.
3. все это проделано для того, чтобы иметь grugal debian "очищенный" от убогого ныне live-boot и замененного на live-porteus.
4. создание своей сборки на основе Debian с минималистическим уклоном чревато тем, что костыли конфигурации системы, невидимые в полной версии, начинают проявляться самым неожиданным образом (долго объяснять, поэтому добавлю - ИМХО!).
5. если "привязка" к deb-ядру несущественна, то лучше переходить на SlackWare, например тот же Porteus - он более внятный и менее костыльный.

Повторение этого с моей Дебиан-сборкой (под LXDE) работает, но загрузчик Slim стал каким-то кривым.
После ввода логин-пассворд приходися Ctrl+Alt+F1 и затем startx
Тогда загружается мой Debian с LXDE и прочим.
Кривизна Slim и раньше иногда случалась, но помогало из сборочного chroot:
apt-get install --reinstall slim
и заново собрать ISO-image.
Возможно это результат "минималистической" установки LXDE.

35

я когда-то писал на live.debian.net, получил ответ что live-build и прочее применяются для создания ОФИЦИАЛЬНЫХ live-дисков ∆ебиан. Предложили скачать официальный ISO и пользоваться, в общем послали лесом.
Если хотите Slackware попробовать есть SalixOS - преднастроенная сборка 100% совместимая http://salixos.org .

36 (16.01.2014 19:28:47 отредактировано sklimkin)

Загрузка пользовательских модулей sfs (squashfs) и пакетов deb - режим FRUGAL или Live-CD
Скрипт load-module.sh успешно загружает и выгружает squashfs-модули. Спасибо Фреду из Голландии.

Я вспомнил свои упражнения с gtkdialog и сделал дополнение к этому скрипту.
gtkdialog не очень хорошо приспособлен для работы с циклами типа 'for ... do'
Скрипт может загружать пользовательские модули, может и выгружать их, но не совсем правильно - т.е. не из списка в 'combobox'.

Сейчас нужен список уже загруженных модулей для их деактивации.
Но я не нахожу способ для вставки имен уже загруженных модулей в 'combobox' (COMBOBOX).
Пока там только <NONE>, item 1, item 2, ..., item 12.
Вероятно строка-переменная в начале моего скрипта:
INSTALLED="... ... ..." (подсмотрел у 'sfs' на puppyrus.org)
должна помочь в этом, но я не знаю, как ее задействовать.

Некоторые пояснения:

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

0. поскольку скрипт должен работать с разными типами модулей, я переименовал его load-module.sh --> load-modules.sh (для старого названия надо исправить его имя в скрипте 'user-modules_1')
1. главной задачей было облегчить выполнение скрипта load-modules.sh
2. работу скрипта проверил только с *.sfs (squashfs), надо проверить с *.deb
3. меню в скрипте оставил для возможной доработки:
   'About' и 'Run Programs' работают правильно,
   'Help --> man busybox' пока записывает все в 'mod-list',
   меню можно расширить, а можно и удалить
4. gtkdialog-скрипт пишет свой лог-файл в 'mod-list'
   туда попадает командная строка для load-modules.sh и значения переменных.
5. StatusBar - тоже пока примитивный - содержит неизменяемую строку-подсказку.
6. у меня скрипт load-modules.sh находится по старому в /scripts, в новой версии он находится в /usr/bin и называется load-module.sh  - надо исправить в строках 26 и 44.

Если кто-то исправит мой скрипт (правильный список в 'combobox'), я буду благодарен.
Надеюсь, это пригодится не только мне.

P.S.
Я вспомнил, как трудно читать чужие запутанные скрипты.
Подумал и решил сделать скрипт действительно минимальным.
Его новое имя user-modules_2, размер 1.5 KB
Убрал из него почти все.
А предыдущий вариант пусть останется для возможного развития (может быть для изучения кем-то возможностей gtkdialog).

Здесь нельзя прикрепить файл, поэтому возьмите здесь:
http://debianforum.ru/index.php?topic=6 … 2#msg55752

P.P.S. Это 3-й вариант gtkdialog для load-unload *.sfs модулей и *.deb пакетов.
Добавил правильную выгрузку модулей через combobox.
Взять можно там же.

37

Вот новая версия интеграции Портеус в Debian.
Криво работал SLIM, заменил его на Lightdm
Размер сборки немного увеличился, но исчезли проблемы загрузки.
Система по-прежнему остается Debian-Wheezy

portdebian-wheezy-LXDE-sfs.iso 205.5 MB
http://yadi.sk/d/Mvrcqj1TGF3PB

38

Debian-Dog - Debian GNU/Linux OS in two modes:
Light-Debian + Porteus-Debian = 2 in 1 ISO image Debian OS.
Легкий-Дебиан + Портеус-Дебиан = 2 в 1 ИСО образе Debian ОС.

Главные особенности этой разработки:

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

1. debian (wheezy) в качестве базовой системы
2. минимализм (насколько это возможно для системы с Xorg графической надстройкой)
3. возможность для пользователя расширять систему (через apt-get или Synaptic)
4. возможность подключать готовые модули с программами в виде *.squashfs и *.pet (puppy) а также модифицированных *.deb
5. возможность для пользователя создавать готовые модули с программами в виде *.deb и *.squashfs (*.sfs) из загруженных и установленных в систему исходников *.tar.gz или нескольких *.deb с возможностью их минимизации
6. включение в систему уникальных возможностей из puppy-linux при сохранении самой системы как настоящий Debian
7. система (в обеих модификациях) представляет из себя FRUGAL и остается LIVE,
   об этом можно посмотреть: http://puppylinux.org/wikka/FrugalOrFullInstallation
8. работа с debian репозиториями должна ВСЕГДА начинаться с команды в теминале: sudo apt-get update

Система уже вполне работоспособна, но при этом постоянно усовершенствуется,  добавляется функционал. Например смена рабочего стола с IceWM на JWM, работа в системе как root:marina так и puppy:puppy

Система содержит набор самых "ходовых" программ и утилит, при этом выбраны минимальные по размеру и потреблению ресурсов.
Для установки дополнительных программ есть терминал и apt-get, или графический менеджер deb-пакетов Synaptic.

В качестве десктоп-оконного менеждера используется:
в Light-Debian IceWM,
в Porteus-Debian XFCE4.
предусмотрено 4 вируальных десктопа, ( в Light-Debian каждый со своей картинкой).

Размер окна (экрана) изменяется утилитой LXRandr, текущее разрешение 1152x864.
На рабочем столе Light-Debian видна иконка H3V - одного из минимальных web-браузеров.
На рабочем столе Porteus-Debian видна иконка Browse - IceWeasel web-браузер.
Система легко модернизируется утилитой Remaster-Dog (в Porteus-Debian Remaster-porteus-wheezy) - текущая версия создана именно так.

Утилита htop показывет текущий расход памяти:
для Light-Debian в 50 МБ (из 248 МБ).
для Porteus-Debian в 62 МБ (из 248 МБ).

В Porteus-Debian на рабочем столе есть справа "окно" conky.


Разработчики системы вполне обходятся только английским языком.
Поэтому мною дополнительно выполнена минимальная локализация ru_RU системы:
xxkb и значек в главной (нижней) панели для индикации текущей раскладки клавиатуры флагами Eng--Rus (в Porteus-Debian USA--Russia).

Для "связи с внешним миром" в обоих версиях системы дополнительно установлены программы SSH-host и Midnight-Commander.

Для настройки сети есть frisbee (из виртуальной машины сеть устанавливается автоматически по DHCP).

Модифицированная версия Debian-Dog (минимальная русификация, mc и SSH-host):

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

LightDebian-PortDebian.iso - 219,0 МБ
http://yadi.sk/d/trKfqOVmKQGis
about_LightDebian-PortDebian.txt
http://yadi.sk/d/0TeNhucRKQGVL

Снимки экрана (screenshots).

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

Показана загрузка обоих вариантов системы Debian-Dog в виртуальной машине VMware-Player, которой выделено для работы всего 256 МБ оперативной памяти на основной машине:
LightDebian-VMware Player-1.jpg
http://yadi.sk/d/Lbyn7LiwKQH22
LightDebian-VMware Player-2.jpg
http://yadi.sk/d/w_K8IfXOKQHM9
LightDebian-VMware Player-3.jpg
http://yadi.sk/d/7VCThHgJKQHRq
PortDebian-VMware Player-1.jpg
http://yadi.sk/d/DYaEVqkrKQHWr
PortDebian-VMware Player-2.jpg
http://yadi.sk/d/wRVl5tWBKQHai
PortDebian-VMware Player-3.jpg
http://yadi.sk/d/M66EKfF9KQHe2
PortDebian-VMware Player-4.jpg
http://yadi.sk/d/TTOgDEZyKQHhw

Вариаций на тему "Debian & Ubuntu" бесконечно много.
Debian-Dog можно рассматривать как конструктор для тех, кто хочет и может экспериментировать. Модульность этой системы и включенные в нее инструменты модульности и модификации позволяют изменять ее расширяя (или сужая) функционал и сохранять различные свои варианты системы.
Впрочем ничто не мешает установить ее в представленном здесь виде на флеш-карту и иметь "походный" вариант Линукс-системы.

Для более подробной информации о разработке системы под именем Debian-Dog читайте тему (если английский язык не препятствие):
murga-linux.com/puppy/viewtopic.php?t=90660

39

Debian-wheezy-ARM для PDA HP iPAQ hx4700

Есть качественная готовая к установке на указанный "наладонник" сборка:
http://fds-team.de/cms/articles/2012-12 … image.html
но ее невозможно загрузить на десктопе в qemu-эмуляторе для доработки:
нет модулей vmlinuz-3.7-rc7-versatile и initrd.img-3.7-rc7-versatile
(пользователи root:ipaq user:hx4700)

Поэтому для самостоятельной доработки я выбрал wheezy-3.2.0-4-versatile:
- vmlinuz-3.2.0-4-versatile
- initrd.img-3.2.0-4-versatile
- debian_wheezy_armel_standard.qcow2 (образ готовой файловой системы)
- initrd.gz (модуль для сетевой установки базовой системы)

Образ debian_wheezy_armel_standard.qcow2 - консольная версия, в нем нет Xorg и прочего для десктопа.
Можно с помощью initrd.gz дополнить его десктопной начинкой и программами,
это будет работать в qemu-эмуляторе и не будет работать на реальном устройстве.
Нет модуля zImage для загрузки системы на PDA (iPAQ hx4700).

Что необходимо для повторения на десктопе/ноутбуке:
1. установленная система linux (debian, ubuntu, ...)
2. установленная в системе вирт.машина (эмулятор) qemu
3. скачанные по ссылкам (ниже) модули versatile и некоторые другие
4. умение читать не по-диагонали и терпение
5. наличие HP iPAQ hx4700 желательно, но не обязательно

Здесь будет показано:
1. возможность загрузить базовую ARM-систему по сети и "нарастить" ее для себя
2. создание, форматирование и изменение виртуального диска (qemu-образа) qcow2
3. конвертирование между файловой системой (rootfs) и ее qemu-образом qcow2
4. создание zImage для загрузки системы на реальном устройстве hx4700
5. перенос файловой системы и загрузчика на SD-card (CF-card) - для hx4700

(пользователи root:root user:user)
Для возможности компилировать свои программы установил linux-headers
Далее читать файл: qemu-debootstrap-chroot.txt
Любителям картинок расшаренные DIR's: screenshots-*

Ссылки для закачки:

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

Debian-wheezy-ARM - shared DIR
http://yadi.sk/d/Xod-pYvRLZypG

zImage Размер: 1,7 МБ
http://yadi.sk/d/orvGwT42LZxnF

vmlinuz-3.2.0-4-versatile Размер: 1,3 МБ
http://yadi.sk/d/XHRU2ezrLZxsC

initrd.img-3.2.0-4-versatile Размер: 7,5 МБ
http://yadi.sk/d/1Ut1cLVhLZxuW

initrd.gz Размер: 4,3 МБ
http://yadi.sk/d/GmmyevM_LZxyY

5_rootfs-3.2.0-4.tar.gz Размер: 197,3 МБ
http://yadi.sk/d/jfsCRnq9LZy6C

qemu-debootstrap-chroot.txt Размер: 49 КБ
http://yadi.sk/d/1jRypX8yLZyAJ

Кросскомпиляция в ARM под Ubuntu.txt Размер: 11 КБ
http://yadi.sk/d/jUOuRZsNLZxks

SD-card_fat16 - shared DIR
http://yadi.sk/d/f0FF-DHXLZyRR

screenshots-netinstall - shared DIR
http://yadi.sk/d/mHDfDEEALZyT7

screenshots-work-in-qemu-1 - shared DIR
http://yadi.sk/d/snHOI9LiLZyXb

screenshots-work-in-qemu-2 - shared DIR
http://yadi.sk/d/teWKb-qTLZyeg

photo-work-on-iPAQ-hx4700 - shared DIR
http://yadi.sk/d/tuiudE44LZykn

40 (07.04.2014 12:12:59 отредактировано sklimkin)

Некоторые дополнения к предыдущему сообщению.

0. Предисловие
Debian-embedded имеет большие репозитории и адаптированные привычные программы.
qemu пожалуй единственный доступный эмулятор для ARM-архитектуры.
В сети по этому вопросу сведения разбросанные и в основном на английском языке.
Вспомнил, что авторское описание процесса после "продолжительных тренировок"
часто бывает маловразумительным при взгляде со стороны (при взгляде новичка).
Постараюсь изложить процесс доходчиво (насколько сумею).
Здесь описана работа для HP iPAQ hx4700 потому, что делал для него.
Но я думаю, что многое будет справедливо и для других устройств (архитектур).

Виртуальная машина (эмулятор) qemu должен быть установлен в Вашей системе:

sudo apt-get install qemu

- в Ubuntu это была несколько устаревшая версия,
   поэтому скачал исходники qemu-1.7.0 и установил qemu заново.

Особенно следует отметить - из дальнейшего описания будет видно что:
Система Debian-wheezy-armel создается с нуля, без единого готового модуля.
Используются только qemu-debootstrap, chroot и компиляция ядра из исходников.
А после компиляции из исходников ядра создаются zImage и /lib/modules
Это рабочая система, которую можно также конвертировать в qcow2-образ для qemu.
Но есть два условия: файл .config для компиляции ядра должен быть ПРАВИЛЬНЫМ,
ядро должно содержать все небходимые патчи. Иначе будут нерабочие /lib/modules
Таким образом файл .config приобретает ключевое значение для успеха всей работы.

Подробное руководство для ARM-наладонника HP iPAQ hx4700 на английском:
http://fds-team.de/cms/articles/2012-12 … image.html
с иллюстрациями и необходимыми ссылками (5 страниц сайта, плюс архив модулей).
И в отличии от официального Debian-armel использует более "легкие" модули.

Далее читайте:
make-your-own-not-Intel32-debian-system.txt Размер: 21 КБ
http://yadi.sk/d/RVoRK4IqLknZ9

Подключение в qemu готовой системы, установленной на SD-card:
screenshots-SD-card-qemu - shared DIR
http://yadi.sk/d/-zvykeoqLknAS