Browsed by
Category: Blog

Thoughts on OpenWRT and OSTree

Thoughts on OpenWRT and OSTree

In theory, OpenWRT should work reasonably well with OSTree – it’s already designed to be run with an immutable base layer (for squashfs images).

In terms of adapting OpenWRT to run on OSTree, the hardest thing I can think of would be working out how to do the bootloader on embedded devices. I don’t know enough about this space to know what has to be done here. OSTree currently works by putting kernel images and BootLoaderSpec config files into a boot directory, swapping symlinks to switch between them. It can then run extra code to transform that config to a different format, e.g. Fedora Silverblue generates GRUB2 configuration. This last configuration transformation step is the only potentially non-atomic part of the update.

Other than that, some changes needed would be boot script integration for mounting the OSTree root (an overlay fs is not used, since /etc is writable), filesystem layout adjustments (/usr merge, and a wrapper for opkg (opkg-ostree?) that does package installs via an OSTree layer, similar to how rpm-ostree works on Fedora Silverblue.

Much of the existing system upgrade tooling would no longer be needed, since OSTree already preserves /etc (and would preserve /var if it was a real directory rather than symlink to /tmp) during upgrades. The process would be to download the new base image, rebuild the opkg-ostree layer with locally-installed packages, and reboot.

That said, OSTree also requires better storage than is present in many of the older embedded devices that OpenWRT supports – you need enough space for multiple images (albeit common files are shared with hardlinks), and all of the updates are done at the file level, so it has to handle a fair amount of small file writes properly. I run OpenWRT on an x86-64 box with a modern SATA SSD, which would have no issue. It looks like many newer router/ap platforms support eMMC flash, which should work well (maybe use F2FS filesystem).

Ryzen Motherboard ECC Memory Summary

Ryzen Motherboard ECC Memory Summary

Update (2017-06-22): After looking at the poor state of ECC support for a while, I ended up picking up an MSI B350 TOMAHAWK board, which does not support ECC. A variety of factors contributed to this, not the least of which that it had PCI ports legacy hardware support. The end result? I’m no longer actively researching ECC support on Ryzen boards, so this list is probably going to steadily go out of date. Please feel free to contact me if you have updates!

This is just a list tracking what is known about which AM4 motherboards currently on the market support running with ECC memory.

If you see (or have tested) anything not on my list, please drop a comment and let me know about it so I can update.

Overview by Brand


So far, all ASRock B350 and X370 boards have the following text in the spec sheets:

– AMD Ryzen series CPUs support DDR4 3200+(OC)/2933(OC)/2667/2400/2133 ECC & non-ECC, un-buffered memory

Additionally, there’s been confirmation from ASRock that the X370 boards have working ECC. An ASRock support rep. says that all AM4 boards support ECC (But a commenter notes that the relevant options are missing in some bios versions). So it’ll probably work! When I find confirmation for specific boards, I’ll add it to my detailed list.


Many of the ASUS X370 and B350 boards are currently listed with support for ECC memory (e.g. from the PRIME B350-PLUS):

4 x DIMM, Max. 64GB, DDR4 3200(O.C.)/2933(O.C.)/2666/2400/2133 MHz ECC and non-ECC, Un-buffered Memory

but the “ECC” part of that has gone and come again over different revisions of the spec page. Some reports say that you may need an updated bios on some boards.

Some ASUS boards have been confirmed to work, both by AMD techs directly and by user testing. Details in the table below where known.


On product pages for all B350 and X370 boards, they list

Support Non-ECC & ECC Un-buffered DIMM Memory modules

I’m still looking for confirmation on whether ECC memory is functional, but it’s a good start.


On their spec comparison page, Gigabyte says that for their X370 boards:

Support for ECC Un-buffered DIMM 1Rx8/2Rx8 memory modules

but on the B350 boards:

Support for ECC Un-buffered DIMM 1Rx8/2Rx8 memory modules (operate in non-ECC mode)

which is pretty disappointing. It’s not clear exactly what “operate in non-ECC mode” even means (no EDAC?). I haven’t seen any tests yet to confirm either way.


There’s no mention of ECC in the specs list for any of the MSI boards. Status TBD, but I’m not optimistic.

Table of Infos

To get the “Works” status, I look for a review or test where someone has induced memory errors e.g. using Rowhammer, and has seen reports of corrected memory errors in the OS logs.

Board Chipset Form Factor ECC Status
ASUS PRIME X370-PRO X370 ATX Confirmed, Works
ASRock X370 Taichi X370 ATX Mostly works (no UE halt)
Gigabyte GA-AX370-Gaming 5 X370 ATX Probably Works
Scanning CDs with CCD/LED scanners

Scanning CDs with CCD/LED scanners

So, back on my recommended scanners post, I made a note that CCD sensor scanners that use LED lighting – which at this point is basically all of them – have an issue with scanning CDs. It looks like this: A CD scanned with a CCD/LED scanner has an annoying complex rainbow pattern This is, frankly, quite awful. It’s hard to read anything with the light pattern that appears, and it doesn’t look anything like the classic highlight that you see when holding a CD under a single light source, or on a CCFL-lit scanner. But I’ve finally found a solution!

One of the releases I picked up recently had its CDs in little translucent plastic sleeves. If I scanned the CD through the sleeve, rather than directly on the scanner bed, the rainbow pattern completely disappeared! It turned out that the frosted sleeve diffused the light enough to give a clean scan. Unfortunately, the sleeves that came with that release were too wrinkled to get good results, so I had to go look for alternate materials.

Read More Read More

Recommended Scanners for Album Art Scanning

Recommended Scanners for Album Art Scanning

Here’s a quick list of currently available scanner models that I recommend for people doing album art scanning.

The Criteria

I’m not covering scanning 12″ vinyl in this guide. For that, you need a large format scanner, which is a completely different price category of professional equipment – or use a camera and a glare-free lighting rig instead.

There are two basic kinds of scanners currently available, distinguished by the type of image sensor: CCD and CIS (Contact Image Sensor). The difference is that CCD sensors have a much larger depth of field. This is important in particular if you’re scanning digipak cases – with a CCD sensor, you can scan right through the tray without disassembling the case. It also improves the quality when scanning exterior of boxes or thick booklets that don’t lay completely flat. CIS sensors can only get a sharp image if the thing being scanned is perfectly flat against the glass surface.

The scanner must be able to do 600dpi scanning (non-interpolated). This is pretty much a given at this point, of course, since even the cheapest current model scanner can usually pull off 1200dpi or higher. But keep this in mind when looking for used or older model scanners.

The scanner must be a direct-connection USB device. Many network scanners and all-in-one devices apply compression and pre-filtering that often can’t be disabled; this reduces the effectiveness of later descreening steps. Scanners marketed as “Photo” scanners are usually good at preserving fine detail without compression artifacts.

Read More Read More

Incomplete Sci-Fi Story

Incomplete Sci-Fi Story

So, when poking around my Documents directory, I found this incomplete short piece of Science Fiction. Might as well share it…

I wake up to find him still sitting at the workbench he’d been hunched over hours ago when I’d given up for the night. He hears the rustle as I search the nearby floor for the cleanest of my uniforms and asks, without turning around, “You awake?”

I am, barely.

Read More Read More

Digital Dark Age

I vow: To not delete content. To preserve URLs (or redirect them if all else fails). To keep this site up for as long as I am able. To make sure that the Internet Archive can see my content, in case I fail at any of the above.