raspberry-pi
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
raspberry-pi [2013/04/11 21:36] – dblume | raspberry-pi [2023/04/12 20:44] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Raspberry Pi ====== | ====== Raspberry Pi ====== | ||
- | From [[http:// | + | From [[http:// |
+ | |||
+ | Also, highly recommended: | ||
Partway down the page, it says there' | Partway down the page, it says there' | ||
Line 8: | Line 10: | ||
$ wget https:// | $ wget https:// | ||
$ sudo dpkg -i iozone3_397-2_armhf.deb | $ sudo dpkg -i iozone3_397-2_armhf.deb | ||
+ | $ iozone -e -I -a -s 50M -r 4k -r 512k -r 16M -i 0 -i 1 -i 2 | tee iozone_out.txt | ||
</ | </ | ||
+ | |||
+ | > I was reading the manual for iozone and it said to make sure, for accurate results, to make the -s switch size be TWICE your ram size. My Pi has 512mb so figured minus the 16mb gpu share I'd make it 1000M (for 1gb test file) | ||
Still, there' | Still, there' | ||
Line 15: | Line 20: | ||
just apt-get install bonnie++ | just apt-get install bonnie++ | ||
</ | </ | ||
+ | |||
+ | ===== Debian OS Installation Essentials ===== | ||
+ | |||
+ | ([[http:// | ||
+ | |||
+ | < | ||
+ | passwd | ||
+ | sudo dpkg-reconfigure tzdata | ||
+ | sudo apt-get update && sudo apt-get upgrade | ||
+ | sudo apt-get install vim | ||
+ | sudo apt-get install screen | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo apt-get install ca-certificates | ||
+ | sudo apt-get install git-core | ||
+ | sudo wget http:// | ||
+ | sudo rpi-update | ||
+ | sudo shutdown -r now | ||
+ | </ | ||
+ | |||
+ | To be able to listen to audio via the headphone jack. See [[http:// | ||
+ | |||
+ | < | ||
+ | sudo apt-get install alsa-utils; sudo modprobe snd_bcm2835; | ||
+ | </ | ||
+ | |||
+ | Playing m3u playlists: | ||
+ | |||
+ | < | ||
+ | mpg123 -@ http:// | ||
+ | </ | ||
+ | |||
+ | Text-based browsing: Either lynx or links | ||
+ | |||
+ | < | ||
+ | sudo apt-get install lynx | ||
+ | sudo apt-get install links | ||
+ | </ | ||
+ | |||
+ | Maybe '' | ||
+ | ===== Logs ===== | ||
+ | |||
+ | Consider [[https:// | ||
+ | |||
+ | When there are problems, check for logs in ''/ | ||
+ | |||
+ | I think we need to update ''/ | ||
+ | |||
+ | <file bash log2ram.service> | ||
+ | [Unit] | ||
+ | Description=Log2Ram | ||
+ | DefaultDependencies=no | ||
+ | Before=basic.target rsyslog.service syslog.target systemd-journald.service sysinit.target shutdown.target apache2.service nginx.service | ||
+ | After=local-fs.target | ||
+ | Conflicts=shutdown.target reboot.target halt.target | ||
+ | RequiresMountsFor=/ | ||
+ | IgnoreOnIsolate=yes | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart= / | ||
+ | ExecStop= / | ||
+ | ExecReload= / | ||
+ | RemainAfterExit=yes | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=sysinit.target | ||
+ | </ | ||
+ | |||
+ | Otherwise, it turns out that log2ram does screw up nginx' | ||
+ | |||
+ | <file bash todo_after_powercycle.sh> | ||
+ | # | ||
+ | |||
+ | # The tool we use to save flash affects the startup of nginx | ||
+ | if [ ! -d "/ | ||
+ | sudo mkdir / | ||
+ | fi | ||
+ | |||
+ | # if service --status-all | grep -Fq '[ - ] nginx'; | ||
+ | if ! service nginx status | grep -Fq ' | ||
+ | sudo / | ||
+ | # systemctl start nginx | ||
+ | fi | ||
+ | </ | ||
+ | ===== Keyboard Repeat Problem ===== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | > Forum user MrEngman reported some keyboard repeats and wireless hangs until upgrading to the debian6-19-04-2012 kernel, which he reports stable with no problems even with a low TP1-TP2 voltage of 4.65 - 4.68 volts. | ||
+ | |||
+ | To see which version you have: | ||
+ | < | ||
+ | $ cat / | ||
+ | </ | ||
+ | |||
+ | Try plugging the keyboard and mouse directly into the Raspberry Pi, and see what happens. | ||
+ | |||
+ | ===== Camera ===== | ||
+ | |||
+ | A list of [[http:// | ||
+ | Here's a [[http:// | ||
+ | Here's [[https:// | ||
+ | |||
+ | Video Tutorials: | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ===== Headless Xwin ===== | ||
+ | |||
+ | How to [[http:// | ||
+ | |||
+ | ===== Apache vs Cherokee vs Nginx Webserver ===== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | Looks like [[http:// | ||
+ | |||
+ | How to [[http:// | ||
+ | |||
+ | It'd be interesting to see [[http:// | ||
+ | |||
+ | **Note**: See history-of-nginx-start.txt, | ||
+ | |||
+ | ===== Backup ===== | ||
+ | |||
+ | (Old link: [[http:// | ||
+ | |||
+ | I put the microSD in the SamSung SD Adaptor, and [[https:// | ||
+ | |||
+ | ==== Reading from Device to Image File ==== | ||
+ | |||
+ | * Specify a new Image File name. (On a big disk.) | ||
+ | * Select " | ||
+ | |||
+ | |||
+ | ==== Writing from Image File to SD Card ==== | ||
+ | |||
+ | * Specify an existing Image File. | ||
+ | * Select " | ||
+ | |||
+ | My Raspberry Pi is up-to-date as of 2017-02-05. | ||
+ | ===== Cert Bot ===== | ||
+ | |||
+ | - https:// | ||
+ | - Fix it with this recipe: https:// | ||
+ | |||
+ | This seems useful: https:// | ||
+ | |||
+ | In detail: | ||
+ | |||
+ | 1. Add Backports to / | ||
+ | |||
+ | 2. Do the apt-get | ||
+ | |||
+ | sudo apt-get install certbot -t jessie-backports | ||
+ | |||
+ | 3. Run certbot | ||
+ | |||
+ | sudo certbot certonly --webroot -w / | ||
+ | | ||
+ | You should find that / | ||
+ | | ||
+ | 4. Renew (and reload if successful) with | ||
+ | |||
+ | sudo certbot renew && / | ||
+ | |||
+ | 5. Consider using a root cronjob | ||
+ | |||
+ | sudo crontab -e | ||
+ | 0 5 * * 0 certbot renew --post-hook " | ||
+ | |||
+ | < | ||
+ | IMPORTANT NOTES: | ||
+ | - Congratulations! Your certificate and chain have been saved at | ||
+ | / | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | - If you lose your account credentials, | ||
+ | | ||
+ | - Your account credentials have been saved in your Certbot | ||
+ | | ||
+ | | ||
+ | also contain certificates and private keys obtained by Certbot so | ||
+ | | ||
+ | - If you like Certbot, please consider supporting our work by: | ||
+ | |||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | 6. Port forward ports 80 and 443. At the local router: | ||
+ | |||
+ | http:// | ||
+ | |||
+ | WAN -> Virtual Server / Port Forwarding | ||
+ | |||
+ | 7. Update nginx | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Update / | ||
+ | |||
+ | server { | ||
+ | listen 80 default_server; | ||
+ | listen [::]:80 default_server; | ||
+ | server_name pi.dlma.com; | ||
+ | return 301 https:// | ||
+ | } | ||
+ | | ||
+ | server { | ||
+ | # SSL configuration | ||
+ | # | ||
+ | listen 443 ssl default_server; | ||
+ | listen [::]:443 ssl default_server; | ||
+ | | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | ssl_trusted_certificate / | ||
+ | ... | ||
+ | |||
+ | **TODO**: Maybe figure out [[https:// | ||
+ | |||
+ | Then check and restart nginx: | ||
+ | |||
+ | $ sudo nginx -t | ||
+ | $ sudo systemctl restart nginx | ||
+ | | ||
+ | **TODO**: Renew with '' | ||
+ | |||
+ | ===== Updating CertBot to use ACMEv2 ===== | ||
+ | |||
+ | Got an email from the EFF saying my current CertBot client uses ACMEv1 and it needs to be upgraded. Followed some instructions here: | ||
+ | |||
+ | sudo apt-get remove certbot | ||
+ | wget https:// | ||
+ | sudo mv certbot-auto / | ||
+ | sudo chown root / | ||
+ | sudo chmod 0755 / | ||
+ | |||
+ | But the next step (they suggested'' | ||
+ | |||
+ | sudo / | ||
+ | | ||
+ | is broken because it first an apt-get and Jessie Backports is gone, and then because the pip installation failed Hash verification. | ||
+ | |||
+ | ==== Problem: Jessie Backports is gone. ==== | ||
+ | |||
+ | Follow the instructions here: [[https:// | ||
+ | |||
+ | Remove "< | ||
+ | |||
+ | deb http:// | ||
+ | deb-src http:// | ||
+ | |||
+ | And then essentially (I did it with a sudo vim session): | ||
+ | |||
+ | echo ' | ||
+ | | ||
+ | ==== Problem pip install hash verification ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | <file bash / | ||
+ | [global] | ||
+ | extra-index-url=https:// | ||
+ | </ | ||
+ | |||
+ | ===== Upgrading Distros ===== | ||
+ | |||
+ | When upgrading from Jessie to Stretch, I followed this recipe: [[https:// | ||
+ | |||
+ | I didn't keep PiHole working, as I would get occasional network drops when working from home, and it was resolved when taking PiHole out of the mix. Will probably have to do a fresh install. | ||
+ | |||
+ | ===== PiHole ===== | ||
+ | |||
+ | **Note**: I've currently got an incompatibility between PiHole and HTTPS redirecting. So I'm not using CertBot at the moment. Will have to figure that out. | ||
+ | |||
+ | PiHole connects to FTL over port 4711. If FTL were running, it'd have a logfile you could view like so: | ||
+ | |||
+ | <code bash> | ||
+ | $ cat / | ||
+ | </ | ||
+ | |||
+ | You could also do the following: | ||
+ | |||
+ | <code bash> | ||
+ | telnet 127.0.0.1 4711 | ||
+ | >stats | ||
+ | </ | ||
+ | |||
+ | or | ||
+ | |||
+ | <code bash> | ||
+ | echo "> | ||
+ | </ | ||
+ | |||
+ | If you can't connect, you can see which services are listening like so: | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo netstat -tulpn | ||
+ | $ sudo netstat -tulpn | grep FTL | ||
+ | </ | ||
+ | |||
+ | I eventually clued in to my problem here: | ||
+ | |||
+ | <code bash> | ||
+ | $ pihole-FTL running | ||
+ | FATAL: Opening of FTL log (/ | ||
+ | Make sure it exists and is writeable by user pi | ||
+ | raspberrypi: | ||
+ | -rw-r--r-- 1 pihole | ||
+ | -rw-r--r-- 1 pihole | ||
+ | -rw-r----- 1 dnsmasq root | ||
+ | -rw-r----- 1 dnsmasq root | ||
+ | ... | ||
+ | raspberrypi: | ||
+ | [2017-09-03 15: | ||
+ | [2017-09-03 15: | ||
+ | $ sudo chmod +r / | ||
+ | $ sudo service pihole-FTL restart | ||
+ | $ sudo netstat -tulpn | grep FTL | ||
+ | tcp 0 0 127.0.0.1: | ||
+ | </ | ||
+ | |||
+ | And eventually discovered that my actual problem was that my log2ram mount was full. After fixing /var/log, I still had to ask pihole to restart its DNS. | ||
+ | |||
+ | < | ||
+ | $ pihole restartdns | ||
+ | </ | ||
+ | |||
+ | ==== Example PiHole API ==== | ||
+ | |||
+ | < | ||
+ | curl " | ||
+ | </ | ||
+ | |||
+ | ===== New ACMEv2 Certbot overwrites / | ||
+ | |||
+ | We keep backups at '' | ||
+ | |||
+ | sudo service nginx restart | ||
+ | |||
+ | ===== Jessie or earlier: Add piwheels for fast Python pip installations ===== | ||
+ | |||
+ | If you're not installing Stretch or later, here's [[https:// | ||
+ | <file bash / | ||
+ | [global] | ||
+ | extra-index-url=https:// | ||
+ | </ | ||
+ | |||
+ | ====== Keywords ====== | ||
+ | |||
+ | Keywords: Lets Encrypt, LetsEncrypt, |
raspberry-pi.1365741381.txt.gz · Last modified: 2023/04/12 20:44 (external edit)