Screen Version
School of Computer Science & Engineering
University of New South Wales

 Advanced Operating Systems 
 COMP9242 2014/S2 

Milestone Submission Overview

Your milestones are marked based on your submissions to give. Specifically, you will be submitting a diff generated by git for each milestone. Take the time to understand these instructions to ensure that what you submit is what you want assessed.

Commit everything you wish assessed

Before generating a diff and submitting, you should ensure you have committed all files that you wish to be part of your submission. Ensure that a git status does not show untracked files that you have added or modified that should be part of your submission.

Additionally you should ensure the aos_defconfig contains any changes required to build your system. We use aos_defconfig to build your assignment for testing. Thus if you have made any changes in the menuconfig. You can update aos_defconfig by

cp .config configs/aos_defconfig

Generating a diff

All diffs produced for submission need to be based off the original commit in the aos-2014 repository. This commit has been tagged AOS2014 and has the hash 1d5e2fe434b14cf8c09b8b841c9d20e8fb44065e. Even if we push out additional commits that you merge into your code base, you should still generate your submission diff from the AOS2014 tag.

To actually generate the diff use the follow example:

git diff AOS2014 > milestone.diff
This assumes you have the commit you want to submit currently checked out as HEAD. You probably want to tag the revision you submit and do something like
git tag -a M0
git diff AOS2014 M0 > m0.diff

Submitting your diff

To submit you diff, execute an appropriate variation of

give cs9242 m0 m0.diff

The submission process will test your diff by applying it to the initial release and compiling the result. If for some reason your submission fails the submission test, here are the sequence of step it performs so that you can recreate them in a temporary directory in order to debug your submission.

echo 'Checking out original source tree...'
git clone ~cs9242/public_html/current/project/files/aos-2014

cd aos-2014

echo 'Checking out AOS2014 tag...'
git checkout -b dryrun AOS2014

echo "Applying diff $DIFF..."
git apply --index "../$DIFF"

echo "Reseting toolchain to arm-none-linux-gnueabi-..."
sed -i -e 's/^\(CONFIG_CROSS_COMPILER_PREFIX=\).*$/\1"arm-none-linux-gnueabi-"/' configs/aos_defconfig

echo "Making configuration..."
make aos_defconfig 
make silentoldconfig 

echo "Compiling..."
make app-images 

Last modified: 01 Aug 2014.