Stefan's blag and stuff

Recent

  1. 2017 Sep 15

    Yocto Recipes vs Packages

    While working with the Yocto/OpenEmbedded build system on a daily base I have learned a lot about the inner workings and maybe have already hit any pitfall that it contains. But while debugging and digging through the source code, I have always learned something new and have understood more of the magic.

    Since I didn't found any good explanation about the differences between recipes and packages, which is fundamental in the build system, here is my explanation: There is a nice to read blogpost More on Yocto Terminology – recipes and packages by Christopher Hallinan posted 2012, I found yesterday. Infact it was not hard to find. I you want to read another explanation, here it comes:

    read more…
  2. 2017 Sep 13

    How to do a basic and simple Yocto build

    The Yocto Project is an effort by the Linux Foundation to make building Linux based systems for embedded devices easier and more consistent. The community and industrial partners develop and maintain the Yocto build system. It consists of the reference distribution poky which is bundled together with bitbake, openembedded-core and an extensive amount of documentation in a git repository that is also called poky. Other known buildsystems for embedded devices are: ptxdist, buildroot and openwrt.

    In the last three years of my professional software developer life I used and work with the Yocto build system. As with every piece of software you use in your daily work, I have learned to hate it :-) Since the internet lacks some good and brain-dump copy&paste guides to just try out and build a poky image, here is it. My step by step guide: How to do a basic and simple Yocto build.

    I use the name simple instead of minimal for these build instructions, because you do not have to configure at lot of stuff. It works out of the box and should work reliable for different versions of poky.

    It's also not minimal because the build requires 30 GB of disk space and needs to download 5.2 GB of source code archives.

    read more…
  3. 2017 Sep 12

    About git tags

    What is a tag in git, the stupid content tracker? For short: It's an ordinary file in the git directory .git/refs/tags/ (the refs/tags/ namespace) containing a SHA1 checksum of a git object and is listed by the command git tag in alphabetical order. [1]

    But that's not everything you can say or write about tags. This blogpost covers some bits and piece that I have learned along the way and was sometimes surprising to me. So if you are curious, read on:

    read more…
  4. 2017 Sep 11

    How to restart a failed scp file upload

    From time to time I'm transferring big files (up to 150 GiB) over relative slow network links or to slow servers. These are either tar.gz backups, disk images or huge photo collections. Since the fancy web-UIs are non-scriptable, bloated and suffer from timeout issues, I prefer to use the scp command over a SSH connection:

    $ scp some-big-file.zip your-server.example.com:tmp/

    The command assumes that you have configured the host your-server.example.com in your local ~/.ssh/config or your local username is the same as remote.

    Needless to say that a long running scp command can fail after some hours or days when your network connection is unstable, e.g. your upstream provider rotates your IP-address every 24 hours.

    In that case just reexecuting the scp is suboptimal, because it truncates the remote file, restarts the transfer from scratch and mostly will fail again.

    It would be really nice to have a commandline argument to reuse the already transfered bytes. Sadly scp does not have this feature, but rsync comes to rescue:

    read more…
  5. 2017 Aug 28

    Announcing EOL of Happy-Jogustine

    My Firefox addon Happy Jogustine has reached end of life. I will not continue the development and starting with Firefox Release 57 the addon does not work anymore.

    With the upcoming Firefox Release 57, released in november, only addons based on the new API WebExtensions are supported. See Firefox add-on technology is modernizing. Old addons using XUL or the addon-sdk, which is used by the project, are deprecated.

    read more…