To build VaeVictus, go into your top level directory of your aosp source, you should see the Kernel directory as well as all the others (abi, bionic, bootable, build, etc). Assuming you already have git setup, type in the following to clone delete your current kernel source and clone VaeVictus (backup your current kernel folder first of course):
cd <path to android/source/kernel>
rm -rf .
git clone http://github.com/JerryScript/VaeVictus.git
Once it finishes, you'll need to move the files from the Kernel/VaeVictus folder to just Kernel/. You also need to move the hidden .git folder up to the Kernel folder from out of VaeVictus, and then delete the now empty VaeVictus folder. You can do that with:
cd VaeVictus
mv .git ../.git
cd ..
rm -rf VaeVictus
Now you have the master branch, but that's not where the magic is. Next type:
git branch experimental
git checkout experimental
git remote add origin http://github.com/JerryScript/VaeVictus.git
git pull origin experimental
To see if you got everything, you can run
git log to see the list of commits (press 'q' on your keyboard to quit
git log). As of this posting, the latest commit is "a big push", and it's sha starts out 915684.
Once you are in sync, build the kernel with the following commands:
make clean
make mrproper
make VaeVictus_defconfig
make oldconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=<path to your toolchain> -j4 -w
If you have a very good quad core processor, you can increase -j4 to a higher number, but it's generally reflective of the number of cores you have.
Once the build finishes, you'll find the zImage in arch/arm/boot. Take the boot.img from any VaeVictus release's zip file and unpack it, replace the zImage with the one you just built, then repack the boot.img, put it in a zip like VaeVictus, and flash away. (note- I use AndroidKitchen for packing/unpacking the boot.img, I can help setting it up for the Victory if you need, makes things easier IMHO, but a good script will do the same.)
Note- After you have run the make command to build the kernel, you will be creating lots of files not in the repository, and modifying lots of others. If you make any changes you want to create a pull request for, you will need to copy the affected files to a different folder,
git reset --hard HEAD, then copy them back, then
git commit -a (enter a commit message, then cntrl+x then y then enter to finish). You will have to use
git remote add <name> http://github.com/<your-github-username>/VaeVictus.git then push to whatever your <name> is.
Once you have
pushed it up to your own github repo, then make a
pull request on github.com so we can pull it in if it's appropriate.
Learn about branching, as much as you can, I make stupid mistakes with branches all the time.
-------------------------------
If you do make a mistake you can't seem to fix, use
git log to find a commit a few steps back in the list, and
reset to it, then
pull from the origin again to get in sync without having to fix merge conflicts (the worst part of git is fixing merge conflicts, avoid when possible). The following pushes you back two commits, you can also use the first 6 digits of a commits sha instead of HEAD (if you do use HEAD the number of '^' symbols is the number of commits back in history.
git reset --hard HEAD^^
git status
Now remove any lingering files shown as untracked by git status, repeat this line for each file:
rm -rf <name of untracked file here>
And pull in the changes to get back in sync:
git pull origin experimental
Now you should be back in sync with the online repo.
