• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Virgin Mobile] AOSP

I am using Ubuntu 13.04 and it works perfect. I have docs on setting up 10, 12, and 13 depending on your needs.

environment | vmobi.us

Also make sure to use ccache as well it will help with builds as you keep building forward

http://forum.xda-developers.com/showpost.php?p=36014158&postcount=2

Code:
. build/envsetup.sh && brunch goghvmu -j# export USE_CCACHE=1

Make sure on the -j# to replace # with 2 times your procs, i.e. I have 8 cores so I use -j16. The first time you build with ccahe it takes a while but the second time it flies. I cut almost 20 minutes of builds using ccache.
 
I am using Ubuntu 13.04 and it works perfect. I have docs on setting up 10, 12, and 13 depending on your needs.

environment | vmobi.us

Also make sure to use ccache as well it will help with builds as you keep building forward

http://forum.xda-developers.com/showpost.php?p=36014158&postcount=2

Code:
. build/envsetup.sh && brunch goghvmu -j# export USE_CCACHE=1
Make sure on the -j# to replace # with 2 times your procs, i.e. I have 8 cores so I use -j16. The first time you build with ccahe it takes a while but the second time it flies. I cut almost 20 minutes of builds using ccache.
Hmmm, not sure I want to upgrade to 13 after getting 12 working good, but I'm glad to hear it's doable, thanks (again)!

BTW- isn't it easier to put the export ccache command in .bashrc?
 
It is, but use the VaeVictus source, its the MC1 (4.1.2 jb) with some modifications for the better.

Edit: and if ur gonna use it, dont use my repo, use Jerry's cause thats where I push cbanges to.
 
okay, doing some kernel building research, figured it would be a better starting point than going straight to rom source which would require kernel upgrade anyway

and how to use github properly lol
 
Nah had a concert to go to yesterday and been pretty effed up since before than and still kinda now haha, looking into it between doobies and naps, and back to work tomorrow ugh
 
Yooo that was me all day (high off my butt) but I got some work done on VaeVictus lol. Im look for more things to add, I had usb fast charge added but had to revert fo to a syntax error I pointed out. Im looking toward some sound mods now. But as soon as I get my github cleaned out (too many repos) I'll fork a usable device tree that u can use
 
thats whats up bro, ya im lookin at git right now setting it up for my machine and starting a repo and whatnot
 
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. ;)
 
Nah had a concert to go to yesterday and been pretty effed up since before than and still kinda now haha, looking into it between doobies and naps, and back to work tomorrow ugh
Yooo that was me all day (high off my butt) but I got some work done on VaeVictus lol. Im look for more things to add, I had usb fast charge added but had to revert fo to a syntax error I pointed out. Im looking toward some sound mods now. But as soon as I get my github cleaned out (too many repos) I'll fork a usable device tree that u can use
We three little piggies. And you wonder why I derped so much shit today? ;)
 
hah already downloaded but cool aight, i hear alot about how good linaro is, used to follow chad goodmans work which was legit! so cool cool, vaevic source downloaded, repo forked and setup i think
 
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 VaeVictus:

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.


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. ;)

wait what? im holding off on 4.3 till i figure out what im doing, wanted to start with kernel and stock rom edit i guess, i need aosp source to compile the kernel itself? oyy, not sure i even repo sync'd the source right, i didnt specify a branch so it did the whole thing. i need to get my shit together lmao
 
If u refork my repo now itll be set up for experimental by default
I did it specifically for u since I saw u forked earlier
 
Note- You can wrap the build commands into a shell script and just execute it so you don't have to type it all out over and over. Here's what I use. I keep it in Kernel/build-kernel.sh and run it from Kernel with ./build-kernel.sh:

Note: it does not show all output in the terminal window because I log most of it to ~/Desktop/build-log.txt (remove the '> ~/Desktop/build-log.txt' from the end of the last make line to see output in the terminal window).

Note2: replace the path to your toolchain in the CROSS_COMPILE lines

Note3: if you make a new config file, be sure to use it instead of VaeVictus_defconfig
Code:
#/bin/sh 

echo "Preparing to build VaeVictus"
echo " a kernel for the SPH-L300 goghvmu"
echo " Virgin Mobile Galaxy Victory"
echo " "
echo "Setting environment variables..."
echo " "
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=~/android/arm-eabi-4.6/bin/arm-eabi-

echo " "
echo "Running make clean and make mrproper..."
echo " "
make clean
make mrproper

echo " "
echo "Setting configuration files..."
echo " "
make VaeVictus_defconfig
make oldconfig

echo " "
echo "Beginning actual build..."
echo " "
make ARCH=arm SUBARCH=arm CROSS_COMPILE=~/android/arm-eabi-4.6/bin/arm-eabi- -j4 > ~/Desktop/build-log.txt

echo " "
echo "Build attempt complete."
echo " "
echo "If there were no errors, grab /Kernel/arch/arm/boot/zImage"
echo " "
rbheromax has a much more complex script that will ensure you have an appropriate toolchain installed, and if not wget it for you. ;)
 
Yep, I like to be fancy...itll tar compress the kernel modules and zImage
my next script I put out will compile a flashable zip lol
As soon as I can get %date% var to work correctly ;)
 
Note- I just set the default branch of VaeVictus to experimental, should make cloning easier for others, though I still recommend using a local branch for experiments of your own. ;)
 
Back
Top Bottom