Bake 64-bit raspberryPI3 images with Yocto/OpenEmbedded

Bake 64-bit raspberryPI3 images with Yocto/OpenEmbedded

Overview RaspberryPI3 SBC and CM come with cortex-a53 based SOC which is 64-bit capable and uses ARM-v8 architecture. Originally RaspberryPI 3 was released with 32bit support alone which is backward compatible with RaspberryPI 2. However, over period of last couple of years a lot of development has gone into enabling 64-bit on ARM in community,  Eric Anholt’s VC4 drivers have matured on 64bit kernels, various userspace packages have been ported by Linaro and other communities.  We have put efforts in…

Read More Read More

We need Open Source ISA and methods for Chip design and Hardware

We need Open Source ISA and methods for Chip design and Hardware

The open source phenomenon has swept the software industry in past few decades, and Linux based Operating Systems have taken the software world by storm. The Linux foundation has published studies where the worth of Linux is estimated at billions of dollars, but to me as an individual, it is priceless. High quality open source Compilers and tools for various language runtimes are readily available with source code. Ready to install OS distributions are a common thing. We have learnt…

Read More Read More

Running LTP on musl based systems

Running LTP on musl based systems

Introduction LTP is freely available testsuite used for validating the reliability and stability of Linux systems. It has functionality, stress as well as regression tests. Thus far it has been mainly run on Linux systems running glibc for C library, and its natural that there will be areas in the project which would have assumptions on glibc coded in. We have ported LTP to run on MUSL based systems. The patches are still being upstreamed. A recent series is ported…

Read More Read More

Multilib GCC on ArchLinux

Multilib GCC on ArchLinux

Some packages like LuaJIT uses native compiler to generate source files which are then used during cross compiling it for another architecture. Now if the target architecture has 32bit word length ( which most of them in embedded space are ) then it expects a matching bitness in compiler on build host. So we need to to use HOST_CC = “gcc -m32” on 64-bit ArchLinux build hosts. This requires multilib to be enabled on ArchLinux  sudo vim /etc/pacman.conf add or uncomment…

Read More Read More

Clang based Cross SDK with OpenEmbedded Framework

Clang based Cross SDK with OpenEmbedded Framework

Introduction Clang based toolchain can be used to compile large portions of packages in OpenEmbedded Framework, in this article we will cover the generating and using OpenEmbedded SDKs based on Clang, This SDK will also have the original cross gcc based compilers cohabiting with clang Generating SDK Building image base SDK in OpenEmbedded Framework is a simple process like its building any other image or component. One can generate a SDK corresponding to final image that will be shipped on target….

Read More Read More

Using Clang with OpenEmbedded/Yocto Project

Using Clang with OpenEmbedded/Yocto Project

Introduction Clang is C/C++/ObjC  frontend for LLVM compiler suite,  supporting several architectures now. We have added support for clang into OpenEmbedded using a standalone layer https://github.com/kraj/meta-clang This layer requires OpenEmbedded-core layer as dependency Configuring meta-clang git clone git://github.com/openembedded/openembedded-core cd openembedded-core git clone git://github.com/openembedded/bitbake git clone git://github.com/kraj/meta-clang Setup . ./oe-init-build-env Edit conf/bblayer.conf to add meta-clang # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly LCONF_VERSION = “6” BBPATH = “${TOPDIR}” BBFILES ?= “” BBLAYERS ?= ” \ /a/wheezy/home/kraj/work/openembedded-core/meta-clang \ /a/wheezy/home/kraj/work/openembedded-core/meta…

Read More Read More