Skip to content
Tech News
← Back to articles

Installing OpenBSD on the Pomera DM250 Writerdeck

read original more articles
Why This Matters

Installing OpenBSD on the Pomera DM250 introduces a way to run a secure and open-source operating system on a specialized Japanese device, expanding its functionality and lifespan. However, the process involves risks such as potential hardware bricking and requires technical expertise, making it more suitable for advanced users and developers. This effort highlights the growing interest in customizing hardware for improved security, privacy, and usability in niche devices.

Key Takeaways

These are my notes and pre-built images for getting OpenBSD-current installed on the Japanese-model Pomera DM250, DM250X, and DM250XY.

Throat-clearing

Much of my work has not yet been committed upstream so installation currently requires a custom kernel and U-Boot image which are provided here. OpenBSD support is still improving and may not be stable at any given time. Install at your own risk. These risks include:

If the battery completely drains due to a software bug, the device may not power on correctly and will not be able to recharge its battery (see below).

If the device cannot boot properly into U-Boot, you may need to recover it through a USB cable which may also require having to open the device (see recovery).

Note: Do not use these instructions for the US-model DM250US yet. That device has a different power charging chip and keyboard layout.

Making a backup

This is optional but recommended. The tools and instructions at EKESETE.net should be used to make a full eMMC backup before doing anything.

Some DM250 hardware notes

The DM250's factory U-Boot detects Right Shift + Left Alt being pressed immediately after power-on and boots the recovery Linux kernel from its recovery_kernel partition instead of its normal kernel partition. The recovery kernel boots the initramfs image at the recovery_boot partition which mounts the SD card and executes any _sdboot.sh script found at its root directory.

... continue reading