Update all content; add categories and move Tech, Games, Music to category taxonomy; add location taxonomy

This commit is contained in:
Eryn Wells 2022-10-12 10:55:50 -07:00
parent 413a49067a
commit ba73889720
11 changed files with 56 additions and 26 deletions

View file

@ -56,6 +56,7 @@ blog = 'blog/:year/:month/:slug/'
[taxonomies] [taxonomies]
category = 'categories' category = 'categories'
location = 'locations'
series = 'series' series = 'series'
tag = 'tags' tag = 'tags'

View file

@ -3,26 +3,30 @@ title: "Booting a Raspberry Pi Over TFTP"
date: 2020-10-13T08:31:52-07:00 date: 2020-10-13T08:31:52-07:00
draft: false draft: false
series: ["Raspberry Pi OS Development"] series: ["Raspberry Pi OS Development"]
tags: ["Tech"] categories: ["Tech"]
tags: ["Raspberry Pi", "Networking"]
--- ---
In order to do this, I modified the [EEPROM bootloader][eeprom] bootloader In order to do this, I modified the [EEPROM bootloader][eeprom] bootloader
according to the instructions in the Raspberry Pi documentation. That page is according to the instructions in the Raspberry Pi documentation. That page is
also on [GitHub][eeprom-gh] which might be a more stable location. On Raspbian also on [GitHub][eeprom-gh] which might be a more stable location. On Raspbian
on the RPi: on the Raspberry Pi:
{{< figures/code lang=sh >}} {{< figures/code >}}
```sh
fw=/lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-09-03.bin fw=/lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-09-03.bin
rpi-eeprom-config $fw > ~/bootconf.txt rpi-eeprom-config $fw > ~/bootconf.txt
vi ~/bootconf.txt vi ~/bootconf.txt
rpi-eeprom-config --out ~/pieeprom-new.bin --config ~/bootconf.txt $fw rpi-eeprom-config --out ~/pieeprom-new.bin --config ~/bootconf.txt $fw
sudo rpi-eeprom-update -d -f ~/pieeprom-new.bin sudo rpi-eeprom-update -d -f ~/pieeprom-new.bin
sudo reboot sudo reboot
```
{{< /figures/code >}} {{< /figures/code >}}
My updated bootconf.txt is: My updated `bootconf.txt` is:
{{< figures/code lang=cfg >}} {{< figures/code >}}
```cfg
[all] [all]
BOOT_UART=1 BOOT_UART=1
WAKE_ON_GPIO=0 WAKE_ON_GPIO=0
@ -33,6 +37,7 @@ TFTP_FILE_TIMEOUT=30000
ENABLE_SELF_UPDATE=1 ENABLE_SELF_UPDATE=1
DISABLE_HDMI=0 DISABLE_HDMI=0
BOOT_ORDER=0xf412 BOOT_ORDER=0xf412
```
{{< /figures/code >}} {{< /figures/code >}}
I enabled UART debugging, and set the boot order to be: network `0x2`, SD card I enabled UART debugging, and set the boot order to be: network `0x2`, SD card
@ -41,45 +46,51 @@ repeated if the bootloader is updated via apt.
I [enabled the TFTP server][mac-tftp] on my Mac: I [enabled the TFTP server][mac-tftp] on my Mac:
{{< figures/code lang=sh >}} {{< figures/code >}}
```sh
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
sudo launchctl enable System/com.apple.tftpd sudo launchctl enable System/com.apple.tftpd
sudo launchctl start com.apple.tftpd sudo launchctl start com.apple.tftpd
```
{{< /figures/code >}} {{< /figures/code >}}
Im not sure if the `enable` command is actually necessary. This doesn't Im not sure if the `enable` command is actually necessary. This doesn't
actually start the `tftpd` daemon. Instead, macOS starts the daemon on demand actually start the `tftpd` daemon. Instead, macOS starts the daemon on demand
when it notices an incoming tftp request on the network. Don't be alarmed! when it notices an incoming tftp request on the network. Don't be alarmed!
The tftp server looks for files to serve out of **/private/tftpboot**, and those The tftp server looks for files to serve out of **`/private/tftpboot`**, and those
things need to be world `rwx`, i.e. `777`. By default (this is configurable) the things need to be world `rwx`, i.e. `777`. By default (this is configurable) the
RPi queries for a directory named by its serial number. Raspberry Pi queries for a directory named by its serial number.
{{< figures/code lang=sh >}} {{< figures/code >}}
```sh
mkdir /private/tftpboot/$raspberry_pi_serial mkdir /private/tftpboot/$raspberry_pi_serial
chmod 777 /private/tftpboot chmod 777 /private/tftpboot
chmod -R 777 /private/tftpboot/* chmod -R 777 /private/tftpboot/*
```
{{< /figures/code >}} {{< /figures/code >}}
RPi looks for files of various names in that directory, one in particular by the Raspberry Pi looks for files of various names in that directory, one in
name of **start.elf**. particular by the name of **`start.elf`**.
Next, I had to update my Ubiquiti router's DHCP server configuration (on the Next, I had to update my Ubiquiti router's DHCP server configuration (on the
command line) to pass a `tftp-server` parameter in the DHCP payload. This step command line) to pass a `tftp-server` parameter in the DHCP payload. This step
may be optional because you can also set `TFTP_IP` in the **bootconf.txt** above may be optional because you can also set `TFTP_IP` in the **`bootconf.txt`** above
to specify the IP directly. On my router: to specify the IP directly. On my router:
{{< figures/code lang=sh >}} {{< figures/code >}}
```sh
configure configure
set service dhcp-server shared-network-name LAN subnet $lan_cidr_subnet tftp-server-name $ip_of_mac set service dhcp-server shared-network-name LAN subnet $lan_cidr_subnet tftp-server-name $ip_of_mac
commit commit
save save
exit exit
```
{{< /figures/code >}} {{< /figures/code >}}
I also gave my Mac a static IP, and renewed the DHCP lease so it took the new IP I also gave my Mac a static IP, and renewed the DHCP lease so it took the new IP
to make the whole process a little more smooth. Now, it appears the RPi will to make the whole process a little more smooth. Now, it appears the Raspberry
attempt a TFTP boot, and I see queries in the logs on my Mac. Pi will attempt a TFTP boot, and I see queries in the logs on my Mac.
## Further Reading ## Further Reading

View file

@ -11,7 +11,9 @@ resources:
- name: "ramen" - name: "ramen"
src: "images/ramen.jpg" src: "images/ramen.jpg"
title: "A bowl of ramen from Marufuku" title: "A bowl of ramen from Marufuku"
tags: ["Travel"] categories: ["Travel"]
locations: ["San Francisco", "California", "United States"]
tags: ["Staycation", "Food"]
--- ---
{{< figures/image name=buchanan >}} {{< figures/image name=buchanan >}}

View file

@ -3,7 +3,8 @@ title: "Oskitone Scout"
date: 2021-09-11T16:47:07-07:00 date: 2021-09-11T16:47:07-07:00
description: A timelapse video of me building an Oskitone Scout set to music produced using the Scout itself. description: A timelapse video of me building an Oskitone Scout set to music produced using the Scout itself.
draft: false draft: false
tags: ["Music", "Synthesizers", "DIY"] categories: ["Music"]
tags: ["Synthesizers", "Electronics", "DIY", "Compositions"]
--- ---
{{< figures/youtube id="gCSwWsxzy_c" title="A timelapse video of me building an Oskitone Scout, set to music produced using the Scout itself">}} {{< figures/youtube id="gCSwWsxzy_c" title="A timelapse video of me building an Oskitone Scout, set to music produced using the Scout itself">}}

View file

@ -7,7 +7,16 @@ resources:
- name: friends - name: friends
src: "friends.jpg" src: "friends.jpg"
title: "" title: ""
tags: ["Travel", "Pandemic", "Friends"] categories: ["Travel"]
locations:
- "Portland, OR"
- "Oregon"
- "Olympic Peninsula"
- "Seattle, WA"
- "Washington"
- "Pacific Northwest"
- "United States"
tags: ["Pandemic", "Friends"]
--- ---
{{< figures/image name=friends >}} {{< figures/image name=friends >}}
@ -32,4 +41,4 @@ I'm so grateful for every one of these people. We've been friends for years and
even though our lives have taken us in so many different directions, we've found even though our lives have taken us in so many different directions, we've found
each other again and that is so wonderful. each other again and that is so wonderful.
{{< twitter 1447951049076056071 >}} {{< twitter erynofwales 1447951049076056071 >}}

View file

@ -3,7 +3,8 @@ title: "Colorado Modular Synth Society Three Module Challenge"
date: 2022-01-23T09:21:35-07:00 date: 2022-01-23T09:21:35-07:00
description: In which I submit a video of me playing a small Eurorack system to CMSS description: In which I submit a video of me playing a small Eurorack system to CMSS
draft: false draft: false
tags: ["Music", "Eurorack", "Synthesizers", "Recordings", "Performances"] categories: ["Music"]
tags: ["Eurorack", "Synthesizers", "Recordings", "Performances", "Compositions"]
--- ---
{{< figures/youtube id="sqr7g4P85aM" title="A top-down video of me operating a small Eurorack system made of only three modules. Lights flash, an incorporeal hand turns knobs to sculpt the sound." >}} {{< figures/youtube id="sqr7g4P85aM" title="A top-down video of me operating a small Eurorack system made of only three modules. Lights flash, an incorporeal hand turns knobs to sculpt the sound." >}}

View file

@ -3,7 +3,8 @@ title: "Profiling ZSH"
date: 2022-01-23T11:35:38-08:00 date: 2022-01-23T11:35:38-08:00
description: In which I learn about how to profile my ZSH init files. description: In which I learn about how to profile my ZSH init files.
draft: false draft: false
tags: ["Tech", "ZSH"] categories: ["Tech"]
tags: ["ZSH", "Dotfiles"]
--- ---
I've been hacking on my [dotfiles][dotfiles] a lot lately. One of the things I've been hacking on my [dotfiles][dotfiles] a lot lately. One of the things
@ -13,9 +14,11 @@ undertook the same project.
TIL, ZSH has a profiler built in. You can start it by calling the following. TIL, ZSH has a profiler built in. You can start it by calling the following.
{{< figures/code >}}
```zsh ```zsh
zmodload zsh/zprof zmodload zsh/zprof
``` ```
{{< /figures/code >}}
Then, once you're done, you call `zprof` to get a report that tells you where Then, once you're done, you call `zprof` to get a report that tells you where
ZSH is spending most of its time. I put the line above at the top of my ZSH is spending most of its time. I put the line above at the top of my

View file

@ -3,7 +3,8 @@ title: Oh Dear, She Got Hooked on Nethack Again
date: 2022-04-24T17:36:33-07:00 date: 2022-04-24T17:36:33-07:00
description: In which I get hooked on that one roguelike (God help me) description: In which I get hooked on that one roguelike (God help me)
draft: false draft: false
tags: ["Nethack", "Video Games", "Roguelikes"] categories: ["Games"]
tags: ["Nethack", "Roguelikes"]
--- ---
A couple weeks ago, I connected to my VPS to check on something. There's [a A couple weeks ago, I connected to my VPS to check on something. There's [a

View file

@ -12,6 +12,7 @@ resources:
- name: dcss - name: dcss
src: "dcss.png" src: "dcss.png"
title: "" title: ""
categories: ["Games"]
tags: ["Roguelikes", "Video Games"] tags: ["Roguelikes", "Video Games"]
--- ---

View file

@ -2,7 +2,8 @@
title: "Making an Audio Scope with P5.js" title: "Making an Audio Scope with P5.js"
date: 2022-08-18T20:48:37-07:00 date: 2022-08-18T20:48:37-07:00
draft: false draft: false
tags: ["P5.js", "Programming", "Tech", "Web"] categories: ["Tech"]
tags: ["P5.js", "Programming", "Web", "Art"]
resources: resources:
- src: sketch.js - src: sketch.js
params: params:

View file

@ -1,5 +1,4 @@
{{ $lang := .Get "lang" }} {{- $trimmedInner := trim .Inner "\n " -}}
{{ $trimmedCode := trim .Inner "\n " }}
<figure class="code"> <figure class="code">
{{ transform.Highlight $trimmedCode $lang }} {{ $.Page.RenderString $trimmedInner }}
</figure> </figure>