Files
debianito-post-install/modules/zram.sh
T
stornic56 8d1a05e3e0 UX Refactor: Pauses, Status & WiFi
- Implemented global `_pause()` logic across all modules (`utils`, `gaming`, `firmware`, etc.), replacing hardcoded `read -p` calls to standardize exit pauses.
- Unified MangoHud installation into a single command (`apt install -y mangohud:i386`) for gaming and legacy branches.
- Refactored `_inst()` to return `*` instead of `(installed)`, moving the function globally to `utils.sh` and removing duplicates from helpers.
- Enhanced Broadcom WiFi detection with expanded grep patterns ('network controller', 'wireless', etc.) and ID fallback (`14e4`).
- Updated `_run_cmd` to integrate the new pause logic for consistent workflow interruptions during script execution.
2026-06-27 00:21:09 -05:00

70 lines
2.0 KiB
Bash

#!/usr/bin/env bash
# zram.sh - Configure compressed swap in RAM
install_zram() {
echo -e "${YELLOW}ZRAM Configuration${NC}"
if [ -z "$RAM_KB" ] || [ "$RAM_KB" -eq 0 ]; then
echo -e "${RED}Could not determine RAM size. Aborting.${NC}"
return 1
fi
local half_ram_mb=$(( ((RAM_KB / 1024 / 1024 + 1) / 2) * 1024 ))
local algo
algo=$(whiptail --title "ZRAM Compression" --menu \
"ZRAM compresses a portion of RAM into compressed swap,\
effectively increasing available memory.
Useful for systems with limited RAM or when you need
more swap space without disk writes.
Choose compression algorithm:" \
$TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
"lz4" "Fastest, low CPU (recommended)" \
"zstd" "Better ratio, more CPU" \
3>&1 1>&2 2>&3)
if [ -z "$algo" ]; then
echo "ZRAM configuration cancelled."
return 0
fi
local zram_size
if _confirm "ZRAM Size" "Use recommended size for ZRAM? (${half_ram_mb} MB out of ${RAM_SUMMARY})"; then
zram_size=$half_ram_mb
else
zram_size=$(whiptail --title "ZRAM Size" --inputbox \
"Enter ZRAM size in MB:" 8 60 "$half_ram_mb" 3>&1 1>&2 2>&3)
if [ -z "$zram_size" ] || ! [[ "$zram_size" =~ ^[0-9]+$ ]] || [ "$zram_size" -eq 0 ]; then
echo "ZRAM configuration cancelled."
return 0
fi
fi
if ! _confirm "ZRAM Summary" "Algorithm: ${algo}\nSize: ${zram_size} MB\nPriority: 100\n\nApply?"; then
echo "ZRAM configuration cancelled."
return 0
fi
_run_cmd "ZRAM" "sudo apt install -y zram-tools" "Installing zram-tools..."
echo "Writing configuration..."
sudo tee /etc/default/zramswap > /dev/null <<EOF
ALGO=$algo
SIZE=$zram_size
PRIORITY=100
EOF
echo "Restarting zramswap service..."
sudo systemctl restart zramswap
echo ""
echo -e "${GREEN}ZRAM configured successfully.${NC}"
echo ""
sudo zramctl
echo ""
echo -e "${GREEN}You can verify with: sudo zramctl${NC}"
_pause
}