gumanzoy · 02-Июн-25 11:27(3 месяца 29 дней назад, ред. 29-Авг-25 10:11)
LinuxPHB (nvidia-drivers, FurMark, Unigine Heaven, ddrescue, WHDD, DMDE) (2 ISO) Год Выпуска: 2025 Версия: 12.25.0001 Разработчик: gumanzoy Архитектура: x86, amd64 Язык интерфейса: Английский + Русский* Таблэтка: не требуется Системные требования: CPU: Intel или AMD
HDD/USBflash: 2GB минимум
RAM: 1Gb рекомендуется / 2Gb в режиме загрузки в память copy2ram Описание:
Компактный портативный Linux дистрибутив на базе Debian 12 Bookworm предназначенный для тестирования, обслуживания ПК, ноутбуков.
Позволяет проверить/продемонстрировать работоспособность оборудования, нагрузить процессор и видеокарту, мониторить температуру, проверить SMART HDD и NVMe SSD. В состав входят такие приложения, как CPU-X, GSmartControl, GParted, Partimage, Partclone, TestDisk, ddrescue, WHDD. Среда рабочего стола Xfce.
А также в виде модулей доступны FurMark2, GPUTest, Unigine Heaven, DMDE, Hard Disk Sentinel Linux, R-Studio for Linux, TeraByte Drive Image for Linux, Active@ UNDELETE и Partition Recovery. * Примечание: основной язык Английский, переводы есть только для ПО из состава Debian Возможности / особенности:
Версии ядра Linux: 6.10 и 5.10 для x86_64, 6.1 для i686. Для x86_64 ядер собраны модули OpenZFS. Ядро 5.10 собрано с патчем intel-nvme-remap из EndlessOS для обеспечения доступа к NVMe SSD при включенной в UEFI Setup настройке "Intel RST Premium With Optane" на платформах Intel Core i3/i5/i7 6-10ого поколений.
Содержит три версии проприетарных драйверов NVIDIA - актуальная 550.x, и legacy 390.x и 340.x. В скрипте начальной загрузки реализовано автоматическое определение видеокарт NVIDIA на основе PCI ID и загрузка модуля с соответствующей версией драйвера. Если требуется 340.x драйвер - при загрузке необходимо выбирать 5.10 ядро Linux. Видеокарты AMD и Intel всех поколений работают со свободными драйверами (никакой установки не требуют, и уже содержатся в виде модулей ядра Linux + userspace библиотек Mesa).
Размер дистрибутива оптимизирован для использования в режиме copy2ram (дает возможность после загрузки извлечь USB-носитель/сетевой кабель). При этом копируются в оперативную память только задействованные squashfs-модули, а не все содержимое .iso образа целиком.
Initrd базируется на коде Porteus, адаптированном для использования с Debian и OverlayFS проектом DogLinux. Используются система инициализации SysVinit. Для монтирования накопителей используется pup-volume-monitor (вместо gvfs и udisks2), при загрузке с ядрами 6.1 и 6.10 задействован драйвер ntfs3 вместо ntfs-3g.
Для ноутбуков с гибридными видеоподсистемами предусмотрен скрипт gpu-switch-launcher, который позволяет запустить FurMark2, GpuTest, Unigine Heaven на дискретной видеокарте, передав необходимые переменные окружения. Скриптом поддерживаются как драйвера NVIDIA, так и драйвера из состава Mesa (для видеокарт AMD и Intel). Для legacy драйверов 390.x и 340.x (из за отсутствия в них поддержки PRIME render offload) переключение на NVIDIA производится без возможности выбора.
Можно устанавливать необходимое дополнительное ПО из репозиториев Debian, а также создавать модули с помощью скриптов apt2squashfs и changes2sfs. squashfs-модули можно поместить на USB носитель в папку phb/modules (и phb/modules32 для i686 версии соответственно) для автоматического подключения при загрузке. Поддерживается активация squashfs-модулей после загрузки системы с помощью скрипта loadmodule или пункта Activate module в меню файлменеджера Thunar.
Shell-cкрипты и файлы конфигурации можно копировать на USB носитель в папку phb/rootcopy и они будут применены при загрузке без необходимости пересборки .iso образа и модулей.
Поддерживается загрузка в UEFI и Legacy/CSM режиме. В Ventoy (требуется версия 1.0.80 или новее) и grub4dos (версия 0.4.6a chenall). С устройств USB/SATA/NVMe, с файловых систем FAT32/exFAT/Ext2/3/4/NTFS. А также по сети через PXE с NFS. Secure Boot не поддерживается, его требуется отключать. Загрузка с файловой системы ZFS не поддерживается.
linuxphb_12_25_0001_vtgrub2.iso Комбинированный - содержит также i686 версию с ядром 6.1 без PAE для загрузки на старом железе. linuxphb_x64_12_25_0001_vtgrub2.iso Только x86_64 .iso образы не содержат проприетарного ПО (кроме firmware, nvidia-drivers и unrar)
Все проприетарное ПО, в т.ч. пролеченное может подгружаться с флешки из папок: phb/modules и phb/modules32 Модули соответственно x86_64 и i686 версий.
Запуск (важно!)
Secure Boot не поддерживается, его требуется отключать. Для Ventoy название .iso файла должно оканчиваться на _vtgrub2.iso регистр не важен.
Также можно распаковать папку(и) live, live32 на флешку с Ventoy и скопировать boot/grub/grub.cfg в ventoy/ventoy_grub.cfg для загрузки с F6 Модуль с переводами из состава Debian /live/lang/ru_RU.squashfs (общий для x86_64 и i686)
Активируется при загрузке в Ventoy автоматом, если в Ventoy выбран соответствующий язык меню.
Можно задать "VTOY_MENU_LANGUAGE": "ru_RU" в Global Control Plugin
Либо можно вбить вручную lang=ru при загрузке. Запись .iso образа напрямую на флешку с помощью dd также поддерживается, но не рекомендуется. Поддержка пользовательского extgrub.cfg (только в grub2/Ventoy, не работает при запуске из grub4dos)
Ищет на всех дисках сначала live/extgrub.cfg затем, если его нет - phb/extgrub.cfg Например чтобы использовать сохраненку changes=/phb или changes=EXIT:/phb
Скопировать extgrub.cfg.example из корня .iso в раздел с ext4 файловой системой в папку phb и переименовать в extgrub.cfg Разумеется extgrub.cfg можно редактировать как угодно. Для загрузки .iso в grub4dos скопировать (удалив символ #) из файла boot/grub/menu.lst семь строк в основной menu.lst
Код:
title PHB Linux
set ISO=linuxphb_12_25_0001_vtgrub2.iso
find --set-root --ignore-floppies --ignore-cd /%ISO%
map /%ISO% (0xff)
map --hook
root (0xff)
configfile /boot/grub/menu.lst
Обратите внимание на параметр ISO=. Должно быть указано актуальное имя .iso файла.
Для включения загрузки модуля /live/lang/ru_RU.squashfs добавьте
Код:
set langm=lang=ru
Также можно распаковать папку(и) live, live32 на флешку с grub4dos и использовать boot/grub/menu.lst для загрузки (удалять # при этом не нужно). Для ускорения загрузки и минимизации потребления памяти (при запуске с copy2ram) следует выборочно копировать на флешку модули из папки phb/modules
Особенно обратить внимание на модуль unigine-heaven-4.0.squashfs его можно переместить например в корень флешки или в папку phb, активировать при этом вручную по необходимости уже после загрузки системы. В файлменеджере в меню правой кнопки мыши пункт Activate module. Модуль /live/lang/ru_RU.squashfs можно скопировать на флешку в папки phb/modules и phb/modules32 и он будет подгружаться автоматически без указания lang=ru. Для того чтоб работало определение и загрузка модуля для видеокарты NVIDIA автоматом по PCI ID - по умолчанию прописано nvidia=detect
Указать конкретную версию соответственно: nvidia=nv340nvidia=nv390 или nvidia=nvidia для загрузки последней версии. В сборку включен x0tigervncserver 1.15.0. Поддерживает синхронизацию буфера обмена. Клиент под Linux можно использовать Remmina. Под винду UltraVNC Варианты запуска:
Если сгенерирован пароль с помощью команды vncpasswd то запускается с ним.
Файл /root/.config/tigervnc/passwd можно положить в модуль, в папку phb/rootcopy или просто сохранится в сохраненке.
Если в cmdline прописан vnc=пароль то запускается с этим паролем.
Если в cmdline прописан просто читкод vnc - запускается без пароля.
В чем отличие от моих предыдущих сборок на базе DogLinux
Разработка сборочной инфраструктуры и базовой системы ведется с использованием системы контроля версий git.
Репозиторий на github.com
.iso не содержит проприетарного ПО (кроме firmware, nvidia-drivers и unrar).
Доработан initrd. Все проприетарное ПО, в т.ч. пролеченное может подгружаться с флешки из папок phb/modules и phb/modules32
При загрузке в Ventoy из .iso файла не используется хук. Вместо этого подставляется значение $vt_chosen_path в параметр from=
Для сжатия 01-filesystem.squashfs, а также модулей chromium, mpv и unigine-heaven используется zstd вместо xz - это немного ускорило запуск системы и запуск указанного софта. Немного увеличился размер.
yad и gtkdialog переведены на gtk3. Xdialog и gtkdialog-splash исключены из состава, переработаны скрипты в которых они использовались.
Изменен внешний вид. Конфиги Xfce созданы с нуля. Изменены настройки шрифтов. Набор значков заменен на полноцветные numix-icon-theme
Загрузка по сети через PXE с NFS
Папки live и live32 должны быть доступны по nfs по пути /srv/pxe/. Можно переопределить через параметр nfspath=
IP адрес сервера с nfs нужно передать через параметр ip=. syslinux/pxelinux может сделать это сам, нужно указать ipappend 1
Конфиг pxelinux.cfg/default
Моя статья на habr.com. По сути это краткая инструкция по использованию сборки. Экспресс диагностика ПК/ноутбуков без необходимости установки драйверов Речь пойдет о x86 ПК/ноутбуках/моноблоках. О том как проверить функционирование различных подсистем ноутбука: дисплей, клавиатуру, тачпад, USB порты, сетевые карты Ethernet и WiFi, встроенные динамики, WEB-камеру, микрофон. Проверить показатели состояния АКБ, показатели S.M.A.R.T. HDD и SSD, в том числе NVMe. Проверить температуру и стабильность работы CPU и GPU под нагрузкой. В каких случаях это может понадобится:
ПК/ноутбук/моноблок (новый или б/у) поставляется без ОС
При экспресс проверке ПК после сборки, из новых или б/у комплектующих
Устройство поступило в ремонт с извлеченным загрузочным SSD/HDD
В установленной ОС не работают одна или несколько подсистем (тачпад, звук, WiFi, WEB-камера)
Пароль на пользователе ОС, либо активирован BitLocker
Спасибо за релиз. Потестировал немного загрузку через PXE, с загрузчиком iPXE. Всё загружается и работает отлично. Пока что протестировал только варианты x64 и её же но с copy2ram. Хотелось бы ещё повозится с возможностью сохранения изменений. Но тут вылазит проблема. Дело в том, что nfs шара монтируется внутри linuxphb в режиме только чтения. Думаю стоит либо добавить какой-нить параметр, либо указать в инициализации, что при наличии параметра changes (не важно какое именно у него будет значение), nfs шару монтировать в режиме rw. Как по мне, лучше первый вариант. Просто добавить параметр, для примера, nfsrw. Если он указан, монтировать nfs в режиме rw. А так же, если это возможно, то как-то указать, что при использовании параметра changes, искать указанный в нём каталог относительно примонтированной nfs шары. Для примера я указываю changes=/phb, а внутри самой linuxphb ищет этот каталог по пути /mnt/nfs.
87871562Спасибо за релиз. Потестировал немного загрузку через PXE, с загрузчиком iPXE. Всё загружается и работает отлично. Пока что протестировал только варианты x64 и её же но с copy2ram. Хотелось бы ещё повозится с возможностью сохранения изменений. Но тут вылазит проблема. Дело в том, что nfs шара монтируется внутри linuxphb в режиме только чтения. Думаю стоит либо добавить какой-нить параметр, либо указать в инициализации, что при наличии параметра changes (не важно какое именно у него будет значение), nfs шару монтировать в режиме rw. Как по мне, лучше первый вариант. Просто добавить параметр, для примера, nfsrw. Если он указан, монтировать nfs в режиме rw. А так же, если это возможно, то как-то указать, что при использовании параметра changes, искать указанный в нём каталог относительно примонтированной nfs шары. Для примера я указываю changes=/phb, а внутри самой linuxphb ищет этот каталог по пути /mnt/nfs.
Насчет сохранения изменений в nfs шару. Я этот код не тестировал никогда.
Не думаю что кто то будет этим пользоваться.
По уму нужно перенести этот код в обработку параметра changes
И наверно отдельную(!) nfs шару для этого монтировать в /memory/changes
Но это все планы на отдаленное на будущее. По поводу PXE важнее сделать возможность загрузки по http.
Думаю приспособить для этого wget из состава busybox (он уже есть в initrd).
Скачиваться модули будут в оперативку (т.е. это только режим copy2ram будет).
Но потребуются значительные изменения в коде поиска модулей.
И код для разбора index.html
Это тоже планы на будущее, но с несколько большим приоритетом.
Спасибо что делитесь наработками, очень полезно. Появился вопрос: в сборках доглинух в граб2 меню был пункт тест видеопамяти, в этой сборке такой есть?
87904278Появился вопрос: в сборках доглинух в граб2 меню был пункт тест видеопамяти, в этой сборке такой есть?
Не было.
Там 2 memtest: memtest86+ и memtest86. И не в grub2, а в syslinux и systemd-boot
Они тестируют оперативную память.
Их можно скачать отдельно и запустить из Ventoy https://gumanzoy.blogspot.com/2025/03/tools-ventoy.html