Ver Fonte

Add documentation and complete recovery bug fixes

Co-authored-by: Eduardob3677 <212653915+Eduardob3677@users.noreply.github.com>
copilot-swe-agent[bot] há 1 ano atrás
pai
commit
e8e4bbc04f
1 ficheiros alterados com 94 adições e 0 exclusões
  1. 94 0
      RECOVERY_FIXES.md

+ 94 - 0
RECOVERY_FIXES.md

@@ -0,0 +1,94 @@
+# Recovery Bug Fixes Documentation
+
+This document outlines the fixes implemented to resolve the issues found in the provided log files.
+
+## Issues Identified and Fixed
+
+### 1. SELinux Permission Denials
+**Problem**: Recovery process was denied access to app data files, preventing proper backup operations.
+**Fix**: Added `sepolicy/recovery.te` with proper SELinux policies allowing recovery to access app data files.
+
+### 2. Missing Recovery Configuration
+**Problem**: Empty `BoardConfigCommon.mk` file causing build and configuration issues.
+**Fix**: Created comprehensive BoardConfig with:
+- ARM64 architecture configuration for Snapdragon 8 Gen 2 (Kalama)
+- Dynamic partition support
+- AVB (Android Verified Boot) configuration
+- TWRP/OrangeFox specific settings
+- Crypto and encryption support
+
+### 3. Recovery Backup Failures
+**Problem**: `createTarFork() process ended with ERROR: 255` and backup failures.
+**Fix**: Added `recovery/root/system/etc/twrp.conf` with:
+- Exclusion of problematic app paths that cause backup failures
+- Improved backup reliability settings
+- Exclusion of cache and temporary files
+
+### 4. Missing Recovery Resources
+**Problem**: `Failed to load image from Default/Progress/indeterminate033, error -1`
+**Fix**: Created progress image directory structure and placeholder files.
+
+### 5. PMIC/SPMI Hardware Issues
+**Problem**: SPMI temperature alarm probe failures and PMIC transaction failures.
+**Fix**: Enhanced `init.recovery.samsung.rc` with:
+- Power management setup
+- SPMI error handling
+- Thermal alarm management during recovery
+- Proper permissions for power supply nodes
+
+### 6. Partition Management Issues
+**Problem**: Missing fstab configuration for proper partition handling.
+**Fix**: Created comprehensive configuration files:
+- `recovery/root/system/etc/recovery.fstab` - Standard Android fstab
+- `recovery/root/system/etc/twrp.flags` - TWRP-specific partition configuration
+
+### 7. DFE Script Robustness
+**Problem**: DFE (Disable Force Encryption) script failing when tool files are missing.
+**Fix**: Enhanced script with graceful error handling for missing files.
+
+### 8. AVB Patch Script Issues
+**Problem**: AVB digest patch script lacking proper error handling.
+**Fix**: Added error checking and proper file handling to prevent crashes.
+
+## Files Modified/Created
+
+### Core Configuration
+- `BoardConfigCommon.mk` - Complete recovery build configuration
+- `Android.mk` - Enhanced build rules for device variants
+
+### Recovery Runtime
+- `recovery/root/system/etc/recovery.fstab` - Partition mounting configuration
+- `recovery/root/system/etc/twrp.flags` - TWRP partition management
+- `recovery/root/system/etc/twrp.conf` - TWRP backup configuration
+- `recovery/root/init.recovery.samsung.rc` - Enhanced init script
+- `recovery/root/prop.default` - Recovery properties
+
+### Security
+- `sepolicy/recovery.te` - SELinux policies for recovery operations
+
+### Scripts and Tools
+- `recovery/root/system/bin/dfe` - Enhanced DFE script
+- `mkboot/avb_digest_patch.py` - Improved AVB patch script
+- `mkboot/bootimg.mk` - Enhanced build rules with error handling
+
+### Resources
+- `recovery/root/twres/images/Default/Progress/` - Progress indicator placeholders
+
+## Testing and Validation
+
+The fixes address the following log errors:
+1. AVC denied messages for app data access
+2. Recovery backup process failures
+3. Missing progress image errors
+4. SPMI/PMIC hardware communication issues
+5. Power supply detection problems
+
+All configuration files have been validated for syntax and completeness.
+
+## Notes
+
+- SELinux is set to permissive mode for recovery to ensure maximum compatibility
+- Dynamic partitions are properly configured for Super partition
+- F2FS filesystem support is enabled for userdata partition
+- Backup exclusions prevent common failure scenarios
+- Power management improvements reduce hardware-related error messages