Complete guide for ARMv6 with Debian Bullseye and Whitelist Automation
🔗 Official Resources
Pi-hole GitHub | v6 Migration Guide
Recommended Hardware: Raspberry Pi 4 Starter Kit (Compatible with Pi 3 B)
🛠️ Pi-hole v6 - Troubleshooting Guide 6. Troubleshooting
Component | Specification |
---|---|
Raspberry Pi | 3 Model B (ARMv6) |
OS | Raspberry Pi OS (Legacy) Lite (32-bit) |
Storage | 16GB+ MicroSD Card |
Power Supply | 5V/2.5A |
Why ARMv6?
Pi-hole v6 requires Debian Bullseye (11), which is only fully compatible with the legacy OS on Raspberry Pi 3 B.
- Use Raspberry Pi Imager
- Select OS:
Raspberry Pi OS (Other) → Raspberry Pi OS (Legacy) Lite (32-bit)
- Enable SSH: Click the gear icon → Enable SSH → Set password
# Connect via SSH
ssh [email protected] # Replace with your IP
Password: raspberry
# Update system
sudo apt update && sudo apt full-upgrade -y
# Run installer (skip OS check)
curl -sSL https://install.pi-hole.net | PIHOLE_SKIP_OS_CHECK=true sudo -E bash
Key Choices:
- Upstream DNS: Google (ECS + DNSSEC)
- Web Interface: Enabled
- Logging: Enabled
- Create a
whitelist.txt
file:# Example Whitelist alexa.amazon.com device-metrics.us *.tuya.com
- Host it privately:
- GitHub Private Repo: Upload and use the raw URL
- Local Server: Use
python3 -m http.server 8000
sudo nano /usr/local/bin/whitelist-updater.sh
#!/bin/bash
WHITELIST_URL="https://raw.githubusercontent.com/YourUsername/PrivateRepo/main/whitelist.txt"
wget -q -O /tmp/whitelist.txt "$WHITELIST_URL"
pihole -w --nuke
xargs -a /tmp/whitelist.txt -I {} pihole -w {}
pihole restartdns
Schedule Daily Updates:
sudo crontab -e
# Add:
@daily /usr/local/bin/whitelist-updater.sh >/dev/null 2>&1
# Update Pi-hole
sudo pihole -up
# Update OS
sudo apt update && sudo apt upgrade -y
# Export settings
sudo pihole -a -t
# Restore
sudo pihole -a -r /path/to/backup.tar.gz
Issue | Solution |
---|---|
DNS Failure | pihole restartdns |
Web Interface Crash | sudo systemctl restart lighttpd |
"Database Locked" | sudo systemctl restart pihole-FTL |