1. 04 Sep, 2025 12 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix missing icon file issue on Windows build · 2a0531cf
      Stefy Lanza (nextime / spora ) authored
      - Make icon files optional in PyInstaller spec
      - Check for icon.ico existence before using it on Windows
      - Check for icon.icns existence before using it on macOS
      - Added ICON_INFO.md with instructions for creating icon files
      - Build will now succeed even without icon files present
      2a0531cf
    • Stefy Lanza (nextime / spora )'s avatar
      Add usb_spec file · 8a4863ab
      Stefy Lanza (nextime / spora ) authored
      8a4863ab
    • Stefy Lanza (nextime / spora )'s avatar
      579176ab
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Unicode encoding error on Windows in build_usb_creator.py · 10b2d3fd
      Stefy Lanza (nextime / spora ) authored
      - Replace Unicode checkmark characters (✓) with ASCII [OK] text
      - Replace Unicode X marks (✗) with ASCII [ERROR] text
      - Fixes UnicodeEncodeError with 'charmap' codec on Windows systems
      - Updated both build_usb_creator.py and BUILD_INSTRUCTIONS.md files
      10b2d3fd
    • Stefy Lanza (nextime / spora )'s avatar
      Fix chroot/sys unmount issue by targeting only chroot-specific rg/fd processes · 4dc65b5e
      Stefy Lanza (nextime / spora ) authored
      - Added 9999-cleanup-processes.hook.chroot to terminate only chroot-specific processes
      - Enhanced build.sh and cleanup.sh with targeted process termination
      - Only terminate rg/fd processes running inside chroot environment
      - Added documentation file SYS_UNMOUNT_ISSUE.md
      4dc65b5e
    • Stefy Lanza (nextime / spora )'s avatar
    • Stefy Lanza (nextime / spora )'s avatar
      Fix dependency detection in build script · 9c93d944
      Stefy Lanza (nextime / spora ) authored
       FIXED DEPENDENCY DETECTION:
      - Corrected import testing logic for PyQt6 and PyInstaller
      - Now properly detects installed packages instead of false negatives
      - Uses correct import names: PyQt6.QtWidgets and PyInstaller
      - Eliminates false 'missing dependency' errors when packages are installed
      
      TECHNICAL FIX:
      - Fixed import_tests dictionary for accurate package detection
      - Proper case-sensitive import checking
      - Resolves issue where installed packages were incorrectly flagged as missing
      9c93d944
    • Stefy Lanza (nextime / spora )'s avatar
      Update build script to check dependencies instead of auto-installing · bc563017
      Stefy Lanza (nextime / spora ) authored
       SAFER BUILD PROCESS:
      - Changed install_dependencies() to check_dependencies()
      - No longer automatically installs PyQt6/pyinstaller
      - Provides clear instructions if dependencies are missing
      - User must manually install: pip install -r requirements.txt
      - Added --check-deps option for dependency verification only
      
      TECHNICAL DETAILS:
      - More secure: doesn't modify user's Python environment
      - Better control: user chooses when to install packages
      - Clear feedback: shows which packages are missing
      - Improved workflow: separates dependency management from building
      
      USER WORKFLOW:
      1. pip install -r requirements.txt (manual)
      2. python3 build_usb_creator.py (checks deps then builds)
      3. Executable created if all dependencies satisfied
      bc563017
    • Stefy Lanza (nextime / spora )'s avatar
      Add MBetterClient Executable Customization to USB Creator · 2f668ea2
      Stefy Lanza (nextime / spora ) authored
       ENHANCED USB CREATOR with MBetterClient Replacement:
      - Added optional MBetterClient executable selection (checkbox controlled)
      - Replace default MBetterClient with custom version in ISO
      - Updates multiple locations in ISO structure for comprehensive replacement
      - Validation and file existence checking
      - Enhanced confirmation dialog showing all customizations
      
      TECHNICAL DETAILS:
      + MBetterClient selection UI group with browse functionality
      + replace_mbetter_client() method replaces executable in all ISO locations
      + Updated WorkerThread to handle MBetterClient parameter
      + Enhanced validation logic for executable file checking
      + Updated confirmation dialog to show all optional configurations
      
      USER WORKFLOW:
      1. Select ISO file (required)
      2. Choose USB device (required)
      3. Set root password (optional)
      4. Add OpenVPN config (optional)
      5. Replace MBetterClient executable (optional)
      6. Create customized USB with all configurations
      
      This completes the USB creator tool with full customization capabilities.
      2f668ea2
    • Stefy Lanza (nextime / spora )'s avatar
      Latest changes · cb1dcaef
      Stefy Lanza (nextime / spora ) authored
      cb1dcaef
    • Stefy Lanza (nextime / spora )'s avatar
      Add Visual Progress Bar to Auto-Installer · 8a105b29
      Stefy Lanza (nextime / spora ) authored
       ENHANCED AUTO-INSTALLER with Visual Progress:
      - Added zenity for graphical progress dialogs
      - Added dialog fallback for text-based progress
      - 8-step installation process with clear progress tracking
      - Real-time progress updates during installation
      - Professional completion dialog
      
      TECHNICAL DETAILS:
      + zenity package added for GUI progress bars
      + Progress tracking functions in auto-installer.sh
      + Visual feedback for all installation steps
      + Enhanced cleanup.sh to remove PyInstaller artifacts
      
      USER EXPERIENCE:
      - Live CD shows professional progress bar during installation
      - Clear step-by-step progress indication
      - Completion notification before reboot
      - Fallback to text mode if GUI unavailable
      8a105b29
    • Stefy Lanza (nextime / spora )'s avatar
      Major Release: Complete Autologin Fix + Professional USB Creator Tool · 6067043b
      Stefy Lanza (nextime / spora ) authored
      🚀 MAJOR FEATURES:
      
       AUTOLOGIN SYSTEM - COMPLETELY FIXED:
      - Fixed LightDM autologin that was previously broken
      - Created missing autologin infrastructure (groups, PAM configs)
      - Added USB boot compatibility (CD/DVD + USB drives)
      - Smart environment detection (live vs installed systems)
      
       PROFESSIONAL USB CREATOR TOOL (PyQt6):
      - usb_creator_gui.py: Cross-platform GUI application
      - Optional root password configuration (checkbox controlled)
      - Optional OpenVPN integration (checkbox controlled)
      - Standalone executables (PyInstaller build system)
      - Safe USB detection (removable devices only)
      
       AUTOMATIC INSTALLATION SYSTEM:
      - auto-installer.sh: Custom offline installer (not Calamares)
      - Immediate auto-start after autologin
      - Network-only user interaction
      - Offline capable (no internet required)
      - USB-aware disk detection
      
      🔧 TECHNICAL IMPROVEMENTS:
      
      AUTOLOGIN INFRASTRUCTURE:
      + config/hooks/live/setup-autologin.hook.chroot
      + config/includes.chroot/etc/pam.d/lightdm*
      + Enhanced config/includes.chroot/etc/lightdm/lightdm.conf
      
      INSTALLATION SYSTEM:
      + config/includes.chroot/usr/local/bin/auto-installer.sh
      + config/includes.binary/setup-installed-system.sh
      + Enhanced config/includes.chroot/root/.config/openbox/autostart
      + Updated config/preseed/debian-installer.cfg
      
      HARDWARE COMPATIBILITY:
      + 20+ WiFi firmware packages (Intel, Realtek, Atheros, Broadcom, etc.)
      + Comprehensive network tools (iw, wireless-tools, network-manager)
      + Hardware detection tools (lshw, hwinfo, pciutils, usbutils)
      - Removed non-existent packages (crda, mii-diag) with better alternatives
      
      USB CREATOR TOOLS:
      + usb_creator_gui.py: PyQt6 professional GUI
      + build_usb_creator.py: PyInstaller build automation
      + setup_usb_creator.py: One-click setup and launch
      + requirements.txt: PyQt6 dependencies
      + USB_CREATOR_README.md: Complete documentation
      
      📚 DOCUMENTATION:
      + CHANGELOG.md: Comprehensive version history
      + Updated README.md: Complete feature overview
      + USB_CREATOR_README.md: USB creator guide
      
       INSTALLATION FLOW:
      1. USB Boot → Autologin → Auto-installer starts immediately
      2. Network setup (only user interaction) → Offline installation
      3. Installed system → Autologin + MBetter Client + VPN
      
      🛡️ SECURITY & SEPARATION:
      - Live CD: Temporary passwordless root
      - Installed System: Proper password authentication
      - VPN configs: Only affect installed system
      - Password changes: Only affect installed system
      
      This release transforms MBetter from a basic live CD into a professional
      automated deployment platform with comprehensive hardware support and
      user-friendly creation tools.
      6067043b
  2. 01 Sep, 2025 22 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix sources.list syntax and mirror configuration · a41c04f0
      Stefy Lanza (nextime / spora ) authored
      - Fixed incorrect sources.list syntax that combined multiple mirrors on single lines
      - Removed Devuan security repositories from all configurations
      - Updated bootstrap and main config to use single mirrors properly
      - Added Debian testing-updates repository for additional packages
      - Ensured each repository has its own deb line with proper syntax
      - Prevents malformed sources.list that was causing build failures
      - Maintains proper repository hierarchy: Devuan primary, Debian fallback
      a41c04f0
    • Stefy Lanza (nextime / spora )'s avatar
      Fix bootstrap configuration for proper repository access · 17c41cc1
      Stefy Lanza (nextime / spora ) authored
      - Updated LB_ARCHIVE_AREAS to include non-free-firmware
      - Added Debian fallback mirrors to bootstrap configuration
      - Removed Devuan security mirror references from bootstrap
      - Ensures bootstrap phase has access to all required repositories
      - Critical for firmware package installation during initial setup
      - Aligns bootstrap config with main configuration settings
      17c41cc1
    • Stefy Lanza (nextime / spora )'s avatar
      Fix apt-update hook timing for proper package installation · 9fdc6515
      Stefy Lanza (nextime / spora ) authored
      - Renamed hook to 00-apt-update.hook.chroot to run first in chroot stage
      - Ensures apt-get update runs before any package installation
      - Added proper error handling with exit code checking
      - Hook now runs early enough to update package lists before firmware packages
      - Prevents 'package not found' errors during ISO build process
      - Critical for accessing firmware packages from Devuan and Debian repos
      9fdc6515
    • Stefy Lanza (nextime / spora )'s avatar
      Add apt-get update hook for chroot package installation · b4b7616f
      Stefy Lanza (nextime / spora ) authored
      - Created apt-update.hook.chroot to run apt-get update before package installation
      - Ensures chroot has current package lists from all configured repositories
      - Critical for firmware package installation from Devuan and Debian repos
      - Runs automatically during live-build process before packages are installed
      - Prevents package installation failures due to outdated package lists
      b4b7616f
    • Stefy Lanza (nextime / spora )'s avatar
      update to last changes · 59c9fee8
      Stefy Lanza (nextime / spora ) authored
      59c9fee8
    • Stefy Lanza (nextime / spora )'s avatar
      Remove Devuan security repos and fix firmware-nonfree naming · 74046e4b
      Stefy Lanza (nextime / spora ) authored
      - Removed Devuan testing-security repositories from all sources.list files
      - Removed Devuan security mirror references from main config
      - Changed all instances of 'firmware-nonfree' to 'non-free-firmware'
      - Updated preseed to use correct non-free-firmware component name
      - Updated apt preferences to remove Devuan security references
      - Maintains Debian security updates while removing Devuan security repos
      - Ensures consistent naming convention across all configuration files
      74046e4b
    • Stefy Lanza (nextime / spora )'s avatar
      Add complete repository configuration for chroot environment · ff9e648c
      Stefy Lanza (nextime / spora ) authored
      - Created sources.list in includes.chroot_before_packages for build-time access
      - Added Debian backports repository for additional packages
      - Created apt preferences file for proper package priority management
      - Devuan packages prioritized over Debian (pin-priority 900 vs 100)
      - Firmware packages from Debian get higher priority if not in Devuan
      - Security updates properly prioritized
      - Ensures chroot has access to all repositories during build process
      - Maintains compatibility between Devuan and Debian package ecosystems
      ff9e648c
    • Stefy Lanza (nextime / spora )'s avatar
      Add Debian repository support for comprehensive firmware packages · 545ef2e7
      Stefy Lanza (nextime / spora ) authored
      - Re-added all firmware packages to package list (WiFi, graphics, network)
      - Added Debian testing repository as additional source for firmware packages
      - Updated main config to include Debian mirrors for live-build
      - Ensures access to firmware packages not available in Devuan
      - Maintains Devuan as primary repository with Debian as fallback
      - Provides maximum hardware compatibility for WiFi and graphics cards
      545ef2e7
    • Stefy Lanza (nextime / spora )'s avatar
      Add firmware-nonfree repository support for comprehensive hardware compatibility · fe56c5b8
      Stefy Lanza (nextime / spora ) authored
      - Added firmware-nonfree to LB_ARCHIVE_AREAS in main config
      - Updated sources.list to include firmware-nonfree repository
      - Modified preseed to enable firmware-nonfree in installer
      - Ensures access to all firmware packages for maximum hardware support
      - Covers WiFi cards, graphics drivers, and other hardware firmware
      fe56c5b8
    • Stefy Lanza (nextime / spora )'s avatar
      Enhance cleanup script with comprehensive cleanup and root privileges · 2f731f37
      Stefy Lanza (nextime / spora ) authored
      - Added root privilege check (must be run with sudo)
      - Added removal of build logs (build.log, build_retry.log)
      - Added removal of .build directory
      - Added removal of cache directory
      - Added removal of all ISO files (*.iso)
      - Added automatic unmounting of chroot filesystems (dev/pts, dev/shm, proc, sys, etc.)
      - Added force unmount for any remaining mounted filesystems
      - Ensures clean state for subsequent builds
      - Prevents permission issues during cleanup
      2f731f37
    • Stefy Lanza (nextime / spora )'s avatar
      Add comprehensive hardware support with non-free packages and firmware · d0f2b6cd
      Stefy Lanza (nextime / spora ) authored
      - Added extensive firmware packages for WiFi, graphics, and network cards
      - Updated main config to include contrib and non-free repositories
      - Modified preseed to enable non-free components in installer
      - Created sources.list with full repository access for installed system
      - Added graphics drivers: Intel, AMD, NVIDIA support
      - Added WiFi firmware: Realtek, Atheros, Broadcom, Intel
      - Added network tools: wireless-tools, wpasupplicant, network-manager
      - Ensures broad hardware compatibility for 95%+ of modern devices
      d0f2b6cd
    • Stefy Lanza (nextime / spora )'s avatar
      Create main config file in root directory · 8b18f157
      Stefy Lanza (nextime / spora ) authored
      - Moved main config file to root directory as 'config'
      - This is the correct location for live-build to recognize it
      - Should finally resolve the 'config stage required' error
      - All settings consolidated in the main config file
      8b18f157
    • Stefy Lanza (nextime / spora )'s avatar
      Create main config file · cc78cb3d
      Stefy Lanza (nextime / spora ) authored
      - Added main config file to fix 'config stage required' error
      - Consolidated all configuration settings in one place
      - Includes Devuan merged repository and keyring settings
      - Should resolve the build configuration issue
      cc78cb3d
    • Stefy Lanza (nextime / spora )'s avatar
      Switch to Devuan keyring · aba72cd7
      Stefy Lanza (nextime / spora ) authored
      - Changed DEBOOTSTRAP_OPTIONS to use /usr/share/keyrings/devuan-archive-keyring.gpg
      - This matches the Devuan merged repository we're now using
      - Should provide better compatibility and avoid keyring conflicts
      - Consistent with Devuan-based build environment
      aba72cd7
    • Stefy Lanza (nextime / spora )'s avatar
      Fix build script to check log content instead of exit code · f5ab3d57
      Stefy Lanza (nextime / spora ) authored
      - live-build doesn't return correct exit codes on failure
      - Now checks for 'E:.*failure occurred' in build log
      - This properly detects build failures and triggers retry logic
      - Should now correctly handle the devuan-keyring error and retry
      f5ab3d57
    • Stefy Lanza (nextime / spora )'s avatar
      Improve build script error handling and logging · aa5c1717
      Stefy Lanza (nextime / spora ) authored
      - Added better logging for apt-get download command
      - Create separate build_retry.log for retry attempts
      - Improved error messages and log file management
      - Better tracking of build process and ISO file detection
      aa5c1717
    • Stefy Lanza (nextime / spora )'s avatar
      Fix build script to handle missing devuan-keyring · 570ff853
      Stefy Lanza (nextime / spora ) authored
      - Added error detection for missing devuan-keyring package
      - If devuan-keyring is missing, download it locally using apt-get download
      - Retry the build after downloading the package
      - This prevents build failure when devuan-keyring is not available
      570ff853
    • Stefy Lanza (nextime / spora )'s avatar
      Fix keyring issue with DEBOOTSTRAP_OPTIONS · 24c53406
      Stefy Lanza (nextime / spora ) authored
      - Replaced custom debootstrap script with DEBOOTSTRAP_OPTIONS
      - Uses --keyring=/usr/share/keyrings/debian-archive-keyring.gpg
      - This should resolve the keyring signature verification error on Devuan hosts
      24c53406
    • Stefy Lanza (nextime / spora )'s avatar
      Switch to SysVinit init system · 36ed0ffd
      Stefy Lanza (nextime / spora ) authored
      - Changed init system from systemd to sysvinit as requested
      - Updated package list: live-config-sysvinit, sysvinit
      - Kept debian-keyring and debian-archive-keyring for proper verification
      - Removed problematic devuan-keyring hook to avoid bootstrap conflicts
      - Updated README to reflect sysvinit usage
      - Maintained all other functionality (SSH, OpenVPN, auto-start, etc.)
      36ed0ffd
    • Stefy Lanza (nextime / spora )'s avatar
      Fix keyring issue and revert to systemd · 77ad2eb2
      Stefy Lanza (nextime / spora ) authored
      - Reverted to systemd init system (more compatible)
      - Updated package list: live-config-systemd, systemd-sysv
      - Removed problematic devuan-keyring hook that was interfering with bootstrap
      - Kept debian-keyring and debian-archive-keyring for proper Debian verification
      - Updated README to reflect systemd usage
      - This should resolve the keyring signature verification error
      77ad2eb2
    • Stefy Lanza (nextime / spora )'s avatar
      Switch to SysVinit and enhance keyring support · 375123bf
      Stefy Lanza (nextime / spora ) authored
      - Changed init system from systemd to sysvinit
      - Updated package list: live-config-sysvinit, sysvinit
      - Added debian-keyring and debian-archive-keyring for full keyring support
      - Created conditional hook for optional devuan-keyring installation
      - Updated README with sysvinit and keyring information
      - Maintained all existing functionality with improved compatibility
      375123bf
    • Stefy Lanza (nextime / spora )'s avatar
      Initial commit: Complete MBetter Debian Live ISO build system · 95a09011
      Stefy Lanza (nextime / spora ) authored
      - Live-build configuration with SSH, OpenVPN, Xorg, Openbox
      - Auto-start MbetterClient on boot with root login enabled
      - Minimal Debian installer with customizable root password
      - MBetter branding with converted logos from mbet.jpg
      - Automated build script with password prompting
      - Cleanup script to reset configurations
      - Cross-platform USB creation scripts (Windows .bat and Linux .sh)
      - Comprehensive README with usage instructions
      95a09011