Ryzen PC Backup

I finally decided to perform a backup of my new Ryzen PC running Fedora 26. Normally I wouldn’t leave it too long between backups especially if I have made significant changes. My new PC presented me with a little bit of an issue, I couldn’t run my backup software.

I tend to use Clonezilla to take/restore system images. I’ve used it for years and it has been working well for me. That was until I tried to boot it on my Ryzen system. It was hanging with tpm_tis and tpm_crb errors.

The arch wiki states that “Support for TPM 2.0 is still incomplete (both on the kernel and in userspace), and no known work flow for TPM2 exists at the moment.”

It would appear that I had enabled the TPM option in the bios and I have TPM 2.0 hardware.

The Workaround
Clonezilla 2.5.2-20 (Debian – Kernel 4.11.11-1+b1)

  1. Disable TPM in the bios.
  2. Boot from a CD (non-uefi) and run Clonezilla in graphics safe mode.
  3. Having successfully booted Clonezilla, perform backup as normal.
  4. On completion of the backup re-enable the TPM hardware in the bios.

A New Computer

This month I gave up on waiting and ordered the remaining parts for a new PC. The build process was as easy as expected. Having learnt my lesson of having to maintain a system over many years; I took my time when routing the cables around the case. The result is one of the tidiest case layouts I’ve ever put together. Less obstacles means cleaner airflow inside the case and less noise.

PWM fans are a must have item. This new pc has 9 fans in total all connected up. It is quieter than my old system with 5 fans. The difference is having fan headers on the motherboard to support additional fans with a PWM signal to control the fan speed. Slower fans means less noise. When they spin up under load I can hear them more but at idle I hardly know the system is on.

Now the negative. Why must everything be covered in LED’s? My motherboard can put on a light show in all the colours of the rainbow, why? I intend to be looking at the screen not inside the case. I’ve not colour matched my components, I chose the best specifications instead. The obsession people now have with the look of their pc internals is staggering. Manufacturers are now adding features just to make them look better. I don’t need my RAM slots to be illuminated. How much additional cost is this adding to my motherboard? LED’s don’t cost a lot but the time and effort that must go into routing the traces around the PCB won’t be insignificant. Luckily I can turn the main lighting off in the BIOS. I just have to contend with the remaining illuminated buttons and status indicators scattered about the board. I wish it had a stealth mode with them all off until it actually had the need to display an error message.

There still needs to be some tweaking done to the system to get it settled in but it’s an upgrade that should last me 5+ years all being well.

The Wait

The problem with buying technology is that there is always something better on the horizon. I am about to build a new PC. I have been about to build it for over a year. I have been buying some parts that will stand the test of time case, fans, optical drive etc. Some of these parts are 12 months old, some 6, some a matter of weeks. But I need to get the important bits, the CPU, the Motherboard and the RAM.

In the past I simply look around picked compatible parts and built a system. The technological standards evolved slowly and many parts could be reused as I upgraded. Today everything is changing and quickly. I had delayed the build to be able to future proof the system by having newer ports, slots and sockets on the motherboard. But prices were too high and new competing products were announced that were coming down the pipeline. So I waited.

Having waiting for new parts to be release I first find that they are in short supply. So I wait. Then more parts are in short supply. Another wait. Just at the point of being able to get parts questions are raised about firmware and compatibility. More waiting. Then more low-level tuning is in the pipeline, just another 2-3 weeks. I’m being patient.

I’m waiting, patiently. I want to buy the right bits for my needs. I’m mostly decided on what I want. I just need that last little bit of information to allow me to choose the final parts. So what happens, more news. New product announcement in 30 days, release expected in a few months. Do I wait again? Do I buy now and regret not waiting? Do I build cheap and upgrade sooner?

A new system will be faster. But it could be even faster if I wait for it. How long do I wait?

Bookmarks

I use Firefox as my web browser. I’ve been using it for years. During that time I have accumulated a huge amount of bookmarks. In being able to migrate my Firefox profile by copying it between machines and between installs my bookmarks have migrated too.
Some I can’t remember why I even bookmarked them in the first place.

I took the step over the past few days of exporting all my bookmarks and deleting all the ones stored in my browser. I now have a new starting point for which to accumulate some more.

My bad idea has been to start trying to organise my old bookmarks into some sort of list. What struck me is what utter rubbish is stored along with the original bookmark. The useful bit is the URL, in most cases this is accompanied by the title to the article or the site I wanted to bookmark. The less useful entries have information about the author looking for job opportunities, great long strings of text about other subject matter the site covered or generally unhelpful titles that don’t actually tell you what you bookmarked.

I should have taken the time to edit the bookmark entries at the time of saving them. It is never something I want to do at the time as it breaks my train of thought. It a habit that I am unlikely to change.

Trying to sort the bookmarks by subject area I notice that quite a few span multiple areas. Looking through the bookmarks I find that I have often researched topics. I’m thinking that in future it would be easier to gather stored bookmarks around these topics. In this way I can dispense with certain collections of bookmarks once I no longer have need of the topic.

I am regretting starting this process as progress has been slow. I am working through the list, checking that the links still work, seeing if they are still relevant, renaming and finally storing under a suitable category. Once completed I should be left with a nice list of topics that I can easily refer back to.

So far I am not missing the historical bookmarks in the browser.

Fedora 25

This evening I arrived home from work and began to update my machines to the latest version of Fedora. I am pleased to say the update has gone smoothly. This has been the easiest update I think I have had in recent years.

Now the bad. Wayland has become the default display server replacing X11. It works, by which I mean I have a usable display. The bad is that it has broken my workflow. I have a few simple scripts that tweak my environment. These have always loaded when the display server starts. Ok, how do I do this with Wayland? I did some reading. The issue has been known about for 2 years, Bug 736660. The workaround for the moment is to logout and then log in with an X11 session. Logging into the X11 session everything works again and I can continue. Hopefully issues like this will get resolved quickly.

Closing Windows

Today I finally made the decision to close down my Windows 7 machine and remove it from my primary computing location. It was February when I last used it and since then it has only been used for the occasional game or to run a PCB design tool.

The PCB design tool will run under WINE and there are other Linux based tools which I might transition to. The games haven’t been played very much so I’m not going to miss them. A few games run on Linux so I could continue with those. The hardware of the machine is old ,runs very warm and by today’s standards, not energy efficient.

Had Microsoft not decided to change the supported hardware for Windows 7 I might have continued using it on a new machine. Now my only upgrade path is Windows 10. Windows 10 is not going on my machines., I’ve already had enough of it trying to install itself.

From this point forward it’s Linux only for real computing. Windows is only a toy to play the occasional game on.

Termux – Custom Prompt

Termux is a terminal emulator and Linux environment for Android. I wanted to customise my prompt in the same way that I have done on my desktop/laptop machines. Ordinarily I would have a .bashrc in my home directory where I would make the changes to the prompt (PS1). However Termux doesn't recognise this.

I found a reference to configuring this: http://blog.ataboydesign.com/2015/12/01/termux-is-the-one-for-android/

Following this method the changes to PS1 are made in "/data/data/com.termux/files/usr/etc/bash.bashrc". I had been successfully using this method for a while with no ill effects. That was until today when I realised an update to Termux had overwritten the changes. Not what I wanted.

So after some searching I have found a solution that should survive future updates. In your Termux home directory save the following as ".profile". This will be run when Termux is started and make Termux look for a ".bashrc" file in the home directory.

# .profile
if [ -n "BASH_VERSION" ]; then
  # Echo msg to indicate file is run - can be removed later
  echo "Profile load.bashrc"
  # include .bashrc if it exists
  if [ -f "$HOME/.bashrc" ]; then
  . "$HOME/.bashrc"
  fi
fi

Create and edit ".bashrc" with any custom options. Exit and restart Termux and your custom configuration should be loaded.

The Accidental Screenshot

Whilst having a clean up of files I noticed a number of screen shots I had taken over the past 12 months. In total 12 screen shots, only one of which I actually intended to take. So what is the big deal about 11 unwanted screen shots? Well those 11 images add up to 16.3MB in size. Not a huge amount when you think of hard disk sizes in the terabytes but its still additional unwanted data that gets included in my backups. It is interesting however that I seem to accidentally hit the print screen key about once per month on average.

Tidying Up

Starting off a new year always seems a good time to get a few things in order for the months ahead. Today I have tacked my email inbox. I have been building upon my list of filters for years such that most of the mailing list items, special offers, online order confirmations etc. all get sorted automatically. The filters never remain perfect as a company might change the email address they are sending from or retitle a newsletter. The result has been a spam folder filled with things I want and an inbox full of clutter.

I have spent 30 minutes today updating my filters and sorting out the mess. Since putting the majority of the filters in place a few years ago the annual maintenance is now minimal. I will of course go along and bulk delete old news letters in future but having the vast majority auto sorted mean even this task takes a few moments per folder.

Email wasn't the only clutter I found myself with. My browser downloads folder and my home directory have accumulated a great number of files. Going through and having a good tidy up means not only can I find things again but I don't end up downloading files multiple times. Tidying files is never as easy as email as the filters aren't available. Downloaded files especially PDFs seems to have obscure file names which have no resemblance to the content, meaning each one has to be opened, assessed and renamed. Perhaps a little more regular maintenance on this front is needed.

Damn You ISR!

I am sat here on a Sunday evening trying to debug embedded C/C++. For the most part all has been going well and the code has been behaving as expected. I have however run into one of my least favourite problems, the interrupt service routine (ISR). I have a couple of ISR's and they are presenting an unexpected start-up condition. The flow of the main body of the code is fine. I just can't understand why I am getting the current output.

All these problems take me back to a traffic light program I wrote at University. That worked fine for most of the sequence only to be tripped up by an ISR along the way and ending up in a stuck state. Not what you want from a set of traffic lights, especially if you find yourself stuck in the queue behind the red light.
Luckily there wasn't a green light & green man situation with the pedestrians finding themselves in the role of Frogger.

Only one solution for this situation; single malt.