|
|
@@ -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
|