First Boot Guide
Complete guide to your Pimeleon's first boot experience
First Boot Guide
Welcome to your Pimeleon router's first boot! This guide walks you through what to expect during the initial startup and how to verify everything is working correctly.
What You'll Need
Before powering on your Pimeleon for the first time:
- Pimeleon device with SD card properly inserted
- Power supply (5V/2.5A minimum for Pi 3B+, 5V/3A for Pi 4)
- Ethernet cable connected to your upstream network (internet connection)
- Computer or mobile device on the same network
- 5-10 minutes of your time
Optional but Helpful
- HDMI monitor and cable — Useful for watching boot messages if troubleshooting is needed
- USB keyboard — For console access if SSH isn't working
- Patience — First boot takes longer than subsequent boots due to initial configuration
Pre-Boot Checklist
Before you plug in power, verify:
- SD card is firmly seated (push until it clicks)
- Ethernet cable connected to WAN port (usually labeled or documented)
- Power supply is rated for sufficient amperage (2.5A+ for Pi 3B+, 3A+ for Pi 4)
- No USB devices connected except keyboard (if using)
- Your upstream router/modem is powered on and working
The First Boot Sequence
Stage 1: Power-On (0-10 seconds)
What you'll see:
- Red LED lights up immediately — Power indicator (solid red is good)
- Green LED starts blinking — SD card activity (this is excellent!)
- If using HDMI: Rainbow splash screen appears briefly
What's happening:
- Raspberry Pi bootloader initializing
- Reading boot configuration from SD card
- Loading Linux kernel into memory
Stage 2: Kernel Boot (10-30 seconds)
What you'll see:
- Green LED blinks rapidly — Heavy disk activity
- If using HDMI: Scrolling boot messages (white text on black background)
What's happening:
- Linux kernel loading and initializing hardware
- Detecting network interfaces
- Mounting filesystem and starting system services
- Setting hostname to
pimeleonorpi-router
Normal boot messages you might see:
[ 0.000000] Booting Linux on physical CPU 0x0
[ 1.234567] eth0: link up, 1000Mbps, full-duplex
[ 2.345678] Starting system services...
Stage 3: Service Initialization (30-90 seconds)
What you'll see:
- Green LED continues blinking — Services starting up
- Network LED activity on Ethernet port (blinking orange/green)
- HDMI shows: Service startup messages
What's happening:
- DNS Services (BIND9, DNS filtering) starting
- DHCP Server initializing
- Network Firewall (Shorewall) activating
- Proxy Services (Tor, Privoxy) launching
- SSH Server becoming available
Key services starting in order:
- Networking — Network interfaces configured
- Firewall — Shorewall rules applied
- DHCP — IP address assignment service ready
- DNS — BIND9 and DNS filtering active
- Proxies — Tor and Privoxy chains established
- Monitoring — Fail2ban and system monitoring
Stage 4: System Ready (90-120 seconds)
What you'll see:
- Red LED: Solid (power)
- Green LED: Occasional blinks (idle system activity)
- Network LEDs: Active (network traffic flowing)
- If using HDMI: Login prompt appears
What's happening:
- All services running and stable
- Network routing active
- SSH access available
- Web interfaces accessible
Login prompt looks like:
pimeleon login: _
First Connection Methods
You have several ways to connect to your Pimeleon:
Method 1: SSH Access (Recommended)
Find your Pimeleon's IP address:
Option A — Try the hostname:
ssh pi@pimeleon.local
Option B — Check your router's DHCP client list for "pimeleon" or "pi-router"
Option C — Use network scanner (if hostname doesn't work):
# From Linux/Mac
nmap -sn 192.168.1.0/24
# From Windows (download Advanced IP Scanner)
Default credentials:
- Username:
pi - Password:
raspberry(change this immediately!)
First SSH connection:
ssh pi@pimeleon.local
# Or ssh pi@192.168.x.x
# You'll see a security warning (normal for first connection)
The authenticity of host 'pimeleon.local' can't be established.
Are you sure you want to continue connecting (yes/no)? yes
# Enter password: raspberry
Method 2: Web Interface
Access the dashboard:
http://pimeleon.local/admin
# Or http://192.168.x.x/admin
What you'll see:
- Web dashboard with statistics
- Query log (may be empty initially)
- Blocking status (should show "Active")
- Domain blocklists loaded
If prompted for password:
The admin password was set during image creation. Check your Pimeleon documentation or contact your provider.
Method 3: Console Access (Fallback)
If SSH isn't working:
- Connect HDMI monitor and USB keyboard
- At login prompt, enter:
- Username:
pi - Password:
raspberry
- Username:
- You're now at the console — Same as SSH access
Verification Checklist
Let's verify everything is working properly.
1. Check System Status
After logging in via SSH or console:
# View overall system status
systemctl status
# Should show: "State: running"
2. Verify Core Services
Check critical services are running:
# Check all important services at once
systemctl status bind9 pihole-FTL isc-dhcp-server shorewall ssh
# Each service should show:
# Active: active (running)
Expected output:
● bind9.service - BIND Domain Name Server
Active: active (running)
● pihole-FTL.service - Pi-hole FTL
Active: active (running)
● isc-dhcp-server.service - ISC DHCP IPv4 server
Active: active (running)
● shorewall.service - Shorewall IPv4 firewall
Active: active (running)
● ssh.service - OpenBSD Secure Shell server
Active: active (running)
3. Test Network Connectivity
Verify internet connectivity:
# Test external connectivity
ping -c 3 8.8.8.8
# Should receive 3 replies:
# 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=15.2 ms
Test DNS resolution:
# Test local DNS server
nslookup google.com localhost
# Should return IP addresses for google.com
4. Verify DNS Filtering
Test that ad-blocking is working:
# Try to resolve a known ad domain (should be blocked)
nslookup doubleclick.net localhost
# Should return: 0.0.0.0 (blocked by DNS filtering)
Check DNS filtering statistics:
pihole status
# Should show:
# [✓] DNS blocking is enabled
5. Check Network Interfaces
Verify network interfaces are up:
ip addr show
# Look for:
# eth0: UP (WAN interface)
# wlan0: UP (WiFi Access Point, if configured)
Typical output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.1.50/24 scope global eth0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.76.1/24 scope global wlan0
6. Test Routing Functionality
From your computer (not the Pimeleon):
# Set your computer's DNS to the Pimeleon IP
# On Linux:
sudo systemd-resolve --set-dns=192.168.x.x --interface=eth0
# On macOS:
# System Preferences → Network → Advanced → DNS
# Add Pimeleon IP as DNS server
# On Windows:
# Network Settings → Adapter Settings → Properties
# IPv4 Properties → Use the following DNS server
Test browsing:
- Open any website — Should load normally
- Visit ad-heavy site (like news websites) — Ads should be blocked
- Check web dashboard — Query count should increase
Initial Configuration
Now that your Pimeleon is booted and verified, perform essential first-time configuration.
1. Change Default Password (CRITICAL!)
Change the pi user password:
passwd
# Enter new password twice
# Choose strong password (12+ characters, mixed case, numbers, symbols)
2. Update System Time
Set your timezone:
# List available timezones
timedatectl list-timezones
# Set your timezone (example: US Eastern)
sudo timedatectl set-timezone America/New_York
# Verify correct time
date
3. Set Custom Hostname (Optional)
If you want a different name than "pimeleon":
# Set new hostname
sudo hostnamectl set-hostname my-router-name
# Update /etc/hosts file
sudo nano /etc/hosts
# Change "pimeleon" to your new name
# Reboot to apply
sudo reboot
4. Configure Admin Password
Set or change web interface password:
pihole -a -p
# Enter new password when prompted
# Or press Enter for no password (not recommended)
5. Update System (Recommended)
After first boot, update to latest packages:
# Update package lists
sudo apt update
# Upgrade installed packages (will take 5-10 minutes)
sudo apt upgrade -y
# Reboot to apply kernel updates
sudo reboot
What's Next?
Your Pimeleon is now running and verified! Here's what to do next:
Immediate Next Steps
- Configure Network Settings — Set up WiFi, VLANs, or additional interfaces
- Customize DNS Filtering — Add custom blocklists or whitelists
- Secure Your System — Enable firewall rules and security settings
Learning More
- Network Architecture — Understand how everything fits together
- Service Configuration — Deep dive into individual services
- Troubleshooting Guide — Solutions for common issues
Backup and Maintenance
- Backup Strategy — Protect your configuration
- Regular Updates — Check for updates weekly:
sudo apt update && sudo apt upgrade - Monitor web dashboard — Watch for unusual activity or blocked domains
Troubleshooting
Green LED Blinks 4 Times Then Stops
Problem: Bootloader can't find valid kernel
Solutions:
- Power off completely
- Remove and reseat SD card
- Verify SD card integrity (try in computer)
- Reflash SD card with Pimeleon image
- Try different SD card
Details: Boot Issues Guide
Only Red LED (No Green LED Activity)
Problem: SD card not detected or corrupted
Solutions:
- Check SD card is firmly inserted
- Try SD card in computer (verify it mounts)
- Reflash image to SD card
- Try known-good SD card
- Test Raspberry Pi with different SD card (rule out hardware failure)
System Boots But No Network Access
Problem: Network interfaces not configured or cable issue
Quick checks:
# Check interface status
ip link show
# Check for IP address
ip addr show eth0
# Restart networking
sudo systemctl restart networking
# Check cable connection (look for link light on Ethernet port)
Common causes:
- Ethernet cable unplugged or faulty
- Upstream router/switch not providing DHCP
- Network interface not enabled in configuration
SSH Connection Refused
Problem: SSH service not running or network issue
Solutions:
- Verify SSH is enabled:
# From console access sudo systemctl status ssh sudo systemctl start ssh - Check firewall rules:
sudo shorewall status - Try different network: Connect directly to computer with crossover cable
- Use console access: HDMI + keyboard to debug
Service Failed to Start
Problem: One or more services showing failed status
Diagnosis:
# View detailed error for specific service
sudo journalctl -u service-name -n 50
# Example: Check DNS filtering errors
sudo journalctl -u pihole-FTL -n 50
Common fixes:
# Restart failed service
sudo systemctl restart service-name
# Check configuration file syntax
# (varies by service - consult service-specific docs)
# Review system logs
sudo tail -f /var/log/syslog
Cannot Access Web Dashboard
Problem: Web interface not loading
Checklist:
- Verify DNS filtering is running:
pihole status sudo systemctl status pihole-FTL - Check you're using correct URL:
http://pimeleon.local/admin ← Note the /admin path http://192.168.x.x/admin - Test from different device on same network
- Restart DNS filtering service:
pihole restartdns - Check firewall isn't blocking HTTP:
sudo shorewall status
Performance Expectations
First Boot vs Normal Boot Times
| Stage | First Boot | Subsequent Boots |
|---|---|---|
| Power to kernel | 10s | 5s |
| Kernel to login | 80s | 30s |
| Services ready | 120s | 45s |
| Total | ~2 minutes | ~45 seconds |
Why first boot is slower:
- Initial service configuration
- Cache building (DNS, etc.)
- SSH host key generation
- System checks and initialization
Expected System Resources
After fresh boot, typical resource usage:
- CPU: 5-15% (settles to <5% at idle)
- Memory: 200-400 MB used (of 1GB on Pi 3B+)
- SD Card: 5-8 GB used (depending on logs)
- Temperature: 40-50°C idle (with heatsink)
Higher values indicate:
- Active download/configuration happening
- Services still initializing (wait a few minutes)
- Possible issue (if sustained after 5 minutes)
LED Behavior Reference
Normal Operation
| LED Color | State | Meaning |
|---|---|---|
| Red | Solid | Power connected (always on) |
| Green | Slow blink | Idle system, occasional disk activity |
| Green | Rapid blink | Heavy disk I/O (boot, updates) |
| Green | Off | No SD card or bootloader issue |
During Boot
| Pattern | Stage |
|---|---|
| Green blinking rapidly (1st min) | Kernel loading |
| Green blinking moderately (2nd min) | Services starting |
| Green occasional blinks (after 2 min) | System ready |
Warning Patterns
| Pattern | Issue |
|---|---|
| Red only, no green | SD card problem |
| 4 green blinks, stop | Boot failure |
| Continuous rapid green | Stuck in boot loop |
| No LEDs | No power |
Getting Help
Self-Service Resources
- Troubleshooting Section — Comprehensive problem solutions
- Community Forum — Ask questions, search solutions
- System Logs — Check
/var/log/syslogfor detailed errors
Active Support Channels
- Discord Server — Real-time chat support
- GitHub Issues — Bug reports and feature requests
- Documentation Feedback — Help us improve this guide
Diagnostic Information to Collect
Before asking for help, gather:
# System information
uname -a
cat /etc/os-release
# Service status
systemctl status --failed
# Recent system logs
sudo journalctl -n 100 > ~/boot-logs.txt
# Network configuration
ip addr show > ~/network-info.txt
Share these files when requesting support for faster resolution.
Summary
You've successfully completed your Pimeleon router's first boot!
What you've accomplished:
- ✓ Verified proper boot sequence
- ✓ Confirmed all services running
- ✓ Tested network connectivity
- ✓ Validated DNS filtering
- ✓ Changed default credentials
- ✓ Configured basic settings
Your Pimeleon is now:
- Routing your network traffic
- Blocking ads and trackers network-wide
- Providing encrypted DNS lookups
- Protecting against malicious domains
- Ready for advanced configuration
Welcome to cleaner, faster, more private internet!
Next: Quick Setup Guide →