Сайт | Скачать | Видео | Wiki

Автор Тема: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy  (Прочитано 3639 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #30 : 14 Март 2022, 10:39:25 »
Если nvidia-detect - это параметр ядра, обрабатываемый уже в дистре - я ничего вашего не ломал.
nvidia_detect обрабатывает мой патченый /usr/local/cr-initrd/initramfs/linuxrc из Porteus Initrd. https://gumanzoy.blogspot.com/2021/08/nvidia-doglinux-porteus-initrd.html

1. Локализации вырезаны безвозвратно. Вы же из пакетов собирали. Сложно было сделать рус. модуль?
В Bullseye build script добавлена возможность не вырезать локализации. В любом случае если оставить mo из пакетов - локализация будет только частичная. А полную я делать не буду.

Готовых модулей софта почти нет. Сам юзер не соберет.
У меня нет времени заниматься сборкой и поддержкой в актуальном состоянии различных модулей.
Собрал то что нужно мне для работы. Дистр предназначен для техников/инженеров. Соберут с помощью apt2sfs ничего сложного в этом нет.

У меня нет фругала на деб11 и пока не планируется
Если интересно - можем вместе доделать этот дистр . В одиночку по этой теме больше ничего не планирую
Мне - нет. И локализацией заниматься тоже нет.
Если кому то интересно, проще взять Bullseye build script  и собрать с нуля.

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #31 : 13 Июль 2022, 22:07:41 »
Обновление 2022.07.12

Пересобрал 01-filesystem.squashfs из пакетов Debian 11.4 с добавлением man-db и сохранением англоязычных man страниц (В предыдущих сборках все man'ы были вырезаны).
И в amd64 версии добавил библиотеки /lib/i386-linux-gnu/ для запуска 32bit бинарников.

Чтобы это все автоматизировать подправил скрипт mklive-bullseye.
Запускается mklive-bullseye-gumanzoy -cli mklive-bullseye64-xfce-gumanzoy.conf
или mklive-bullseye-gumanzoy -cli mklive-bullseye32-xfce-gumanzoy.conf
Файл 01-filesystem.squashfs будет в bullseye/isodata/live/

Добавил dpkg --add-architecture i386
В mklive-bullseye64-xfce-gumanzoy.conf добавлена установка libjpeg62-turbo:i386 libncursesw5:i386 libncursesw6:i386 libstdc++6:i386 libxcursor1:i386 libxext6:i386 libxft2:i386 libxinerama1:i386 zlib1g:i386
Отключил smartd. Он мне не нужен в live системе.
Код
+[ "$ARCH" = "amd64" ] && dpkg --add-architecture i386
+
+echo path-exclude=/etc/init.d/smartmontools > etc/dpkg/dpkg.cfg.d/smartd
+echo path-exclude=/usr/sbin/smartd >> etc/dpkg/dpkg.cfg.d/smartd
Для библиотеки libpng12 пришлось городить такую ерунду. Потому что на github'е doglinux репы fredx181 разные для amd64 и i386.
Да еще и dpkg --force-overwrite пришлось добавить из за коллизии.
Код
+if [ "$ARCH" = "amd64" ]; then
+! [ -f var/cache/apt/archives/libpng12*_i386.deb ] && \
+wget --no-check-certificate https://github.com/doglinux/bulldog/raw/master/i386/libpng12-0_1.2.50-2+deb8u3.2_i386.deb \
+-P var/cache/apt/archives
+dpkg --force-overwrite -i var/cache/apt/archives/libpng12*_i386.deb
+fi
32bit ядро нужно без pae для совместимости.
Код
-[ "$ARCH" = "i386" ] && apt-get -o dir::cache::archives="/tmp/tmpapt" install -d linux-image-686-pae -y
+[ "$ARCH" = "i386" ] && apt-get -o dir::cache::archives="/tmp/tmpapt" install -d linux-image-686 -y
Взял код из livekit Slax cleanup для распаковки man'ов
Предпочитаю удалить /usr/share/doc и info. И оставить только англоязычные man'ы.
Код
+# Unzip gzipped files (man pages), so LZMA can compress 2times better.
+# First we fix symlinks, then uncompress files
+# $1 = search directory
+uncompress_files()
+{
+   local LINK LINE
+
+   find "$1" -type l -name "*.gz" | while read LINE; do
+      LINK="$(readlink "$LINE" | sed -r 's/.gz$//')"
+      FILE="$(echo "$LINE" | sed -r 's/.gz$//')"
+      ln -sfn "$LINK" "$FILE"
+      rm -f "$LINE"
+   done
+   find "$1" -type f -name "*.gz" | xargs -r gunzip
+}
+
+uncompress_files etc/alternatives
+
 if [ "$KEEPMANDOC" = "FALSE" ]; then
 find /usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/man -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
 find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
     chown -R man:root usr/share/man
+else
+find usr/share/doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/gtk-doc -type f -exec rm -f {} 2> /dev/null \;
+find usr/share/info -type f -exec rm -f {} 2> /dev/null \;
+rm -f usr/local/bin/man
+rm -fr usr/share/man/??
+rm -fr usr/share/man/??.*
+rm -fr usr/share/man/*_*
+uncompress_files usr/share/man
+    chown -R man:root usr/share/man
 fi
Для тех же манипуляций с man'ами и очистке ненужного при сборке модулей сварганил /usr/local/lib/cleanup
И импортировал функцию в скрипты  apt2sfs apt2sfs-fullinst и remastercow
Все это добавил в 05-customtools.squashfs/usr/local/

Если у кого есть желание можете еще немного подправить и пересобрать 01-filesystem.squashfs без вырезания русской локализации и манов.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32959
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #32 : 14 Июль 2022, 09:16:20 »
Взял код из livekit Slax
Этот вариант видели?

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #33 : 14 Июль 2022, 10:08:56 »
@sfs
Про minios-live знаю. Но не смотрел толком. В любом случае там systemd и еще много чего переделывать придется, напрмер вероятно там copy2ram как в slax копирует всю папку live, а не только включенные sfs модули по списку.
Да от скрещивания ежа с ужом вполне возможно выйдет польза, но времени много потратить нужно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32959
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #34 : 15 Июль 2022, 09:18:09 »
https://www.opennet.ru/opennews/art.shtml?num=57501
Чтобы постить на опеннет новости достаточно там зарегаться?
+ за обновление и развитие

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #35 : 15 Июль 2022, 10:45:18 »
Чтобы постить на опеннет новости достаточно там зарегаться?
Даже регаться на надо.

Добавить свою новость https://www.opennet.ru/announce_news.shtml

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #36 : 17 Июль 2022, 08:49:10 »
Представляю официальный .iso liveusb-doglinux-loader.iso (2.2MB GoogleDrive)  ;D
В нем загрузчики и конфиг grub4dos: grldr bootx64.efi bootia32.efi menu.lst Он просто ссылается на doglinux.lst Обновлять его не нужно будет!
Код
find --set-root /doglinux.lst
configfile /doglinux.lst
Изначально сделал для Zalman ZM-VE / iODD. Но будет полезен не только для упрямых пользователей этих железок.
Его нужно положить в _ISO на Zalman, а в корень скопировать файл grub4dos/doglinux.lst, папки live и live32
При этом должен быть выбран режим DUAL MODE - буква "D"

Для всех остальных, кому нужен полный .iso. В него можно с помощью таких программ (с графическим интерфейсом - изззи!) как isomaster (Linux) / UltraISO (Windows) добавить папки live и live32. При этом для уменьшения размера .iso можно не добавлять не нужные модули:
  • Папки: live32 и/или live/hwe
  • Модули: live/modules/chromium-103.0.5060.53.squashfs
  • live/optional/dkms.squashfs и live/optional/headers-*
  • live/optional/unigine-heaven4.0.squashfs
  • live/optional/nv* - модули драйверов nVidia
Также необходимо добавить в корень .iso файл grub4dos/doglinux.lst Который нужно предварительно отредактировать - вырезать все вхождения "nocd" или (если созданный полный образ планируется использовать только на настоящих CD/DVD, KVM-over-IP Virtual Media или Zalman ZM-VE / iODD) - заменить "nocd" на "nohd".

Под Linux можно вместо использования isomaster извлечь содержимое liveusb-doglinux-loader.iso в папку, удалить файл boot.cat, и после добавления всего остального пересобрать командой
Код
genisoimage -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -boot-info-table -eltorito-alt-boot -e efi.img -no-emul-boot -o bootable.iso папка_с_файлами_DogLinux


UPD: Проверил на двух ноутбуках Asus grub4dos bootx64.efi не видит HDD часть Zalman'а ZM-VE300. При этом обычные флешки видит. В Legacy режиме grldr работает без проблем.
На Acer и HP работает в обоих режимах.
« Последнее редактирование: 18 Июль 2022, 10:33:47 от gumanzoy »

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #37 : 18 Июль 2022, 20:42:42 »
Проверил minios-bullseye-xfce-standard-ru-amd64-zstd-20220712_0045.iso с ventoy, грузится. Сразу видно, iso собирается по стандартным правилам Больших Дистрибутивов. Наши же сборки и сборки MagOS не стартуют, в отличие от PuppyLinux, которые тоже поддерживаются ventoy
ptixtreks с рутрекера сделал DebianDog.iso который загрузился в Ventoy. При этом никаких изменений в Porteus Initrd не потребовалось.

Цитата: ptixtreks
вот, типа, "шаблон" , распаковываем, добавляем в него /live и /live32 и делаем образ:
$ grub-mkrescue -o DebianDog.iso ./debdog
Как это работает я пока не разбирался. Помог ему только подправить конфиг grub.cfg
То что я сам пытался делать напрямую в xorriso и genisoimage. Грузится в Ventoy только если докинуть папку live прямо на флешку.

UPD. Оказалось не все так просто. В своем Debian не могу повторить сборку iso. grub-mkrescue собирает только для i386-pc
Вроде разобрался. Нужно установить пакеты grub-common grub-pc-bin grub-efi-amd64-bin
« Последнее редактирование: 18 Июль 2022, 22:19:03 от gumanzoy »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4959
  • Репутация: +127/-1
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #38 : 18 Июль 2022, 22:57:55 »
Вроде разобрался. Нужно установить пакеты grub-common grub-pc-bin grub-efi-amd64-bin
А можно тогда шаблон пересобрать, с учетом этих файлов и выложить? Если конечно решение универсально.

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #39 : 19 Июль 2022, 00:27:58 »
В общем разобрался. Шаблон не нужен.
В моем случае в папке должны быть
Код
boot/grub/grub.cfg
live
live32
Код: grub.cfg
loadfont unicode
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
insmod all_video
set gfxpayload=keep
set timeout=30

submenu '[DebianDog 64bit Linux]' {
    menuentry "DebianDog 64bit Linux" {
        echo 'Loading ...'
        linux /live/vmlinuz1 \
        nvidia_detect noauto from=/ extramod=/live/firmware mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/initrd1.xz
    }
    menuentry "DebianDog 64bit Linux Copy2RAM" {
        echo 'Loading ...'
        linux /live/vmlinuz1 \
        copy2ram nvidia_detect noauto from=/ extramod=/live/firmware mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/initrd1.xz
    }
    menuentry "DebianDog 64bit Linux HWE" {
        echo 'Loading ...'
        linux /live/hwe/vmlinuz1 \
        nvidia_detect noauto from=/ extramod=/live/firmware\;/live/hwe noload=k-5.10 mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/hwe/initrd1.xz
    }
    menuentry "DebianDog 64bit Linux HWE Copy2RAM" {
        echo 'Loading ...'
        linux /live/hwe/vmlinuz1 \
        copy2ram nvidia_detect noauto from=/ extramod=/live/firmware\;/live/hwe noload=k-5.10 mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/hwe/initrd1.xz
    }
    menuentry "DebianDog 64bit + UnigineHeaven Copy2RAM" {
        echo 'Loading ...'
        linux /live/vmlinuz1 \
        load=heaven copy2ram nvidia_detect noauto from=/ extramod=/live/firmware mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/initrd1.xz
    }
    menuentry "DebianDog 64bit HWE + UnigineHeaven Copy2RAM" {
        echo 'Loading ...'
        linux /live/hwe/vmlinuz1 \
        load=heaven copy2ram nvidia_detect noauto from=/ extramod=/live/firmware\;/live/hwe noload=k-5.10 mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/hwe/initrd1.xz
    }
    menuentry "DebianDog 64bit Linux autorun=winpasswd" {
        echo 'Loading ...'
        linux /live/vmlinuz1 \
        autorun=winpasswd copy2ram auto noload=modules from=/ extramod=/live/firmware mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/initrd1.xz
    }
    menuentry "DebianDog 64bit Linux load=dkms;headers for kernel module building" {
        echo 'Loading ...'
        linux /live/vmlinuz1 \
        load=dkms\;headers noauto from=/ extramod=/live/firmware mitigations=off nvme_core.default_ps_max_latency_us=5500
        initrd /live/initrd1.xz
    }
}
submenu '[DebianDog 32bit Linux]' {
    menuentry "DebianDog 32bit Linux" {
        echo 'Loading ...'
        linux /live32/live/vmlinuz1 \
        noauto from=/live32 extramod=/live/firmware mitigations=off
        initrd /live32/live/initrd1.xz
    }
    menuentry "DebianDog 32bit Linux Copy2RAM" {
        echo 'Loading ...'
        linux /live32/live/vmlinuz1 \
        copy2ram noauto from=/live32 extramod=/live/firmware mitigations=off
        initrd /live32/live/initrd1.xz
    }
    menuentry "DebianDog 32bit Linux autorun=winpasswd" {
        echo 'Loading ...'
        linux /live32/live/vmlinuz1 \
        autorun=winpasswd copy2ram auto noload=modules from=/live32 extramod=/live/firmware mitigations=off
        initrd /live32/live/initrd1.xz
    }
}
В host системе должны быть установлены пакеты (для Debian) grub-common grub-pc-bin grub-efi-amd64-bin

Собирается вот так
Код
grub-mkrescue --locales= -volid DogLinux20220712 -m rstudio* -m tbusuite* -o DebianDogDVD-20220712-free.iso ./DebianDog

grub-mkrescue --locales= -volid DogLinux20220712 -o DebianDogDVD-20220712-warez.iso ./DebianDog

grub-mkrescue --locales= -volid DogLinux20220712 -m unigine* -m dkms* -m headers* -m *vulkan* -m hwe* -m nv*.squashfs -m rstudio* -m tbusuite* -o DebianDogCD-20220712-free.iso ./DebianDog

grub-mkrescue --locales= -volid DogLinux20220712 -m live32* -m unigine* -m dkms* -m headers* -m chromium* -o DebianDogCDx64-20220712-warez.iso ./DebianDog

Вот так mount выглядит при запуске в Ventoy без copy2ram

UPD: Чтобы образы работали в Ventoy должна быть включена экспериментальная настройка VTOY_LINUX_REMOUNT

DebianDogDVD-20220712-warez.iso - полная версия.
DebianDogDVD-20220712-free.iso - не содержит модулей R-Studio и TeraByte.
DebianDogCD-20220712-free.iso - вырезаны nvidia-drivers, Unigine Heaven, R-Studio, TeraByte.
DebianDogCDx64-20220712-warez.iso - только 64bit версия, вырезаны Unigine Heaven и Chromium.
« Последнее редактирование: 20 Июль 2022, 20:34:10 от gumanzoy »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32959
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #40 : 20 Июль 2022, 10:06:46 »
Т.к. вы продолжаете поддерживать свой дистр у нас на форуме - закрепил вашу тему (т.е. будет всегда в топе). Если надо - могу трансформировать вашу тему в раздел и сделать вас ее модератором. Надо?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 32959
  • Репутация: +225/-0
  • Автор темы
    • PuppyRus-A
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #41 : 20 Июль 2022, 12:39:02 »
Создание пакета пустышки
Используете в своем дистре? какие пакеты? В виде репы не выложено?

Оффлайн gumanzoy

  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +4/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #42 : 20 Июль 2022, 13:05:34 »
Создание пакета пустышки
Используете в своем дистре? какие пакеты? В виде репы не выложено?
В модуле chromium
В виде deb пакета он и не особо нужен.
Прикрепил xdg-desktop-portal-dummy_1.0_all.deb Переименовал в gz
« Последнее редактирование: 20 Июль 2022, 14:21:42 от sfs »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 4959
  • Репутация: +127/-1
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #43 : 20 Июль 2022, 20:01:08 »
Приятно было увидеть Netsurf в DebianDogCD-20220712-free.iso. Пытался добиться, чтобы и в сборках sfs он был в качестве дополнительного легкого браузера, обосновывая удобством чтения информации при загрузке с вирта. Он быстро грузится, он легкий в отношении памяти и т.д. и т.п., что еще надо для вирта. ) Но не нашел понимания, где-то добавили, где-то нет, без всякого системного подхода.

Известно, что Netsurf плохо отображает сайт ютуба, но есть Invidious — альтернативный YouTube-фронтенд, можно добавить ссылку в закладки и смотреть через mpv.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2241
  • Репутация: +27/-0
Re: DogLinux (Debian LiveCD в стиле Puppy Linux) от gumanzoy
« Ответ #44 : 05 Август 2022, 20:44:02 »
- как-то запускал  крайнюю сборку( с-под g4d). # на посмотреть состав, еtс...
-- pppoe-"utils"  не было - а так из-под-сборки может и пргодилось бы....
-- приятно было увидеть "инициализацию-tty"-где-неперекидывает-вдругой-tty ( как в паппи и др многих фругаллах)
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.