Table of Contents Introduction What is U-Boot? What is a SoC? What is the SPL? What installs the SPL? A bit about bytes Layout of sunxi bootable storage PinePhone boot procedure Determine which bootable storage device is relevant How to determine if U-Boot needs to be upgraded? Write U-Boot+SPL to bootable storage Walking the bin Examine what we found on our walk Conclusion
Introduction If you are in a hurry to update U-Boot and the SPL on your PinePhone, then please proceed directly to Write U-Boot+SPL to bootable storage.
Read more ...
Table of Contents What is the issue? How to tell if your system is impacted What is the impact? What to do about it? Verify mountpoints After thoughts
What is the issue? There are a number of known issues (#258, #661, #664) related to the mounting of the root and boot partitions by fstab when they should be mounted from the initramfs. There is a merge request (https://gitlab.
Read more ...
Table of Contents Introduction What not to post online Setting up the build environment Ensure ~/.local/bin exists Install or clone pmbootstrap Clone pmaports Initialize the pmbootstrap configuration for the pinephone Identify the block special file name Deploy to the SD card A bit about LUKS Determine if a partition is LUKS encrypted Determine the format of a LUKS encrypted partition A quick look at a LUKS header Test mounting our LUKS Encrypted Partition NCurses Over Serial Boot into postmarketOS Resize the screen Set the timezone, date & time What’s in the default runlevel?
Read more ...
Introduction I previously wrote how to configure minicom to connect to a device over serial UART. In that post I mentioned that minicom might not be the best tool for the job. Consider that minicom is adding a lot of unnecessary complexity. If you think about it, we are taking a command line utility intended for communicating with modems, stripping all that functionality away so that we are left with nothing more than a terminal emulator that knows how to connect to a foreign TTY.
Read more ...
Introduction I recently wrote about my first experience connecting to the pinephone via serial console. This post documents how to configure Minicom for establishing an interactive terminal session with a device connected to your computer via a serial port. The configuration will be saved to file so that it can be reused to connect to the same device again in the future, which is convenient. My version of minicom at the time of writing is minicom version 2.
Read more ...
My PinePhone Arrived My PinePhone (BraveHeart edition) arrived a few weeks ago, but I have not had time play with it. Over the weekend I had an epic snowball fight with my wife and children while we were on a nature walk. My Nexus 6p had been neglectfully left in my back pocket and during the escapade it succumbed to fatal injuries. It is time to breath life into my new PinePhone, but first I wanted to have a look around.
Read more ...
UPDATES Note taken on [2019-11-22 Fri 08:30] This might not be an act of censorship. There might be another explanation. I started to look at the source code and RFCs this morning to better understand. I am very short on time at the moment and I probably will continue to be short on time until after Christmas unfortunately. If you would like to help, please contact me. Note taken on [2020-02-13 Thu 05:03] Added link to new discussion on Hacker News Moved submissions to its own heading.
Read more ...
A quick recap In part 2 of this series we created a Staticman GitHub bot account and walked through all of the steps required to deploy an instance of Staticman to Zeit Now. In this final post of the series we are going to invite our Staticman instance to be a collaborator of our unpublished GitHub blog repository. Then we will prepare our blog to send RESTful requests to our Staticman instance.
Read more ...
A quick recap In part 1 of this series we rationalized our choice to use Staticman as a comment engine for Blogger Bust, and Zeit Now to host Staticman. We also discussed how to create a GitHub bot account and began the process of authorizing the Zeit Now GitHub app, but we ran into some trouble when our account was flagged by the Zeit abuse system. After answering a few of their questions they whitelisted our account, a process that takes 24 hours to propagate through their system.
Read more ...
What is going on? A while back I noticed that all of my cross post anchor links are broken. They no longer link to anchors within the post, but instead link to the post itself. I planned on resolving this quickly, but it turned out to be more involved then I had hopped. In order to resolve the issue I needed to first register as a contributor of GNU emacs which I discussed here.
Read more ...
Why Staticman? I would like to add comment support to my Blog. The trouble is that I don’t trust comment engines to respect the privacy of my readers. Do I even have any readers? Who can tell! None of my posts have a comment section and I don’t collect analytics. Clearly this is a problem worth solving.
I recently came across the Staticman comment engine which uses pull requests to update static blogs with static user comments.
Read more ...
Motivation In my spare time I have been experimenting with the Bazel build runner. I wanted to add Libsodium as a dependency to my Bazel C/C++ project. The Libsodium project is not a Bazel package and therefore Bazel will not know how to treat it as a dependency. If I wish to add Libsodium as a repository based dependency to my project, then It makes sense to write a BUILD file defining how Bazel should build the Libsodium library.
Read more ...
Mounting /tmp as non executable improves security and increases awareness For security reasons I mount my /tmp directory as non executable. Since I use the zfs file system, I accomplish this by turning off the exec property:
/sbin/zfs get exec tank/tmp/rootNAME PROPERTY VALUE SOURCE tank/tmp/root exec off local It is easy to search online how to accomplish the same for other file systems. I highly recommend mounting /tmp as none executable.
Read more ...
Motivation I decided that I would like to contribute to the ox-hugo project from time to time. I do not have pandoc or pandoc-citeproc installed locally nor have I ever used either before. I did consider emerging pandoc, but when I saw the list of dependencies being pulled from portage I immediately cancelled the install.
For those that are unfamiliar with Gentoo, Portage is Gentoo’s package manager and emerge is Portage’s command-line interface.
Read more ...
Today I released the nauci base init source under Apache version 2.0.
Broken Links I noticed that all of my cross post anchor links are broken. They no longer link to anchors within the post, but instead link to the post itself. I will resolve this issue over the weekend.
Read more ...
A quick recap The purpose of this article is to provide a concrete example detailing precisely how to encapsulate the dependencies of an Angular WebExtension inside of a docker container whilst keeping the source code and optional tooling on the host system, thereby separating the dependencies from the implementation. In order for the two systems to work in tandem, files that are written to from within the container must remain writable outside of the container and vice versa.
Read more ...
The motivation I am going to develop a responsive web-extension using angular. The web-extension is for a project that I am starting called nauci. I will talk about nauci more in future posts. In this post I intend to introduce the nauci base entry docker image and how I am using it to encapsulate the nauci project dependencies in a docker sub image, but not the source code. The plan is to bind my local nauci source directory to a docker container built with the nauci dependencies image, thereby separating dependency and tooling concerns from project implementation.
Read more ...
A quick note about my use of Literate Programming My blog is generated using a static site generator called Hugo. Hugo naively supports both Markdown and Org-Mode format, so naturally I have chosen to compose my blog posts in emacs Org-Mode. Org-mode is similar to Markdown in the sense that it uses a simple plain text markup syntax for formatting documents. However, Org-Mode has far more features than Markdown and has fantastic literate programming support via Org-Babel.
Read more ...