- 05 Sep, 2025 15 commits
-
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Create mbetterclient user with no password in installed system - Configure inittab for mbetterclient autologin on tty1 instead of root - Set up mbetterclient .bashrc to launch MBetterClient --web-host 0.0.0.0 - Only autolaunch on tty1 (not SSH sessions) - Update installation success messages to reflect mbetterclient autologin - Maintain root SSH access with configured password
-
Stefy Lanza (nextime / spora ) authored
- Ensure root password is properly set and not expired in installed system - Add passwd -u root to unlock account if needed - Add chage -d 99999 root to remove password expiration - Create SSH config allowing root login with password - Fix ensures SSH access works immediately after installation
-
Stefy Lanza (nextime / spora ) authored
- Add cleanup code to remove auto-installer.sh from target system - Remove installation log file from target system - Exclude auto-installer log from rsync copy (but keep script for installation) - Auto-installer now self-destructs after successful installation - Keeps installed system clean by removing installation artifacts
-
Stefy Lanza (nextime / spora ) authored
- Replace zenity-based progress with terminal progress bar - Remove blocking pipe operations that were causing script hangs - Add visual progress bar with filled/empty blocks - Remove zenity completion dialog for terminal compatibility - Clean up unused PROGRESS_PIPE variable - Progress now works reliably in all terminal environments
-
Stefy Lanza (nextime / spora ) authored
Enhanced network configuration with full user interaction: WiFi Support: - Automatic wireless interface detection using iw - Network scanning with SSID selection - Security protocol selection (WPA/WPA2, WEP, Open) - Password input for secured networks Ethernet Support: - Automatic ethernet interface detection - Interface selection from available options IP Configuration: - DHCP (automatic) or Static IP options - Manual IP address, gateway, and DNS server entry - Validation and configuration storage Installation Integration: - Network configuration applied to installed system - Creates /etc/network/interfaces with user settings - Configures DNS resolution for static setups - Preserves WiFi credentials and settings Package Dependencies: - Added iw, wpasupplicant, dhcpcd5 for full WiFi support - Maintains existing comprehensive wireless driver support The auto-installer now provides complete network setup during installation, configuring the target system with user-specified network preferences.
-
Stefy Lanza (nextime / spora ) authored
- Zenity dialog was hanging in terminal environment without proper GUI context - Replaced unreliable GUI dialogs (zenity/dialog) with terminal confirmation - Added clear warning display with colored output for visibility - Simplified confirmation logic with case statement for multiple valid inputs - Auto-installer now continues reliably without GUI dialog dependencies Terminal confirmation is more reliable in live CD terminal environments.
-
Stefy Lanza (nextime / spora ) authored
- Fixed lsblk output parsing that was causing syntax error at line 138 - Added head -1 and tr -d to handle multiple lines or whitespace in lsblk output - Added numeric validation to prevent arithmetic errors - Applied same fix to both disk detection functions (lines 138 and 244) Auto-installer now runs without syntax errors and properly detects disk sizes. Autologin system fully operational - console passwordless, SSH requires password.
-
Stefy Lanza (nextime / spora ) authored
- Openbox autostart was also trying to launch auto-installer using x-terminal-emulator - This created conflict with .xinitrc launch method - Removed installer launch from autostart to avoid duplicate processes - .xinitrc now handles installer launch exclusively with proper timing - Semicolon syntax was actually correct (run next command regardless of exit status) - Prevents multiple installer instances and launch conflicts
-
Stefy Lanza (nextime / spora ) authored
Major Discovery: - live-config scripts 0030-live-debconfig_passwd and 0030-user-setup were setting root password to '*' (locked) during boot - This explains why SSH with configured password was failing - Scripts were also trying to create 'user' account instead of using root Solution: - Created override-live-config-passwd.hook.chroot - Replaces both password-related live-config scripts - Preserves root password set during ISO creation - Prevents account locking by live-config - Forces LIVE_USERNAME=root instead of creating separate user This completes the live-config override suite: - inittab autologin (prevents user login prompt) - password preservation (enables SSH with configured password) - proper root account handling throughout boot process
-
Stefy Lanza (nextime / spora ) authored
- Start openbox-session in background first to establish window manager - Wait 2 seconds for window manager to initialize - Then launch auto-installer in terminal window - Use 'wait' to keep X session alive instead of double-exec - Prevents duplicate Openbox instances and ensures proper startup sequence
-
Stefy Lanza (nextime / spora ) authored
Root Cause Identified: - live-config script /usr/lib/live/config/0160-sysvinit was overwriting inittab at runtime - Script was replacing all getty entries with '/bin/login -f user' instead of root - This happened AFTER our inittab modifications during boot process Solution: - Created override-live-config-sysvinit.hook.chroot to replace the problematic script - New script forces LIVE_USERNAME=root instead of default 'user' - Uses proper traditional getty -a syntax: /sbin/getty -a root 38400 tty1 - Maintains tty2-6 as normal login shells for debugging This should finally resolve the autologin issue by preventing live-config from overwriting our carefully crafted inittab entries during boot.
-
Stefy Lanza (nextime / spora ) authored
- Fix inittab examples in ISO_MODIFICATION_WORKFLOW.md - Replace agetty --autologin with getty -a root syntax - Use standard 38400 baud rate format - Ensure all examples match traditional SysV init compatibility
-
Stefy Lanza (nextime / spora ) authored
- Replace agetty --autologin with traditional getty -a root syntax - Remove bash expansion {2..6} and use explicit tty entries - Remove linux parameter that may not be supported in older systems - Use standard 38400 baud rate format - Ensure compatibility with traditional SysV init systems Traditional SysV inittab entries now: 1:23:respawn:/sbin/getty -a root 38400 tty1 # Autologin 2:23:respawn:/sbin/getty 38400 tty2 # Normal login 3:23:respawn:/sbin/getty 38400 tty3 # Normal login ...etc -
Stefy Lanza (nextime / spora ) authored
Major Changes: - Replaced LightDM/SLiM with direct console autologin using SysV inittab - Fixed root account locking that prevented autologin - Added comprehensive SSH configuration for remote access - Created robust auto-start X session with auto-installer launch - Added terminal emulator support (xterm, lxterminal, xfce4-terminal) Key Features: - tty1: Auto-login as root → auto-start X → auto-installer appears - tty2-6: Normal login shells for debugging access - SSH: Uses root password from ISO creation (not hardcoded) - Installed system: Auto-login + OpenVPN + MBetterClient with --web-host 0.0.0.0 Tools Added: - extract_iso.sh / rebuild_iso.sh: Immediate ISO modification workflow - fix_inittab_in_image.sh: Complete ISO analysis and rebuild - Enhanced cleanup.sh with --no-cache option for faster rebuilds - Comprehensive diagnostic tools and logging Build System: - SysV init compatible (no systemd dependencies) - Clean package list (removed display managers, added xinit) - Proper inittab format compliance (max 4 char ID fields) - Enhanced post-installation system configuration Files Modified: - config/hooks/live/setup-console-autologin.hook.chroot (new) - config/hooks/live/enable-ssh-root.hook.chroot (enhanced) - config/hooks/live/run-autologin-debug.hook.chroot (new) - config/package-lists/live.list.chroot (cleaned, added terminals) - config/includes.chroot/root/.bashrc (auto-start X) - config/includes.chroot/root/.xinitrc (auto-installer launch) - config/includes.binary/setup-installed-system.sh (OpenVPN + MBetterClient) - config/includes.chroot/usr/local/bin/live-autologin-debug.sh (new) - Various diagnostic and logging enhancements
-
- 04 Sep, 2025 25 commits
-
-
Stefy Lanza (nextime / spora ) authored
- Add confirm_installation() function with detailed warning dialog - Show target disk information (size, model, device path) - Warn users that all data will be completely erased - Support graphical confirmation (zenity), text-based (dialog), and terminal fallback - Require explicit 'yes' confirmation before proceeding - Add as step 4 before any disk partitioning or formatting - Update total steps from 8 to 9 and renumber subsequent steps - Installation can be safely cancelled without any changes to target disk - Improves safety by preventing accidental data loss
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Use PowerShell Format-Volume cmdlet as primary formatting method - More reliable than diskpart with better error handling - Get drive information before formatting for verification - Keep diskpart as fallback method only - PowerShell doesn't require script files and works more consistently - Should resolve blank diskpart window and script access issues - Modern approach using native Windows PowerShell cmdlets
-
Stefy Lanza (nextime / spora ) authored
- Show script content and file size in debug output - Display exact diskpart command being executed - Capture and display diskpart stdout and stderr - Show diskpart exit code for better error analysis - Use Windows ANSI (cp1252) encoding for better diskpart compatibility - Should reveal why diskpart window remains blank and help identify the root cause
-
Stefy Lanza (nextime / spora ) authored
- Use cp1252 (Windows ANSI) encoding instead of UTF-8 for diskpart script - Diskpart expects ANSI encoding and may not read UTF-8 files correctly - Should resolve issue where diskpart window remains blank - File creation and reading now use consistent Windows-compatible encoding
-
Stefy Lanza (nextime / spora ) authored
- Remove incorrect file existence verification that was triggering stdin fallback - User confirmed script file exists and is visible during execution - Faulty check was causing blank diskpart window (stdin mode) - Now always uses script file approach since file creation is actually working - Resolves diskpart execution issue where working script file was being bypassed
-
Stefy Lanza (nextime / spora ) authored
- Detect when script file disappears after successful creation - Fall back to piping diskpart commands via stdin instead of script file - Bypasses Windows security features that may block/virtualize temp files - More reliable approach when file system access is restricted - Addresses issue where file appears created but doesn't actually exist - Resolves diskpart script access problems on secured Windows systems
-
Stefy Lanza (nextime / spora ) authored
- Add detailed status messages for each directory attempt - Explicit UTF-8 encoding for script file creation - Verify file exists and has content after creation - Enhanced error reporting with specific failure reasons - Better handling of permission errors vs other exceptions - Final verification before using script path - Will help identify exactly where script creation fails
-
Stefy Lanza (nextime / spora ) authored
- Detect if running as PyInstaller executable using sys.frozen - Use different directory priority order for PyInstaller vs development: - PyInstaller: prioritize user home directory and executable location - Development: prioritize current working directory - Include executable directory (sys.executable) as fallback for PyInstaller - Ensures diskpart script creation works reliably in both scenarios - Addresses file access issues when running as compiled executable
-
Stefy Lanza (nextime / spora ) authored
- Replace tempfile.NamedTemporaryFile with manual file creation in Windows temp directory - Use Windows TEMP/TMP environment variables for script location - Add file existence verification before running diskpart - Enhanced error handling for FileNotFoundError and subprocess errors - Robust cleanup that won't fail if file deletion fails - Add specific handling for diskpart exit code 2 (file not found) - Resolves '[WinError 2] the system cannot find the file specified' error
-
Stefy Lanza (nextime / spora ) authored
- Improve diskpart script to use disk selection instead of volume - Add disk number detection for more reliable USB targeting - Add fallback formatting using Windows 'format' command - Handle timeout errors (exit code 2147755049 / 0x80070079) - Add timeout handling with 60-second limit - Enhanced error messages for diskpart-specific issues - Better handling of USB drives that may be slow or busy - Resolves 'Command returned non-zero exit status 2147755049' error
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Add is_admin_windows() function to check for administrator privileges - Require administrator privileges on Windows startup with clear instructions - Enhanced error handling in USB writing to detect elevation errors - Provide clear guidance on running as administrator - Handle WinError 740 and other elevation-related errors - Resolves 'The requested operation requires elevation' error
-
Stefy Lanza (nextime / spora ) authored
- Replace placeholder with full Windows USB writing implementation - Use diskpart for USB drive formatting and partitioning - Implement file copying with robocopy and Python shutil fallback - Add bootloader file copying to make USB bootable - Enhance USB device detection on Windows: - Show drive letters, volume names, and sizes - Fallback to Windows API for drive type detection - Better user-friendly device labeling - Resolves 'Windows USB writing not implemented' error
-
Stefy Lanza (nextime / spora ) authored
- Try 7z from PATH first - Fallback to default installation directories: - C:\Program Files\7-Zip\7z.exe - C:\Program Files (x86)\7-Zip\7z.exe - Better error handling for extraction failures - Improves compatibility with standard 7-zip installations on Windows
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
- Fix Qt.AlignCenter -> Qt.AlignmentFlag.AlignCenter (line 227) - Fix QLineEdit.Password -> QLineEdit.EchoMode.Password (password fields) - Fix QMessageBox constants to use StandardButton enum - Fix app.exec_() -> app.exec() for PyQt6 compatibility - Resolves AttributeError issues on Windows with PyQt6
-
Stefy Lanza (nextime / spora ) authored
-
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
-
Stefy Lanza (nextime / spora ) authored
-
Stefy Lanza (nextime / spora ) authored
-
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
-
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
-
Stefy Lanza (nextime / spora ) authored
-
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
-