Skip to content

Setting Up Your Development Host

Dan Walkes edited this page Aug 25, 2024 · 7 revisions

Overview

The host machine you use for this course must be configured as follows:

  1. You must use Ubuntu 22.04 amd64 (x86_64) or, optionally Ubuntu 20.04 amd64 (x86_64). Other versions are not tested and are not guaranteed to work properly for all assignments with the instructions as written. See instructions at this link to assist with setting up a Virtual Machine as a development host if you don't have a machine to dedicate to this version of Ubuntu.
  • Windows Subsystem for Linux is not currently supported for the 2nd part of the course, Linux Kernel Programming and Introduction to Yocto Project, so if you plan to continue to this portion of the course you may want to prepare for another build host.
  • I suggest at least 8GB of RAM allocated to your build host, either in physical memory on a dedicated machine or in VirtualBox. You may be able to complete with less RAM allocated than this, but you will likely need more than 4GB. Look for "Error 137" in your build messages to see if you are running out of RAM space and re-allocate accordingly.
  • I suggest at least 200GB of disk space allocated to your build host. You can get by with less but will need to clean your build artifacts and actions runner directories to free up space between assignments.
  1. You must configure your host as shown below. On Ubuntu these steps may be completed with the command sudo apt-get install -y build-essential ruby cmake
  • Install build-essential (or equivalent on non-ubuntu platforms (gcc, g++, make)).
  • Install ruby on your host. This is used to run unity helper scripts used to generate test runner files.
  • Install cmake on your host.
  1. Any host you plan to use as an automated test runner must be configured as described on this page.
  2. Later assignments will have other requirements for packages installed on your build host and may refer to other pages for a full list of required software. You may also reference the packages installed on the docker container at https://github.com/cu-ecen-aeld/aesd-autotest-docker used for autotest. Refer to the RUN commands in the file at https://github.com/cu-ecen-aeld/aesd-autotest-docker/blob/master/docker/Dockerfile for packages installed for specific assignments.