# YP DevDay Class - 2017 Prague # image based on Ubuntu-17.04 SCRATCHDIR="/scratch" POKYDIR="${SCRATCHDIR}/poky" DLDIR="${SCRATCHDIR}/downloads" CACHEDIR="${SCRATCHDIR}/sstate-cache" PROJECTDIR="${POKYDIR}/build" SRCDIR="${SCRATCHDIR}/src" SDKDIR="${SCRATCHDIR}/sdk/qemuarm" # Initial manual host prep sudo mkdir /scratch sudo chown ilab01 /scratch/ mkdir $POKYDIR mkdir $DLDIR mkdir $CACHEDIR mkdir $POKYDIR mkdir $PROJECTDIR mkdir $SDKDIR # Update VI to make cursor keys happy echo "set nocompatible" > ~/.vimrc # Update host to support Toaster sudo apt-get install tzdata # Update host for Kernel Module class sudo apt-get install tree # Add source content cd $SRCDIR # SCP "ypdd_prague_src.tar" from your host to here # tar -xf ypdd_prague_src.tar # Prepare the qemuarm project in a clean sub-shell cd $POKYDIR ( source $POKYDIR/oe-init-build-env $PROJECTDIR echo "MACHINE = \"qemuarm\"" >> conf/local.conf echo "SSTATE_DIR = \"$CACHEDIR\"" >> conf/local.conf echo "DL_DIR = \"$DLDIR\"" >> conf/local.conf echo "IMAGE_INSTALL_append = \" gdbserver openssh libstdc++\"" >> conf/local.conf # Add for Userspace class echo "EXTRA_IMAGE_FEATURES ?= \"debug-tweaks dbg-pkgs dev-pkgs package-management\"" >> conf/local.conf # Build it! bitbake core-image-base ) # Prepare the eSDK cd $POKYDIR source $POKYDIR/oe-init-build-env $PROJECTDIR # Build it bitbake core-image-base -c populate_sdk_ext # Extract it esdk="`ls $QEMUDIR/tmp/deploy/sdk/*-ext-*.sh`" esdk="`basename $esdk`" if [ -n "$esdk" ] ; then # Extract the eSDK in a clean sub-shell cd $PROJECTDIR/tmp/deploy/sdk/ ( ./poky-glibc-x86_64-core-image-base-armv5e-toolchain-ext-2.4.sh -d $SDKDIR -y # Prepare the eSDK cd $SDKDIR . environment-setup-armv5e-poky-linux-gnueab devtool build-image ) else echo "ERROR: No eSDK found" fi