- Raspbian on RPi Model 3B+
- debian stretch (9.11) x32
- located at home
/etc/dhcpcd.conf uses a static IPv4 address at the bottom? But still apparently comes up like it's DHCP. The IPv6 stuff works at least.
slaac hwaddr interface eth0 static ip_address=192.168.1.24/24 static routers=192.168.1.1 static domain_name_servers=22.214.171.124 126.96.36.199 188.8.131.52
Who even set this up? I don't remember doing it...
Edit: it was pihole
Autoconfigured, slaac hwaddr, not externally accessible
- Wireguard server to LAN for remote access
apt cache, will try running this setup for the crappy raspi repo: https://fabianlee.org/2018/02/11/ubuntu-a-centralized-apt-package-cache-using-apt-cacher-ng/
- Pihole DNS server
- no notes on install
Proxy ARP enabled in sysctl.conf as per https://wiki.debian.org/BridgeNetworkConnectionsProxyArp
Straightforward basic install, no conflict with other installed services.
- Pi-hole DNS (IPv4): 192.168.1.24
- Pi-hole DNS (IPv6): 2404:e80:42e3:0:ba27:ebff:fe8c:f4f8
Admin UI at https://pihole-backup.thighhighs.top/admin/
Disable wifi and bluetooth on RPi
I'm using asval as a network appliance, so I don't need the radios.
Edit your /boot/config.txt and add:
- The linked page above uses pi3-disable-foo, which are deprecated names
Disable hciuart daemon used for bluetooth modem access
systemctl disable --now hciuart
I've installed the Jaycar XC-9044 RPi realtime clock RTC, it's apparently a good clock chip with a little battery (or something). Most models using this chip have a spot for a watch battery, but this one has a tiiiiny little thing soldered on the board. I hope it's decent.
- Physically install the module on the 3V3 plus I2C pins
- Enable i2c with raspi-config, or do it yourself
- Comment out any blacklist entries for i2c[-_]bcm2708 in /etc/modprobe.d/raspi-blacklist.conf
Add i2c-dev to /etc/modules
dtparam=i2c_arm=on in /boot/config.txt
Activate it now, modprobe i2c-dev
apt install python-smbus i2c-tools
- Reboot now to detect it
Detect the device on i2c bus: i2cdetect -y 1
- Should appear at 0x68
- Enable the kernel driver for it, or something, by adding a devicetree overlay
Append to end of /boot/config.txt
- Reboot again
- Again detect the device on i2c bus: i2cdetect -y 1
- Should appear at 0x68, BUT with "UU" at the address
Remove the fake hardware clock
systemctl disable fake-hwclock apt purge fake-hwclock
- In theory everything just works now thanks to a udev rule
- KERNEL=="rtc0", RUN+="/sbin/hwclock --rtc=$root/$name --hctosys"
- "Set the system time from RTC and set the kernel TZ to the local timezone when the kernel clock module is loaded"
Your NTP daemon will handle writing the system clock back to the HW clock periodically. chrony is great, or you can use the simple systemd-timesyncd: https://www.raspberrypi.org/forums/viewtopic.php?t=200385
Purge chrony so that timesyncd will activate itself, and configure it in /etc/systemd/timesyncd.conf
[Time] NTP=ntp.on.net ntp.ubuntu.com 0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org