[ACS][DEV][TUTORIAL] How to Build A Custom Kernel for the Samsung Epic 4G Touch - Samsung Epic 4G Touch

How to Build a Kernel for the Samsung Epic 4G Touch
So you want to learn how to build a kernel? I guess you've more than likely come to the right place considering that's what the title has led you to believe, so why don't we get started?
As with all things worth doing, this is going to take a little time, and a little patience. If you don't get everything on the first try just go back and pick up where you left off. I'm 15. I started out the same way you did, all of us developers did. You can do it, it just takes practice and effort.
Prerequisites
First off, your going to need some sort of Linux distribution installed on your hard drive or running in a virtual machine. I personally prefer Ubuntu for it's user friendliness and easy learning curve but there are more bare distros out there you can mess around with. A mac might also work as well, but having never owned one I can't say for sure.
Setting up your build environment.
Once you have made sure you have a Linux distribution up and running (er..Mac) you can head on over to this link and download SPH-D710-Build-A-Kernel.zip. This zip archive includes everything you are going to need, even an automatic building script I was nice enough to provide for your building pleasure.
You are going to want to extract the contents of this zip compression archive to your home folder, like so.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Breakdown of contents.
Let's take a look at what is included in the contents we just extracted, shall we?
Code:
kernel
--source
--initramfs
----stock
--toolchain
build.sh
Inside the folder labeled kernel we have the folders source, initramfs, and toolchain. Let's break this down and explain what each is and what it means when compiling a kernel.
Source.
The kernel source is included in the source folder (duh..). This includes everything that is used to compile the kernel itself. These files are provided by Samsung after every update we get on our phones. So it's always a good idea to pay attention to when updates are released and then to check for kernel source updates at the Open Source Samsung website.
I plan to keep this all updated as soon as the source drops for updates as well if you don't feel comfortable updating it yourself.
Initramfs.
Moving on we have the initramfs folder. The initramfs of a kernel is like the insides of a human. It tells the kernel what to do, it's the brains of the whole operation. This is really where all the customization takes place and things like root and Clockworkmod Recovery are added. More on this all later in the tutorial.
Stock initramfs.
What we have currently in this folder is another sub-folder dubbed stock. This included the stock initramfs that I was able to pull from the kernel I grabbed from a stock Epic Touch. By building a kernel with this initramfs we are building a completely stock kernel.
As with every kernel however, unless it is custom signed by Samsung then the yellow triangle will occur on boot. That is unless you use a usb jig to rid yourself of this problem.
Toolchain.
Lastly, we have the toolchain folder. The toolchain is what is used to actually compile the kernel using the source.
In software, a toolchain is the set of programming tools that are used to create a product.
Click to expand...
Click to collapse
Custom build script.
Going back to our home directory (remember: the directory we extracting everything to), we have build.sh.
Me being the nice person that I am, I have included a custom build script so you don't have to manually have to type in commands in Terminal, that is what build.sh is. Double clicking it will reveal a prompt asking you what you wish to do, since we want to build the kernel we should probably select 'Run in Terminal'.
Once we do choose to actually click the 'Run in Terminal' option in the prompt we will be presented with...well, a Terminal that is running our custom build script. This script does alot of things without much effort, just a few button clicks, on your part.
It sets the path for the toolchain and the initramfs, something that we normally have to do manually, and it also takes the time to compile the kernel, pull the compiled modules, copy them to the initramfs, and recompile the kernel again. Afterwards, the compile zImage (kernel) is copied to the Desktop and automagically created into a .tar archive for flashing immediately via Odin.
Profit!
Bam! You've created your very first [stock] kernel.
Give yourself a pat on the back for being able to follow directions and be patient.
Flashing.
Once you've flashed your custom kernel you can flash it on your phone head on over to Settings and then to About Phone and find some interesting information under kernel that is sure to make you smile.
Part II coming very soon to a second post near you.

Part II: What does the build script actually do?

Part III: Being creative within the initramfs.

Part IV: Messing around with the source.

Part V: A conclusion to a story that just began.

Thanks bubby. I'm interested in learning this as well. Thanks man. Please keep this updated for us.
Sent From My Evo Killer!!!

Awesome
Sent from my SPH-D710 using XDA App

Thanks Bubby! This is exactly what I have been looking for... especially the build script. Now I don't have an excuse for being lazy, it's time to wipe off the dust from my old linux box!

Thank you Bubby! This is awesome, I'm pretty excited I've always wanted to play around with Android, I think this will be a great place to start! I just installed Ubuntu on my work laptop, probably a ****ty idea but wth. Looking forward to the later posts!
PS Can we get this Stickied?

OMG>>>>>>>> you rock. iv been looking all over for this and could never find anything for a samsung phone. they were all htc.......
Wheres the donate button? you have a KEG coming your way. THANK YOU.

Thanks. Really appreciate this.
Sent from my SPH-D710 using XDA App

spdwiz18 said:
OMG>>>>>>>> you rock. iv been looking all over for this and could never find anything for a samsung phone. they were all htc.......
Wheres the donate button? you have a KEG coming your way. THANK YOU.
Click to expand...
Click to collapse
A keg of juice hes 15 lol... So am i ... Thanks bubby for this
Sent from my SPH-D710 using XDA App

Great guide!!!

deano0714 said:
A keg of juice hes 15 lol... So am i ... Thanks bubby for this
Sent from my SPH-D710 using XDA App
Click to expand...
Click to collapse
Lol.... didn't say there was anything in the keg... Just saidI would donate to get him one...
Sent from my SPH-D710 using xda premium

Wow. I'm impressed. The sky is the limit for you. The way you conduct yourself on these forums is incredibly professional, responsible and void of any childish behavior that people twice your age get wrapped up in.
Thanks and keep up the great work! I look forward to the rest of the guide. Every couple of years I get an install of Linux going to play around with; I think I've just found a reason to try it out again!
Sent from my SPH-D710 using XDA App

Wow, thanks man!

This is awesome! Personally I probably won't ever make my own kernel but I appreciate the knowledge. Does anyone know if there is a custom rom tutorial guide?

Awesome, thanks for this guide bubby Been reading up on developing in Android and this will definitely help to get started!

spdwiz18 said:
OMG>>>>>>>> you rock. iv been looking all over for this and could never find anything for a samsung phone. they were all htc.......
Wheres the donate button? you have a KEG coming your way. THANK YOU.
Click to expand...
Click to collapse
If any of you feel like you wish to donate to me, I'm definitely not going to stop you. ;3

bubby323 said:
If any of you feel like you wish to donate to me, I'm definitely not going to stop you. ;3
Click to expand...
Click to collapse
Done. It's not much but i figured a token of my appreciation was warranted.

Related

[DEV] CyanogenMod 6 (Froyo) on Galaxy Tab Public Beta

Hi guys,
Compiled Cyanogen 6 from sources:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
All right folks, everything is now part of CMSGS project. See http://cmsgs.com and http://github.com/cmsgs
Use build instructions from http://cmsgs.com/mediawiki/index.php?title=Building_from_Source
Before building apply local patches from device/samsung/galaxytab/patches
After building use tools from device/samsung/galaxytab/tools to build kernel and build factoryfs.ext4 from system.img, read the readme files
Thanks to Deodexed, who provided his hosting, we now have public beta
Only for people with GSM tabs who know how to use adb and heimdall
If you dont know how to backup and restore your tab don't try it!
Grab: http://files.deodexed.com/ModADroid-Galaxy-Tablet/Technomancer/cm6beta.zip
Read the readme file and have fun ;-)
The Tab should be partitioned with P1_add_hidden like for JJ4 or later ROMs.
If anyone wants to use Odin, rename factoryfs.ext4 to factoryfs.rfs and tar all rfs files and zImage and Odin should be able to flash it too.
Status:
What works
Phone calls, data
Wifi
Bluetooth Keyboard
GPS
Buttons backlight - linked to LCD backlight
Sensors:
- BMA020/BMA150 Accelerometer
- AK8973B
What doesn't
Camera
Sensors:
- BH1721FVC light sensor
- L3G4200D gyro
- Some are probably screwed up because of hwrotation = 90
Bluetooth Audio
Issues and workarounds
* Stuck on CM boot ani after flash
Probably / data is not mounted.
run "adb shell mount"
it will show list of mounted partitions, if /data is not mounted to /dev/block/mmcblk0p2 as rfs, format the /data partiton.
To do that "adb reboot recovery". "adb shell" when in recovery, "parted /dev/block/mmcblk0", initialize/format partition 2 to fat32 using "mkfs 2 fat32"
* BT doesnt start
Try again
Try rebooting
If that doesnt help try "adb shell stop hciattach" Sometimes hciattach service gets stuck when starting. I have added code to stop it automatically.
Latest fixes:
2011-01-20
Replaced lights with my own built from source
The linking of backlight and button light is now done in lights module instead of java LightsService
Replace copybit and s3cjpeg modules with ones from noobnl's samsung/common
2011-01-19
Switch to Nexus S libaudio. Much simpler, doesn't crash and Bluetooth headset shows some signs of life.
2011-01-17
Fix p1_keyboard.kl, remove key codes unsupported in CM. add left and right alt.
Fixed exec flags on recovery executables
2011-01-16
Moved everything to http://github.com/cmsgs
This build should be functionally the same as previous one
2011-01-15
Fix vold configuration so usb mount/unmount works
Add code to bt_enable to stop hciattach service if it is stuck.
older
Switched back to binary vold which is better and enables UMS
Force Phone app to start with speaker on
Switch to su built from sources
Big thanks to
noobnl, coolya and codeworkx for advice and CMSGS work
Current testers:
lilstevie
A_Snowman
JeffR714
Landroid
clmntch
ayman07
You can catch me on Freenode as TCMAN-dmg
This is quite amazing. Great job. Do you really think you need to build it all from source? Can't you just modify the current build instead of starting from scratch? Wouldn't it be faster. Please people don't bug the dev about doing testing or helping if you have NO dev experience. I'm sure he will release it if it's stable enough. This thread is gonna get raped in sure of it
ayman07 said:
This is quite amazing. Great job. Do you really think you need to build it all from source? Can't you just modify the current build instead of starting from scratch? Wouldn't it be faster. Please people don't bug the dev about doing testing or helping if you have NO dev experience. I'm sure he will release it if it's stable enough. This thread is gonna get raped in sure of it
Click to expand...
Click to collapse
I have already built it (CM6 for Galaxy S) from source once, its not that bad.
I will need to create my own initramfs and proprietary samsung device files extracted from Tab ROM to get camera,wifi,bt and other stuff working.
Now where is my jar of vaseline ;-)
This is exactly what I've been waiting for!
Nice one
Sent from my GT-P1000 using XDA App
What about the Sprint Galaxy Tab?
This is awesome. I have the sprint tab and I always feel like my n1 running cm performs so much better than the tab even though the tab has more powerful hardware. Can't wait for this and certainly willing to help whether that be through testing or donations.
Sent from my Nexus One using XDA App
I only have ATT Tab so I can only do GSM development. But if any devs with Sprint or Verizon Tabs wanna join we can set up some git repositories ans cooperate.
So galaxy tab friendly our no?
Sent from my unlocked and rooted SGH-I987 using XDA App
Wow, this is awesome
Super Awsome buddy! All the best.
This is awesome work, but note it is really really unstable at the moment.
Last night when I was helping test it really did hose things, had to repartition and reformat the entire internal MMC to get any default firmwares to even boot again
But this is a good sign for the future
i cant wait for this
bumpity bumpy bump
CM 6 compiled from sources now! Looking for testers , see first post
Now to pull from the CM7 source for some Gingerbread goodness
I can test if you want, running JME at the moment on a GSM Tab.
knightnz said:
Now to pull from the CM7 source for some Gingerbread goodness
I can test if you want, running JME at the moment on a GSM Tab.
Click to expand...
Click to collapse
Gingerbread goodness most likely requires newer kernel (2.6.35) so its not that easy ;-(
Will a cdma version be worked on or no?
Sent from my ADR6300 using XDA App
I would test but im not very good at android. I can flash my N1 like the best of them thou.
Sent from my AT&T TAB using XDA App
papi92 said:
Will a cdma version be worked on or no?
Click to expand...
Click to collapse
No
You are welcome to start working on it yourself
coming along well, hope its read by the time i get my tab. keep up the good work

[KERNEL][NE2]SPH-L900 Community Kernel Project (Updated 05/29/14)

Well, now that it's up and running it's time to properly set this thread up.
The idea of this thread is to provide a kernel repo that most can use to build their own.
I'll be building and posting the builds from this without modification.
May 29, 2014 Update: I have added the NE2 Kitkat kernel and built but it will remain untested.
I'll try to see if someone can test but it doesn't look like much has changed from MK4.
Project Repositories:
NE2 (4.4) (Initial Setup Only)
https://github.com/garwynn/L900_NE2_Kernel
MK4 (4.3) (WIP):
https://github.com/sleshepic/l900_MK4_Kernel (Thanks to sleshepic for his work on this!)
MC2:
https://github.com/garwynn/L900_MC2_Kernel
Older Versions (Development has stopped)
MA7 | LJC
Project Status:
NE2:
I've used the same as MK4 to make a test kernel. Untested though without a N2.
MK4:
Still trying to get a full boot.img together, stay tuned.
MC2 Status:
Kernel patched to current Linux 3.0.x (.71 at time of update)
Stock governors enabled, 6 additional ones added.
Project Downloads (Built Kernels):
My kernels are currently housed by rwilco12's Android Stock Repo. (All versions)
To compile on your own you need:
1) Linux Box - I'm using Ubuntu 14.04 and all prerequisites for building AOSP.
2) Android SDK with toolchains - I used arm-eabi-4.4.3 all the way through NE2.
3) Cloned repo from above.
Just modify the toolchain location in ./build_n2.sh and execute ./build_n2.sh.
Rest should go on its own.
On some cases I had to also change the toolchain location in main makefile.
Releasing/Posting your Kernels:
Folks are encouraged to try building the kernel and posting it if they want to.
Any posts should refer to using the kernel as their base.
If you modify the code further outside of this you should include a link to your repo for others to see those changes.
Anyone interested in chipping into this is more than welcome!
Thank you in advance for your time!
I've been playing, digging, etc for about a year now. Ive been attempting my first rom build and I think im really close. Its a 4.2 rom, so its been a challenge.
But I would love to participate in this too if its open to everyone.
Sent from my SPH-L900 using Tapatalk 2
cbucz24 said:
I've been playing, digging, etc for about a year now. Ive been attempting my first rom build and I think im really close. Its a 4.2 rom, so its been a challenge.
But I would love to participate in this too if its open to everyone.
Sent from my SPH-L900 using Tapatalk 2
Click to expand...
Click to collapse
That's the goal! It slowed down on the E4GT but it's hopefully going to heat up again soon.
The more people that get involved, the better the kernel should end up - and the more that fellow XDAers learn and share knowledge!
Talk to sleshepic. He built a kernel for his rom.
Sent from my SPH-L900 using Tapatalk 2
Self-plug below. It should get you started on kernels.
http://forum.xda-developers.com/showthread.php?t=1748297
btbamzao said:
Talk to sleshepic. He built a kernel for his rom.
Sent from my SPH-L900 using Tapatalk 2
Click to expand...
Click to collapse
Agat63 showed him and also is willing to show me but catching him will be tough for the next 3 weeks.
So that's what I'll go with if we can't get something cobbled together before then.
garwynn said:
Agat63 showed him and also is willing to show me but catching him will be tough for the next 3 weeks.
So that's what I'll go with if we can't get something cobbled together before then.
Click to expand...
Click to collapse
Agat was def helpful as always. The way I ended up doing it was slightly dif than the way he does it on the S3, really similar though. im really busy for a couple days but when I get to my comp with some time ill type up what I do.
My git wouldn't be a good source to clone from just cus my first commit had a few changes already, but it def would be helpful to get a working repo together with the Cypress touch drivers already placed in source - did they forget them or what lol. Could try getting that together too.
sleshepic said:
Agat was def helpful as always. The way I ended up doing it was slightly dif than the way he does it on the S3, really similar though. im really busy for a couple days but when I get to my comp with some time ill type up what I do.
My git wouldn't be a good source to clone from just cus my first commit had a few changes already, but it def would be helpful to get a working repo together with the Cypress touch drivers already placed in source - did they forget them or what lol. Could try getting that together too.
Click to expand...
Click to collapse
Thanks for the assist!
I'll try to commit a fresh LJC repo over the weekend then and we can go from there.
Hope I don't mess that up. I'll ask if I have any ??s.
Well, I made a repo here:
https://github.com/garwynn/L900_LJC_Kernel
...and followed the kernel readme instructions. Looks like it's compiling.
*Edit* ...and failed. arm-eabi-nm missing in toolchain I'm using.
(Wait, it's right there!)
Code:
/root/Kernel/L900_LJC_Kernel/scripts/mksysmap: line 44: ~/Kernel/toolchain/prebuilt/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
How about a Modem Repo? Like on the Epic Touch
Avatar said:
How about a Modem Repo? Like on the Epic Touch
Click to expand...
Click to collapse
Rwilco12 - when he has time - is going to set up a Kernel/ROM/Modem Repo... at least time I talked to him.
Cool.
garwynn said:
Well, I made a repo here:
https://github.com/garwynn/L900_LJC_Kernel
...and followed the kernel readme instructions. Looks like it's compiling.
*Edit* ...and failed. arm-eabi-nm missing in toolchain I'm using.
(Wait, it's right there!)
Code:
/root/Kernel/L900_LJC_Kernel/scripts/mksysmap: line 44: ~/Kernel/toolchain/prebuilt/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
Click to expand...
Click to collapse
Here is what my build looks like, in general. I have my toolchain referenced in the first export (which could also be easily put in the makefile so its not needed each time)
$ export CROSS_COMPILE=/media/Android/Kernel/toolchain/prebuilt/arm-eabi-4.4.3/bin/arm-eabi-
$ make t0spr_04_defconfig
$ make menuconfig (this is not necessary, and possibly not recommended unless you know what your changing etc, or could be manually edited in the file)
$ make modules
$ make -j5 (the -j5 is optional, I have a quad core processor so this just speeds things up, if you believe your comp is capable of faster than standard builds put the number of cores plus 1 for the number after "-j" )
Then that will build the zImage into the /arch/arm/boot directory.
Which we then bundle with the ramdisk to create the boot.img.
On the Epic Touch all we needed was the zImage for the kernel since the initramfs were bundled differently, but it's dif on our Note 2's. you'll need the ramdisk and zimage to make your boot.img. I pulled the ramdisk from the stock kernel.
I use
$ ./unpack-bootimg.pl boot.img
to pull the "ramdisk-contents" from the stock kernel, I renamed that folder "initramfs" and threw it in a folder along with my mkbootimg binary, and my zImage I just compiled. you can put this anywhere, I just put it in my working kernel folder so it's easy to navigate to
I put the newly created modules from zImage build in my initramfs/libs/modules with
$ find -name '*.ko' -exec cp -av {} [path to desired folder] \;
I navigate to the initramfs folder and
$ find .|cpio -o -H newc > ../ramdisk
$ cd ..
$ gzip ramdisk
$ ./mkbootimg --kernel ./zImage --ramdisk ./ramdisk.gz --board smdk4x12 --base 0x10000000 --pagesize 2048 --ramdiskaddr 0x11000000 -o boot.img
That last part is what bundles the zimage and ramdisk into the boot,img. sorry I had to rush it, hope i didn't miss much, can fill in the blanks as needed, just I'd get up whatever I could when I found a moment, open to help in any way I can.
Edit: Also, checked out the repo put up, Nice work so quick! this is the folder I mentioned that needs to be added or else the capacative touch keys won't work, unbelievable that that was missed in the source drop. I mean, isn't it supposed to be a buildable working version for it to meet open source standards? guess not. anyway, this "cypress" folder needs to be added to the source prior to build for the two touch keys to work. first time I finally got mine booting and all I was so psyched only to find out my touch keys didnt work, so frustrating. Just have to pull it from other source, or you can grab it from mine
https://github.com/sleshepic/Note_2_l900/tree/master/drivers/input/keyboard/cypress
Big thanks to agat63 and Andreilux for help along the way
Nice stuff here, will be following this thread. Here is another repo with fresh LJC kernel source with cypress drivers included https://github.com/slickrick/L900_Kernel
thewadegeek said:
Self-plug below. It should get you started on kernels.
http://forum.xda-developers.com/showthread.php?t=1748297
Click to expand...
Click to collapse
Mind if include this in OP revision after Phase 1 is finished?
Also thanks for the quick responses... will try to get to it this weekend but will probably be Monday. Sucks but that's the way it will be a few more weeks.
Sent from my SPH-L900 using Tapatalk 2
garwynn said:
Rwilco12 - when he has time - is going to set up a Kernel/ROM/Modem Repo... at least time I talked to him.
Click to expand...
Click to collapse
Working on it as we speak! I was able to finish the week with only 10 hours of overtime and had some free time to work on some projects.
Got one or two little things to sort out in the PHP but here's a sneak peek of what I've got coming! It's a complete rework of my original Repo for the E4GT with more devices and more goodies!
If there are any PHP gurus (or web design in general) and you're willing to help hit me up and maybe I can get over this last hurdle and make the New Repo public!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
garwynn said:
Mind if include this in OP revision after Phase 1 is finished?
Also thanks for the quick responses... will try to get to it this weekend but will probably be Monday. Sucks but that's the way it will be a few more weeks.
Sent from my SPH-L900 using Tapatalk 2
Click to expand...
Click to collapse
Nope feel free.
Sent from my SCH-R950 using Tapatalk 2
Well.. work on this may be pushed back a day or two, new source for the E4GT. Gotta look at it first.
Hi everyone.
I'm here by invitation and will try to participate as much as I can.
Hopefully with combined knowledge and power we can make this
project move faster.
agat63 said:
Hi everyone.
I'm here by invitation and will try to participate as much as I can.
Hopefully with combined knowledge and power we can make this
project move faster.
Click to expand...
Click to collapse
Okay... here's where I still stand.
Added Cypress and pushed a commit to Github.
Make still is good up until VMLinux and fails.
Didn't know I can just skip to here so here's the command and output:
Code:
[email protected]:~/Kernel/L900_LJC_Kernel# make vmlinux
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
LD vmlinux
SYSMAP System.map
/root/Kernel/L900_LJC_Kernel/scripts/mksysmap: line 44: ~/Kernel/toolchain/prebuilt/arm-eabi-4.4.3/bin/arm-eabi-nm: No such file or directory
make: *** [vmlinux] Error 1
Where should the vmlinux object be? It's trying to create system.map so I suspect that vmlinux is not being created properly.
I dumped a debug output from this make but it's 115MB.

[ROM][DEV][LG-P930]Ubuntu Touch Preview[2013-02-27]

Hey Fellow P930 owners,
Here are the files needed to get Ubuntu Touch to boot on our phones. The is a pre-alpha build and cannot be used for a daily ROM. I nor any of the involved sources take responsibility for problems, bricked devices or your cat's head exploding. If you do not know what to do with the following files do not go any further.
Phone look:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
More detailed instruction will come when I have more time.
Here are the files:
Recovery: http://goo.im/devs/nexwave/p930/ubuntu-touch/cm-10.1-ubuntu-touch-20130225-UNOFFICIAL-p930.zip
CM part: http://goo.im/devs/nexwave/p930/ubuntu-touch/cwm-ubuntu-touch-20130225-UNOFFICIAL-p930.img
Ubuntu Touch part: http://cdimage.ubuntu.com/ubuntu-to...urrent/quantal-preinstalled-phablet-armhf.zip (Updated daily)
Install Instructions:
1. Have or get root on your phone.
2. Have or install a custom recovery. (TWRP, CWM and Ubuntu CWM all work)
3. Reboot to recovery.
4. Make a backup of your current ROM. (you will want to go back as not much works in the Ubuntu Touch preview at the moment)
5. Do all wipes. (cache, dalvik cache, data and system)
6. Flash CM part.
7. Flash Ubuntu Touch part.
8. Reboot and Enjoy! (It will take a minute or two before the ubuntu screen loads, be patient)
Working:
- WiFi
- Touch
- Display
- Power Button
Not working:
- Mobile Data
- Calling
- Bluetooth
- SDCard access
- Sound
- All hardware and capacitive buttons (except power button)
Project on Github:
https://github.com/nexwave-mat/android_device_lge_p930/branches/cm-10.1-ubuntu-touch
https://github.com/nexwave-mat/lge-kernel-iproj/tree/cm-10.1-ubuntu-touch
Later,
Thank you to:
goo.im - For file Hosting.
Ubuntu Touch - For the project.
The guys at work and Ubuntu Touch irc - For their helpful insight.
reserved
First off, great job man :good:
But i was wondering how did you get it to boot, in my case, i was able to compile the ROM without errors, but when flashing the .zip, i would get past the two LG Logos and it would just keep bootlooping afterwards. I see you posted 3 files in your initial post, is there a special way to flash it, i guess i ll wait for the future instructions ... ... but i would still like to know if i was even close of having a working compiled ROM, still new to this kind of stuff hehe
Thanks
Nice! Ya beat me to it. Good on ya!
Anyway, I read in the other thread that quite a few things don't really work right now. Things like calls. Do you have a list of anything not working?
I wondered the same initially then I realized the only thing you missed was flashing the zip image from (I purposely split the http so you could see what file you are fetching, there are a lot of builds there ) http://
cdimage.ubuntu.com/ubuntu-touch-preview/daily-preinstalled/current/quantal-preinstalled-phablet-armhf.zip
After flashing both zips it booted up for me... I wonder how well the rom would work with other kernel configurations.. You dont need the recovery.img
But for some reason my own build failed with the following in the logcat
Code:
E/linker ( 841): ics/linker.c:1072| ERROR: Library '/system/lib/libubuntu_application_api.so' not found
E/linker ( 878): ics/linker.c:1072| ERROR: Library '/system/lib/libubuntu_application_api.so' not found
E/linker ( 929): ics/linker.c:1072| ERROR: Library '/system/lib/libubuntu_application_api.so' not found
E/linker ( 937): ics/linker.c:1072| ERROR: Library '/system/lib/libubuntu_application_api.so' not found
E/linker ( 973): ics/linker.c:1072| ERROR: Library '/system/lib/libubuntu_application_api.so' not found
Nz
P.s.
After install there are a few features missing like
Unable to use the Phone,
browser,
texting..
In all it is pretty much just a small taste of what it could be - which does look to have potential - but in general a waste of time using it.
Nz
Re: [ROM][DEV]Ubuntu Touch Preview [LG-P930][2013-02-27]
I'll share my github forks as soon as they are ready. That way you guys can see changes and send commits to make things better. We can work on this together as it evolves.
Sent from my LG-P930 using xda app-developers app
Do Android apps work with this? Or do we have to get apps from Ubuntu?
Re: [ROM][DEV]Ubuntu Touch Preview [LG-P930][2013-02-27]
Scotsman828 said:
Do Android apps work with this? Or do we have to get apps from Ubuntu?
Click to expand...
Click to collapse
No, android apps do not work. You need to use Ubuntu apps.
Sent from my LG-P930 using xda app-developers app
Delete post
nexwave-mat said:
Hey Fellow P930 owners,
Here are the files needed to get Ubuntu Touch to boot on our phones. The is a pre-alpha build and cannot be used for a daily ROM. I nor any of the involved sources take responsibility for problems, bricked devices or your cat's head exploding. If you do not know what to do with the following files do not go any further.
More detailed instruction will come when I have more time.
Here are the files:
Recovery: http://goo.im/devs/nexwave/p930/ubuntu-touch/cm-10.1-ubuntu-touch-20130225-UNOFFICIAL-p930.zip
CM part: http://goo.im/devs/nexwave/p930/ubuntu-touch/cwm-ubuntu-touch-20130225-UNOFFICIAL-p930.img
Ubuntu Touch part: http://cdimage.ubuntu.com/ubuntu-to...urrent/quantal-preinstalled-phablet-armhf.zip
Later,
Thank you to:
goo.im - For file Hosting.
Ubuntu Touch - For the project.
The guys at work and Ubuntu Touch irc - For their helpful insight.
Click to expand...
Click to collapse
Great job!!!
I have tested it ,It can work ,but no wifi ,phone,mms,music...and so on.
but ,your work should be thanked. Thanks a lot.
[/ATTACH][/ATTACH][/ATTACH]
I was building ubuntu touch on LG LTE ,but recently busying with Python.
p93x has little different with su640.
Could you build that at the same time.
Thanks for your work!!!
Looking forward to your good news!!!
So my second compiled build actually worked ! All i needed was the phablet .zip file ! damn it ! :silly::crying:
Anyways thanks for clearing that out for me :good:, im glad i got it to work, i ll be able to help you out on this build if needed
Alright for those wondering how to properly install this ROM (keep in mind this is a preview, nothing actually works, its only for show):
-Download those two files :
http://goo.im/devs/nexwave/p930/ubuntu-touch/cm-10.1-ubuntu-touch-20130225-UNOFFICIAL-p930.zip
http://cdimage.ubuntu.com/ubuntu-to...urrent/quantal-preinstalled-phablet-armhf.zip
-Reboot in recovery
-Make a backup of your current ROM
-FULL WIPE: Factory reset(wipe data), wipe cache, wipe dalvik cache, wipe system
-Install cm-10.1-ubuntu-touch-20130225-UNOFFICIAL-p930.zip
-Install daily-preinstalled/current/quantal-preinstalled-phablet-armhf.zip
-Reboot & enjoy the preview
I got mine to build last night and installed it.
Nothing happens... It boots up and says that there are "14 tweets received"... I even downloaded the links in the last post and installed them with the same result.
Is that all it does right now? If so, I'm kind of angry that I just wasted my time doing this.
mattman86 said:
I got mine to build last night and installed it.
Nothing happens... It boots up and says that there are "14 tweets received"... I even downloaded the links in the last post and installed them with the same result.
Is that all it does right now? If so, I'm kind of angry that I just wasted my time doing this.
Click to expand...
Click to collapse
Well you can do swipes to open menus and such. Also web browsing works on WiFi but ya... that's about it. Really not usable other than to dev on. Which is what it's intended for.
nexwave-mat said:
Well you can do swipes to open menus and such. Also web browsing works on WiFi but ya... that's about it. Really not usable other than to dev on. Which is what it's intended for.
Click to expand...
Click to collapse
I swiped the screen all over the place and nothing happened. except for the clock minutes changing.
Try drag from right edge out
Sent from my LG-P930 using XDA Premium HD app
Delete post
Wow this is awesome! I love the look and everything. Can't wait till it has full functionality.
Sent from my LG-P930 using xda app-developers app
I just wanted to thank you for this! Been itching to try ubuntu touch on my P930. Excellent work!
Cheers,
Hey Guys,
Just wanted to let you know that I'm going to be attending a port clinic with the ubuntu touch team tomorrow on IRC in order to learn how to port the new flipped image. I wouldn't want us to miss out on the awesomeness that is going to be Ubuntu Touch .
Feel free to join us/me, details quoted below.
We noticed that some of the port images linked from [3] haven't been
updated in a while. If you should need help to update to the newest
version of Ubuntu Touch, we are running a Ubuntu Touch Porting Clinic on
Thursday, 1st August in #ubuntu-touch on irc.freenode.net ([4] has a web
frontend, if you don't have an IRC client). Simply ask your question on
IRC and we'll have some folks around to help you out.
[3] https://wiki.ubuntu.com/Touch/Devices
[4] webchat.freenode.net/?channels=ubuntu-touch
Click to expand...
Click to collapse
nexwave-mat said:
Hey Guys,
Just wanted to let you know that I'm going to be attending a port clinic with the ubuntu touch team tomorrow on IRC in order to learn how to port the new flipped image. I wouldn't want us to miss out on the awesomeness that is going to be Ubuntu Touch .
Feel free to join us/me, details quoted below.
Click to expand...
Click to collapse
Awesome! Learn anything good?

[GUIDE] Modifying 4.4.x based rom's updater-script to install in TWRP 2.5.0.0

MODIFY A 4.4.x BASED ROM'S UPDATER-SCRIPT TO FLASH WITH TWRP 2.5.0.0!
WARNING
This is a disclaimer: While this has been tested I am not responsible for ANY damage done to your device. I take no responsibility for bootloops, soft bricks, hard bricks, living brick monsters, your phone proving an omnipotent being fallible(thus negating all existence), your great aunt smoking bath salts, flying monkeys, hot pockets, obamacare, dingleberries, carnivorous dingleberries or Sundays. Use at your own risk!!
Secondary disclaimer: If you have carnivorous dingleberries then you have bigger problems to worry about - but for any phone related questions feel free to message me on here either privately or in the thread.
In honor of my 300th post here on xda I thought I should do my first guide. I decided to make this guide because some people have had issues with TWRP 2.6.x which is the version you need to flash kit kat roms. However TWRP 2.5.0.0 has been beyond stable for me and everyone I know who has used it on our wonderful ls970. So how do you flash 4.4 based roms from TWRP 2.5.0.0?! Edit the updater-script, ofcourse!!!!
Now keep in mind, the screenshots I supply will be on Linux because it is what I use - the steps should be the same for Windows, however the programs used will probably be different(Archive Manager vs 7zip/WinRar for instance). If anyone wants to do this on Windows and take screenshots I will gladly post them or give OP privileges so that you can add them yourself.
Are there any downsides to installing roms this way?
Yes - it will essentially break OTA updates for the roms. 4.4 roms built from source will always have an updater-script meant for the newer recovery versions and will not flash in 2.5.0.0. So if you want to dirty flash an update to the rom you are using, you will have to modify that updater-script as well.
Well, let's get down to business!
Things you will need:
A flashable zip file for your rom of choice(I use Vanir for this guide)
An archive manager(7zip/Winrar for Windows)
A text editor(I use gedit but Windows users will want to use Notepad++)
A working brain
Step 1: Open the flashable zip file with an archive manager
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Step 2: Navigate to the updater-script found in META-INF/com/google/android/
Step 3: Open the updater-script from within the archive manager. Keep the archive manager open during this process. I'm using Linux Mint 15 so it opens in gedit. Once open, scroll down until you see a bunch of lines that say 'set_metadata' and 'set_metadata_recursive'. These are the lines we need to edit.
Step 4: Now everywhere you see 'metadata' in these lines, you want to replace 'metadata' with 'perm' like in the images below.
Step 5: After replacing metadata with perm, we need to re-organize things a bit to look more like a 4.3 updater-script. After the parentheses you will see directories/files in quotation marks like in the picture below.
We need to move all of these to the end of the parentheses like so.
Step 6: The next thing we need to do is delete everything else in the parentheses EXCEPT the numbers. The numbers and quotations we just moved will be the only things left in parentheses when we are done. Also keep in mind that '0x0' will also be removed.
So - everything highlighted below, needs to go!
When you are done, it will look like this:
And when you are done with ALL of it, here is what it will look like!
Step 7: Remove asserts. This isn't always needed but it also won't hurt. The asserts placed in flashable zips are to protect you from installing a rom that isn't compatible with your device. The problem we lgog users frequently have is that our phone is called many things(ls970, geehrc4g, geespr, etc). If you've ever gotten a "Flash failed this isn't a geespr" error in TWRP, it's because that particular version of TWRP doesn't recognize your device as a geespr(even though it is). So as long as you know the rom was built for your device, it is safe to delete these lines. They are found at the very top of the updater-script like shown below.
Step 8: Save and update! Once you are done editing, simply hit save in the text editor and your archive manager should give you a warning similar to this one below.
Hit the update button and the updater-script will save inside the flashable zip!
And that's it! Your 4.4 based rom will now flash on TWRP 2.5.0.0!!
Just be careful that you edit it exactly, pay attention to the punctuation. This is not difficult but can be time consuming. Using your text editor's "Replace" function properly will help speed up the process!
So why go through all of this?
Certain users here on the lgog forums have experienced a problem with TWRP 2.6.x that essentially bricks the device. Randomly and mysteriously, the phone won't boot into the system. When trying to boot into TWRP, it will ask for a password - even though the user never supplied one in the first place. If you cancel the password, TWRP loses all functionality.
Users in other threads(specifically the nexus4 and nexus5 users) have experienced the same problem but not to the extent our lgog users have. In most cases it is because the data partition became corrupt/encrypted. The solution is to format your data partition(So best case scenario, you lose EVERYTHING). Nexus users seem to still be able to do this after cancelling the password - some lgog users haven't been as fortunate. When they cancel the password, nothing mounts, so nothing works. Even using LGNPST to revert back to stock gives an error so the phone is essentially a paperweight.
What is the cause of this?
It still isn't certain however it may be a bad emmc chip. Can't an emmc chip go bad using TWRP 2.5.0.0? Ofcourse, so this may all be superstition. It may just be a coincidence that a person's emmc chip fried while using the updated versions of TWRP. But until someone has this issue on TWRP 2.5.0.0(None have been reported as far as I know, if it happens to you, please prove me wrong), I'm going to err on the side of caution and stick with what I know works.
For most users it will just be easier to flash a different recovery like Clockworkmod but I personally wanted to stick with one recovery. Using this method, TWRP 2.5.0.0 can flash everything from stock to 4.4.x! You can look here in the lgog forums for working recoveries and their uses/limitations. But at the very least I hope this guide helped you to understand updater-scripts a bit better and the role they play in flashing roms.​
QUESTIONS?
Feel free to ask me any questions you may have. If it doesn't flash, get a recovery log(from TWRP go to advanced->copy log to sd, then boot back into your system and it will be on your internal memory as recovery.log) and send it to me. Or open the recovery log yourself and look for E: (For error) around where the flash failed. Usually you will see a syntax error and it will tell you what line it was on - that means the edit wasn't done properly but you will atleast know where it went wrong.
Thanks
@xboxfanj - for showing me how to do this in the first place
@engine95 - for all of his guides here in the threads
For Windows, use 7zip and notepad++. They work good.
Nice guide for those of us that prefer TWRP. Thanks.
Edit. That info was in the spoiler. My bad.
Sent from my LG-LS970 using XDA Premium 4 mobile app
engine95 said:
For Windows, use 7zip and notepad++. They work good.
Nice guide for those of us that prefer TWRP. Thanks.
Edit. That info was in the spoiler. My bad.
Sent from my LG-LS970 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Thanks man(out of daily thanks again) - I thought that's what Windows users should use but wasn't 100% sure.
Awesome work brother!
Sent from my Optimus G using xda app-developers app
PartimusPrime said:
Awesome work brother!
Sent from my Optimus G using xda app-developers app
Click to expand...
Click to collapse
Ditto on that!
PartimusPrime said:
Awesome work brother!
Sent from my Optimus G using xda app-developers app
Click to expand...
Click to collapse
Code-Craft said:
Ditto on that!
Click to expand...
Click to collapse
Thanks guys! My laptop is so old I cant even attempt to build anything worthwhile(damn you 32 bit!) so I can only modify stuff but will pass on what I learn to you all. As soon as I get a new computer I will be learning how to build so stay tuned.
Good job man!! Hell yeah!
Sent from my LG-LS970 using XDA Premium 4 mobile app

[CLOSED] Goto G3 Android Development

GOTO: NebulaKernel On G3 Android Development
XDA:DevDB Information
NebulaKernel, Kernel for the T-Mobile LG G3
Contributors
Eliminater74, thewalkingdude
Source Code: https://github.com/Eliminater74/NebulaKernel/tree/nebula-mod
Kernel Special Features: Tons of Mods
Version Information
Status: Testing
Created 2015-06-26
Last Updated 2015-10-01
( Downloadz )
CLOSED
NFO:
Closed
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hi thanks for your work is appreciated , I have problem installing the file using TWRP it said Error executing updater binary in zip Failed any help will be appreciated.
Nice! Thanks for this!
Sent from my LG-D851 using Tapatalk
egalpr said:
Hi thanks for your work is appreciated , I have problem installing the file using TWRP it said Error executing updater binary in zip Failed any help will be appreciated.
Click to expand...
Click to collapse
Must be an error in zip, Ill fix that and Re-Upload it..
Update: Do to a problem with the Zip file, I had to Redo Zip. New one has been tested by me, And works.
Sorry for the inconvenience..
BTW: This kernel is worked on all the time, So new updates will be released alot. I already know of a few more things that I want to add.
My Goal is to make this Operate at low temps while keeping its performance as well at Longer Battery Life.
One of my test builds, The battery lasted me 3 days on a single charge. Without heavy usage.
My temps range betwen 87f /30c - and - 100f/37c (Stabilize around 97f/ 36c).
Eliminater74 said:
Reerved
Click to expand...
Click to collapse
Updater Binary failed at install... Downloaded from both links, same deal. Swapped out boot img into zip from 06/25 and it installed fine. Just a heads up. Thanks, good work. Todays update even more fun stuff!!!
Edit: I'm too slow, you already know.
zoman7663 said:
Updater Binary failed at install... Downloaded from both links, same deal. Swapped out boot img into zip from 06/25 and it installed fine. Just a heads up. Thanks, good work. Todays update even more fun stuff!!!
Edit: I'm too slow, you already know.
Click to expand...
Click to collapse
You must have gotten the zip that was bad before I replaced it with new one...........
Cause I tested the new one my self. and it worked......
@Eliminater74
Keep it up! It will get easier over time and its nice to look back and see how you have become more adept at what you are doing.
Just some friendly advice:
1. Always give proper credit
2. Always make clean commits.
1. is just because we do this for fun and for some sort of recognition (Even if some Devs won't admit it) and 2. because it makes troubleshooting, and reverting WAYYYY easier. When I started, I learned this the hard way. This way if you get into a situation where you have to make reverts or reset the branch, you are able to be more surgical about what you remove. If you have a commit that has alot going on in it then sometimes you cannot revert cleanly and it will have to be done manually. This can sometimes leave you more prone to make simple mistakes. Ones that we ALL make when Dev'ing late at night after a day of hard work and should really be getting more sleep. lol
Oh and 3. Learn to use Meld properly. This will make merging so easy, and will save you a metric crap ton of time.
If you need anything, feel free to PM me.
Regards,
Render
Anybody get a successful boot? I flashed on my existing 20e Rom and even on a fresh install of the Rom and doesnt boot. Stays on LG splash screen. Thanks.
Sent from my LG-D851 using Tapatalk
bofiana said:
Anybody get a successful boot? I flashed on my existing 20e Rom and even on a fresh install of the Rom and doesnt boot. Stays on LG splash screen. Thanks.
This Kernel is for Aosp only that is why your rom is not booting past the splash screen.
Click to expand...
Click to collapse
TheBlackMaou said:
bofiana said:
Anybody get a successful boot? I flashed on my existing 20e Rom and even on a fresh install of the Rom and doesnt boot. Stays on LG splash screen. Thanks.
This Kernel is for Aosp only that is why your rom is not booting past the splash screen.
Click to expand...
Click to collapse
Well sh!t. Guess i missed that in the op
Sent from my LG-D851 using Tapatalk
Click to expand...
Click to collapse
bofiana said:
Anybody get a successful boot? I flashed on my existing 20e Rom and even on a fresh install of the Rom and doesnt boot. Stays on LG splash screen. Thanks.
Sent from my LG-D851 using Tapatalk
Click to expand...
Click to collapse
Yes, you you cant install over a stock rom.. its only for Custom Roms AOSP example: CM,PAC-Rom,Bliss,Resurrection Remix, Ext...
RenderBroken said:
@Eliminater74
Keep it up! It will get easier over time and its nice to look back and see how you have become more adept at what you are doing.
Just some friendly advice:
1. Always give proper credit
2. Always make clean commits.
1. is just because we do this for fun and for some sort of recognition (Even if some Devs won't admit it) and 2. because it makes troubleshooting, and reverting WAYYYY easier. When I started, I learned this the hard way. This way if you get into a situation where you have to make reverts or reset the branch, you are able to be more surgical about what you remove. If you have a commit that has alot going on in it then sometimes you cannot revert cleanly and it will have to be done manually. This can sometimes leave you more prone to make simple mistakes. Ones that we ALL make when Dev'ing late at night after a day of hard work and should really be getting more sleep. lol
Oh and 3. Learn to use Meld properly. This will make merging so easy, and will save you a metric crap ton of time.
If you need anything, feel free to PM me.
Regards,
Render
Click to expand...
Click to collapse
Wow, I would of never thought that someone like you would stop in to say anything. And very positive feedback indeed..
When I saw your name, I thought I was seeing things. I had to look twice.
But thanks man... I appreciate everything you said.. It all makes perfect sense..
It's a pity this kernel won't work with slim based roms. I really wanted to try it. Running Tesla ROM and it gets stuck on boot-up screen.
EVR_PR said:
It's a pity this kernel won't work with slim based roms. I really wanted to try it. Running Tesla ROM and it gets stuck on boot-up screen.
Click to expand...
Click to collapse
It boots on my friends Slim Rom.. This kernel is for 5.1.1.
Eliminater74 said:
It boots on my friends Slim Rom.. This kernel is for 5.1.1.
Click to expand...
Click to collapse
Apparently only the original 777kernel works with Tesla. Tesla is lollipop 5.1.1_r4. Thanks anyway.
Proof that it works with Slim based Roms.....
PS: Thats not a screen shot of my phone.. its a friends..

Categories

Resources