aboutsummaryrefslogtreecommitdiff
path: root/content/posts
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2025-06-09 06:45:06 -0400
committerPaul Duncan <pabs@pablotron.org>2025-06-09 06:45:06 -0400
commit4c1af13598b36aaf184dd0697d024c9c0cb8eb7f (patch)
tree486eabb137ee5da7fe436767ef7c31861ef8b67d /content/posts
parentbebefd1b5f09f08c6e8c1ec9b5be0cbb6baafbe6 (diff)
downloadpablotron.org-4c1af13598b36aaf184dd0697d024c9c0cb8eb7f.tar.xz
pablotron.org-4c1af13598b36aaf184dd0697d024c9c0cb8eb7f.zip
add content/posts/2025-06-08-armbian-on-odroid-n2l.md
Diffstat (limited to 'content/posts')
-rw-r--r--content/posts/2025-06-08-armbian-on-odroid-n2l.md140
1 files changed, 140 insertions, 0 deletions
diff --git a/content/posts/2025-06-08-armbian-on-odroid-n2l.md b/content/posts/2025-06-08-armbian-on-odroid-n2l.md
new file mode 100644
index 0000000..a28d051
--- /dev/null
+++ b/content/posts/2025-06-08-armbian-on-odroid-n2l.md
@@ -0,0 +1,140 @@
+---
+slug: armbian-on-odroid-n2l
+title: "Armbian on Odroid N2L"
+date: "2025-06-08T15:31:00-04:00"
+draft: true
+
+pics:
+ n2l:
+ css: "image"
+ tip: "Odroid N2L running Armbian."
+ sources:
+ - "/files/posts/armbian-on-odroid-n2l/n2l-1024.webp"
+ - src: "/files/posts/armbian-on-odroid-n2l/n2l-1024.png"
+ width: 1024
+ height: 771
+---
+
+Last week I installed [Armbian][] on an [Odroid N2L][]. The
+installation steps, installation results, and fixes for the problems I
+encountered are documented below.
+
+### Installation
+
+1. Download and import the [signing key][armbian-key] (fingerprint
+ `DF00FAF1C577104B50BF1D0093D6889F9F0E78D5`): \
+ `wget -O- https://apt.armbian.com/armbian.key | gpg -- import -`
+2. Download the current "Debian 12 (Bookworm)" image and the [detached
+ signature][asc] from the "Minimal/IOT images" section of the [Armbian
+ Odroid N2L page][armbian-n2l].
+3. Verify the [signature][asc]: \
+ `gpg --verify Armbian_community_25.8.0-trunk.8_Odroidn2l_bookworm_current_6.12.28_minimal.img.xz{.asc,}`
+4. Uncompress the image: \
+ `unxz Armbian_community_25.8.0-trunk.8_Odroidn2l_bookworm_current_6.12.28_minimal.img.xz`
+5. Flash the uncompressed image to a MicroSD card: \
+ `sudo dd if=Armbian_community_25.8.0-trunk.8_Odroidn2l_bookworm_current_6.12.28_minimal.img of=/dev/sda bs=1M status=progress`
+6. Mount the second partition of the MicroSD card on `/mnt/tmp`: \
+ `sudo mount /dev/sda2 /mnt/tmp`
+7. Use the instructions and template from [Automatic first boot
+ configuration][armbian-autoconfig] to populate
+ `/mnt/tmp/root/.not_logged_in_yet`. My populated autoconfig is
+ [here][populated-autoconfig], but **it did not work as expected**;
+ see below.
+8. Unmount the second partition of the MicroSD card.
+9. Insert the MicroSD card into the [Odroid N2L][] and power it on.
+
+### Installation Results
+
+Worked as expected:
+
+- Successfully booted.
+- Successfully connected to WiFi on first boot.
+
+Did not work as expected:
+
+- Did not connect to WiFI on subsequent boots.
+- Did not set the root password. Instead the root password was `1234`.
+- Did not set the user password.
+- Did not set the user SSH key.
+
+### Fixes
+
+To correct these problems I connected a keyboard and monitor and did the
+following:
+
+1. Logged in as `root` with the password `1234`.
+2. Changed the root password and the user password.
+4. Edited `/etc/netplan/20-eth-fixed-mac.yaml` and fixed the
+ errors. The corrected version is below.
+5. Ran `netplan apply` to apply the corrected network configuration.
+6. Rebooted to confirm that networking was working as expected.
+
+Here is the corrected `/etc/netplan/20-eth-fixed-mac.yaml`:
+
+```yaml
+network:
+ version: 2
+```
+&nbsp;
+
+After fixing networking, I did the following:
+
+1. Copied over my SSH key.
+2. Edited `/etc/ssh/sshd_config` to disable root logins and password
+ logins.
+3. Ran `apt-get update && apt-get upgrade`.
+4. Installed `unattended-upgrades`.
+5. Rebooted to pick up the latest kernel.
+
+<!--
+TODO: conclusion
+
+The problem with most non-[Pi][] [SBCs][sbc] is the manufacturers
+invariably stop providing software updates shortly after the hardware is
+released and leave you with unsupported hardware running out-of-date
+software.
+
+Case in point: The newest image on the [Odroid N2L wiki][] is Ubuntu
+22.04.
+
+original unused blather ...
+
+[Armbian][] now supports the [Odroid N2L][] as a [community maintained
+target][armbian-n2l].
+
+Context: A couple of years ago Nadine bought me a pair of [Odroid
+N2Ls][odroid n2l]. [Pi 4s][pi] were scarce because of supply chain
+issues, and the [Odroid N2L][] seemed like a decent substitute.
+
+The problem with non-[Pi][] [SBCs][sbc] is that the manufacturers
+invariably stop providing software updates shortly after release, so you
+are stuck with unsupported hardware running an out of date OS.
+
+As of this writing, the [Odroid N2L wiki][] still has the same software
+that it did when first got the hardware: Ubuntu 22.04.
+-->
+
+[{{< pe-figure "n2l" >}}][n2l-pic]
+
+[armbian]: https://www.armbian.com/
+ "Linux for ARM development boards"
+[odroid n2l]: https://www.hardkernel.com/shop/odroid-n2l-with-4gbyte-ram/
+ "Odroid N2L ARM A73 SBC"
+[pi]: https://en.wikipedia.org/wiki/Raspberry_Pi
+ "Raspberry Pi"
+[sbc]: https://en.wikipedia.org/wiki/Single-board_computer
+ "single-board computer (SBC)"
+[armbian-n2l]: https://www.armbian.com/odroid-n2l/
+ "Armbian for the Odroid N2L"
+[odroid n2l wiki]: https://wiki.odroid.com/getting_started/os_installation_guide#tab__odroid-n2l
+ "Odroid Wiki: Odroid N2L"
+[n2l-pic]: /files/posts/armbian-on-odroid-n2l/n2l.jpg
+ "Odroid N2L running Armbian"
+[armbian-autoconfig]: https://docs.armbian.com/User-Guide_Autoconfig/
+ "Armbian Documentation: Automatic first boot configuration"
+[asc]: https://en.wikipedia.org/wiki/Pretty_Good_Privacy#Digital_signatures
+ "Detached PGP signature"
+[armbian-key]: https://apt.armbian.com/armbian.key
+ "Armbian PGP signing key"
+[populated-autoconfig]: /files/posts/armbian-on-odroid-n2l/odroid-n2l-root_not_logged_in_yet.txt
+ "Populated automatic first boot configuration file"