Back in September I pulled the trigger and ordered a pinebook pro.

Long story short: I declare myself a fanboy, the pinebook pro from pine64 is a very capable little machine.

There are a lot of better written and more detailed blog posts/reviews of the pinebook pro out there already but just in case:

For the uninitiated the pinebook pro is an ARM powered laptop (yes, pine64 did it before it was cool) based on the ROCKPro64 single board computer –Think Raspberrypi on steroids– here are the specs:

  • Rockchip RK3399 SOC with Mali T860 MP4 GPU
  • 1080p IPS Panel
  • Magnesium Alloy Shell body
  • Bootable Micro SD Slot
  • 64GB of eMMC (Upgradable)
  • PCIe x4 to m.2 NVMe SSD Slot (requires optional adapter)
  • SPI Flash 128Mbit
  • HD Digital Video Out via USB-C
  • USB 2.0 Host
  • USB 3.0 Host
  • USB-C (Data, Power and Video out)
  • Lithium Polymer Battery (10000mAH)
  • Stereo Speakers
  • WiFi 802.11 AC + Bluetooth 5.0
  • Headphone Jack
  • Microphone
  • Front-Facing Camera (1080p)
  • ISO & ANSI Keyboard Variants
  • Privacy Switches for Camera, Microphones and BT/WiFi Meta + F12/F10/F11 respectively. Silly me had trouble figuring out this one
  • Large Trackpad
  • UART Access via Audio Jack This requires opening the laptop and flipping a switch
  • Barrel Power (5V 3A) Port

The wiki is a lot more detailed. It includes OS and overal usage information as well, be sure to check it out.

Experience with Manjaro ARM so far

The pinebook pro ships with Manjaro ARM pre-installed and I haven’t tested any other OS (yet), but I really like it and it is what I run on my old laptop as well so…

I really like to write my blog posts in markdown, so one of the first things I noticed was that Typora (thanks again @kev) was listed as an AUR install in pamac. That was a lie, all I got was something like “Typora is not supported for aarch64”, the alternative is to use VSCode to write blog posts but that’s like killing a fly with a bazooka, there’s always the option to build from source but that is not very elegant 🙁

FreeTube is another app I like to use to avoid all the ads and tracking from YouTube, but I was lucky and there is a zip file with a portable version for aarch64, not as elegant but all you need is to unzip and run the executable. 🙂

VScode, QtCreator and Element are available from the official repositories. 🙂

I couldn’t find timeshift, my preferred backup solution. However I found DejaDup and was gladly surprised to find out that is is possible to backup to a server, which is why I used my Nextcloud instance on my yunohost server, which was cool (DejaDup can access via WebDAV) 🙂

That’s it for now, will continue testing, I’d like to thank @pine64 for their hard work and community.

Here are some pictures of my unit with some fosstodon swag:

see the cool pine meta key ?
Fosstodon sticker put to good use

EDIT: As pointed out by @schrofi, turns out Typora only publishes parts of the source code (Themes) in Github, so building from source is not an option in this case.

I really like it but may have to look at other options… Kwrite has markdown syntax highlighting so that’s something… Or I could go back to killing flies with a bazooka.

Day 23 of

This weekend was fun, on Sunday some friends invited me to tag along on their weekend hike. All this happened because the company I work for decided to donate money to a charitable cause, the money amount was proportional to the distance logged by all its employees so that was motivation for us to run, walk or hike during the weekend.

The hike was long (11+ Km), it took us around 1.5 hrs. Some of the highlights were the peace and landscapes, like this one:

Quick picture taken during the 5 minutes of sun we had

With my bad luck of course it had to hail (yes, hail) only during lunch break but all in all this was a welcome change from my usual activities.

By the way, I am still sore.

Day 22 of

Interesting, I managed to screw up my blog. Logging in is impossible through a web browser, I get the message:

502 Bad Gateway


This happened after messing around with the WP Reset plugin, apparently I deleted some custom table I shouldn’t have… Funnily enough I am still able to use the android app to create posts so not all hope is gone.

Weird things happen….

Edit: Turns out I couldn’t access the login screen for my site but could access the comments section (you know the one where you can approve new comments, then from there Dashboard was broken but I could access the menu Tools -> WP Reset). I had the foresight of creating a snapshot before messing around with the plugin, I just couldn’t find a way to restore it, the more you know

Day 21 of

Let’s face it, part of the joy of Linux is solving unexpected problems you wouldn’t have with proprietary Operating Systems like Windows and MacOS. That being said this is my latest adventure:

I turned on m computer and after the grub screen came up and I chose to boot into Manjaro (yes, the horror, I know dual booting Windows is not ideal but a necessary evil in my case). Something like this came up instead of the usual GUI login prompt:

[FAILED] Failed to start File System <random UUID for my home partition>
[FAILED] Failed to mount /home.
[DEPEND] Dependency failed for Local File Systems.
You are in emergency mode. After logging in, type “journalctl -xb” to view
system logs, “systemctl reboot” to reboot, “systemctl default” or “exit”
to boot into default mode.

After the usual “Well, crap” moment I decided to search the forums and my initial approach was to boot from a live usb and then to follow this thread but manjaro-chroot -a didn’t seem to work, the terminal propmted to mount Manjaro as option 0 but that didn’t help (more like I didn’t really know how to use this). So I attempted something else I found in this other thread:

fsck /dev/sda8 (my home partition lives in sda8)

and after following the prompts to repair errors and optimize (said yes to all):

~ >>> sudo fsck /dev/sda8                                                                          [32]
fsck from util-linux 2.36
e2fsck 1.45.6 (20-Mar-2020)
/dev/sda8 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 1179940 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Inodes that were part of a corrupted orphan linked list found.  Fix<y>? yes
Inode 1180329 was part of the orphaned inode list.  FIXED.
Deleted inode 1185883 has zero dtime.  Fix<y>? yes
Inode 1194474 was part of the orphaned inode list.  FIXED.
Inode 1197451 was part of the orphaned inode list.  FIXED.
Inode 1214730 was part of the orphaned inode list.  FIXED.
Inode 1214937 was part of the orphaned inode list.  FIXED.
Inode 1245329 was part of the orphaned inode list.  FIXED.
Inode 1443168 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Inode 2101262 extent tree (at level 1) could be shorter.  Optimize<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -4728365 -(5252576--5252593) -(5252832--5252840) -(7281205--7281213) -(28186624--28187647) -(28435982--28435990)
Fix<y>? yes
Free blocks count wrong for group #144 (280, counted=281).
Fix<y>? yes
Free blocks count wrong for group #160 (7611, counted=7638).
Fix<y>? yes
Free blocks count wrong for group #222 (16898, counted=16907).
Fix<y>? yes
Free blocks count wrong for group #860 (5047, counted=6071).
Fix ('a' enables 'yes' to all) <y>? yes to all
Free blocks count wrong for group #867 (6842, counted=6851).
Fix? yes
Free blocks count wrong (1960760, counted=1961830).
Fix? yes
Inode bitmap differences:  -1180329 -1185883 -1194474 -1197451 -1214730 -1214937 -1245329
Fix? yes
Free inodes count wrong for group #144 (0, counted=2).
Fix? yes
Free inodes count wrong for group #145 (0, counted=1).
Fix? yes
Free inodes count wrong for group #146 (8, counted=9).
Fix? yes
Free inodes count wrong for group #148 (1750, counted=1752).
Fix? yes
Free inodes count wrong for group #152 (6483, counted=6484).
Fix? yes
Directories count wrong for group #152 (1042, counted=1041).
Fix? yes
Free inodes count wrong (6279928, counted=6279935).
Fix? yes
/dev/sda8: *** FILE SYSTEM WAS MODIFIED ***
/dev/sda8: 1936641/8216576 files (0.4% non-contiguous), 30896794/32858624 blocks
~ >>>                                                                                               [1]

Then after turning off and on my laptop everything went back to normal. In hindsight maybe I could’ve done that from the terminal I was booting into but it doesn’t matter now.

Useful reference for fsck:

 lopeztel@lopeztel-inspiron137359  ~  fsck --help

 fsck [options] -- [fs-options] [<filesystem> ...]

Check and repair a Linux filesystem.

 -A         check all filesystems
 -C [<fd>]  display progress bar; file descriptor is for GUIs
 -l         lock the device to guarantee exclusive access
 -M         do not check mounted filesystems
 -N         do not execute, just show what would be done
 -P         check filesystems in parallel, including root
 -R         skip root filesystem; useful only with '-A'
 -r [<fd>]  report statistics for each device checked;
            file descriptor is for GUIs
 -s         serialize the checking operations
 -T         do not show the title on startup
 -t <type>  specify filesystem types to be checked;
            <type> is allowed to be a comma-separated list
 -V         explain what is being done

 -?, --help     display this help
     --version  display version

See the specific fsck.* commands for available fs-options.
For more details see fsck(8).

As I said, there are unexpected problems but there’s a sense of achievement when you solve them and learn something in the process.

Day 20 of

Attending ONLINE: Homebrew Website Club Europe/London
Join us... on ✨The Internet!✨ Link to the Zoom video conference will be visible above from 6:45pm (BST) and moderated throughout by the event organizer Calum and Ana. Homebrew Website Club is a meetup for anyone interested in personal websites and a distributed web. Whether you’re a blogger, c...

Just thought I would join more indieweb events in the future, this is one of them.