[Sprint Samsung Galaxy S 4 Android Development] mikshepard:
** HOW-TO COMPILE BEANSTALK YOURSELF **

​

NOTE: Pre-compiled nightly builds in the second post

or

Official Builds are found here​

While BeanStalk is offically supported for our device, I noticed that there hasn't been a new build for a little while and loving the ROM as much as I do, I'm addicted to having the latest features. Here is a basic tutorial for building this yourself. If I'm stepping on anyones toes by posting this, please let me know. I am in no way affiliated with the development of this ROM or with scott.hart.bti the creator of it.

I compiled on a Debian Wheezy system, 64bit (squeeze should be the same). A 64-bit computer is required to compile KitKat (ICS and above for that matter), so don’t attempt this on anything less. If you are unfamiliar with installing Debian, you can use LMDE, it's a live Debian system that you can install with minimal linux knowledge and works pretty nice. However the installation process is pretty easy for vanilla Debian and a good learning process, so give it a shot if you have the time.

Do this all as root

Download dependencies:

apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline6-dev g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown libxml2 libxml2-utils schedtool pngcrush xsltproc zlib1g-dev lib32stdc++6 lib32ncurses5 ncurses-libs.i686 libstdc++.i686 libgcc.i686 lib32readline-gplv2-dev lib32z1-dev

Link files:

ln -s /lib32/libncurses.so.5 /lib32/libncurses.so

or for Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Install Google’s repo script:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod 755 ~/bin/repo

Make your working Directory and start syncing with BeanStalk

mkdir ~/beanstalk; cd ~/beanstalk
repo init -u git://github.com/scotthartbti/android.git -b kk44
repo sync

Setup the build environment for our device (jflte)

. build/envsetup.sh
lunch 56 ## or type lunch and find "jflte_userdebug" in the menu

Add the device source code and Proprietary Vendor files by adding the following line to ~/beanstalk/.repo/local_manifests/roomservice.xml

So it should look like this afterwards:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_jflte" path="device/samsung/jflte" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" />
<project name="CyanogenMod/android_device_samsung_msm8960-common" path="device/samsung/msm8960-common" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_jf" path="kernel/samsung/jf" remote="github" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_external_libtar" path="external/libtar" remote="github" revision="cm-11.0" />
</manifest>

Sync the repo again:

repo sync

Get your prebuilt terminal emulator:

cd ~/beanstalk/vendor/cm && ./get-prebuilts

Now there is a bug that will cause our builds to fail, so we need to apply the following for our unified devices:

Edit ~/beanstalk/device/samsung/jflte/system.prop

Add these two lines to the end:

ro.product.device=jflte
ro.product.model=Samsung JFLTE

That should be it, now we can build!

cd ~/beanstalk
. build/envsetup.sh
lunch 56 ## or type lunch and find "jflte_userdebug" in the menu
time mka bacon

when finished, it’ll be located in ~/beanstalk/out/target/product/jflte/

TIP:

Install the github app and follow scott.hart.bti to see when new updates get added to the sourcecode :D

Also, if you are into building, checkout my acompile script in my signature, it'll email you when your build is complete using Gmail's snmp and will include the time it took and the last few lines of the output. I find it very useful for knowing when my build is done (especially since they take me about 3+ hours apiece)

Also, I am using the latest NAE Firmware with no problems, however the stock MJA worked fine as well. Here is a link if you care to upgrade your modem drivers.

SOURCES:

This page helped a lot with a great tutorial on building ROMS

This forum is filled with great people who others with the building of ROMS. A great source when you run into errors you don’t understand.

BeanStalk Github for Scott.Hart.bti

jflte kernel source

I hope this helps someone,

-Mike