Home  >  Edison  >  Setting Up

Prerequisites for building

Building branches prior to Warrior

Checkout the Sumo branch for documentation.

Building branche Kirkstone or earlier

Checkout the Kirkstone branch for documentation.

Backing up stuff that can not be recovered

Except for your own stuff, you should always be able to recover to the factory image, a self built factory image.

And except for the contents of the factory partition. This partition gets mounted on /factory.

The factory partition /dev/disk/by-partlabel/factory is created during manufacturing and contains a unique bluetooth_address and the Intel Edison serial_number. The partition is never removed during flashing of images. Not even when using flashall --recovery.

In case for some reason the partition is lost, post-install.sh will create dummy files for both, but the bluetooth address will likely not work and the serial number should ideally be equal to the serial number on the Intel Edison label.

The serial_number can be reclaimed from the label on the Intel Edison, but the bluetooth_address needs to be recovered from backup. You might want go to /factory and make a copy of the files there before you proceed.

Building the Scarthgap branche on Ubuntu Noble

Yocto Scarthgap will build on Ubuntu Noble (24.10).

Install the required build environment:

sudo apt-get install  gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio
    python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2
    libegl1-mesa libsdl1.2-dev python3-subunit mesa-common-dev zstd liblz4-tool file locales libacl1
sudo apt-get install p7zip-full btrfs-progs lz4
sudo locale-gen en_US.UTF-8

Create a profile for bitbake

sudo vi /etc/apparmor.d/bitbake

With contents

abi <abi/4.0>,

include <tunables/global>

/home/**/bitbake/bin/bitbake flags=(unconfined) {
        userns,
}

The reload the profile:

sudo apparmor_parser -r /etc/apparmor.d/bitbake

Building Scarthgap from other platforms

There are various ways to build from Windows, Mac or Linux versions other than Ubuntu Noble. These include:

  • Using a container (from other linux versions). The performance loss inside a container is negligible. Keep in mind that although inside the container you can become root, on the host you remain an ordinary user. Certain operations we use, like manipulating a btrfs snapshot are disallowed. You will still need to become root on the host to do that. For instructions checkout Kirkstone and read this section with the details.
  • Virtual machines. Inside the VM you can do anything you like, including those requiring root privileges. But due to the emulation (in particular due to the host file system) it will be slow. When creating your VM consider that you will require plenty of disk space, 50GB easily for the build and memory (about 1GB per vCPU).
  • CROss PlatformS (CROPS). CROPS uses Docker Containers, on Windows this is done by running a linux kernel in a Virtual Machine (VM) then running containers in linux. In the end it is still a VM, which associated slowness, but without the desktop that Virtualbox provides. See https://docs.yoctoproject.org/5.0/dev-manual/start.html#setting-up-to-use-cross-platforms-crops