About the time when further existence of Cyanogenmod was endangered because of Google's legal claims, there happened to be a post from the author of Cyanogenmod:
Since I don't work with any of these closed source applications directly, what I intend to do is simply ship the next version of CyanogenMod as a "bare bones" ROM. You'll be able to make calls, MMS, take photos, etc. In order to get our beloved Google sync and applications back, you'll need to make a backup first. I'm working on an application that will do this for you.
Click to expand...
Click to collapse
The current state is that (supposedly) Cyanogenmod build does not contain any Google apps, BUT in fact to install Cyanogen you should first flash a development image from HTC (DRC83 or so) that contains them, and atop of this Cyanogenmod.
My question is, will the current Cyanogenmod build work without the HTC "base" files, in the way it is described in the message quoted above?
I own a Magic 32A. Could I just flash the latest Cyanogenmod update.zip (and another update.zip with appropriate kernel)?
I DO NOT want any proprietary apps on my phone.
(It will suffice if I have a web browser and a basic contact list application, without syncing.)
If anyone knowledgeable in the affairs of "update.zip" format reads this, I would also like to know if the Cyanogenmod's update.zip does only write some files to existing filesystems, or does it first erase/create new filesystems in some areas of flash memory? And what does the update.zip from HTC do (this one is certainly supposed to erase the root filesystem of the device!)? Would applying just the Cyanogenmod's update.zip leave the HTC files in place if they are already there, and how can I clean the root filesystem?
Not sure if that's how it works. Why don't you just remove the apps after?
If you really want Android without Google Apps, you can also compile from the source Android. That will give you basic functionality (phone, contacts, email) without Google Apps on it. You just need to checkout donut branch, instead of eclair's, since eclair is still on development.
Check: source.android.com and follow the documentation to checkout and compile for dream and sapphire
xaueious said:
Why don't you just remove the apps after?
Click to expand...
Click to collapse
The Google's libraries seem to be hiding in every corner, so that's not really clean.
@dferreira
Right, but it is probably some hassle (and I would duplicate some work of the people who publish their images here), also the download would take a long time with my internet connection. Why do it, if it's already done? A stock Android build from AOSP must be hanging somewhere around... but I haven't seen it yet. All the donut images I've seen on this forum had some silly modifications and were prepared to work with Google packages.
(Or is the source prepared nicely enough to work right if it compiles successfully and is put on the device? How do you put the build in an update.zip to allow flashing to a consumer device with a custom recovery image, but without engineering SPL?)
Donut branch should compile and work without a hitch. Even eclair works out-of-the-box, without camera working and 3D acceleration.
The compiled result will be recovery.img, boot.img, system.img, userdata.img... I've flashed them using fastboot Unless you know how to make a update.zip out of these, you should be all set. The update.zip only works if signed with the right certificates for non-engineering SPL devices.
The update.zip only works if signed with the right certificates for non-engineering SPL devices.
Click to expand...
Click to collapse
I wonder how do some folks from this forum do it then?
I doubt they have relations with google employees!
Do you know which kernel trees are compatible with the 3.22.20.17 radio firmware that is found in stock Magic devices?
AOSP has a kernel project and HTC has put some kernel sources at developer.htc.com, but there's only something called "HTC Magic Kernel Source Code" - no mention for which model.
Well, actually, i might do with some of the kernels that lie around the forum, but do they have any special requirements for initrd and modules, that would require modifying the flash images you get from building the Donut branch?
Seems to me that kernel is in the boot.img. You flashed it and everything works. You have not touched the radio firmware. Correct or not?
kguciek said:
I wonder how do some folks from this forum do it then?
I doubt they have relations with google employees!
Do you know which kernel trees are compatible with the 3.22.20.17 radio firmware that is found in stock Magic devices?
AOSP has a kernel project and HTC has put some kernel sources at developer.htc.com, but there's only something called "HTC Magic Kernel Source Code" - no mention for which model.
Well, actually, i might do with some of the kernels that lie around the forum, but do they have any special requirements for initrd and modules, that would require modifying the flash images you get from building the Donut branch?
Seems to me that kernel is in the boot.img. You flashed it and everything works. You have not touched the radio firmware. Correct or not?
Click to expand...
Click to collapse
Yes, the kernel is in boot.img, and it is the AOSP kernel that comes with the source code There is no radio firmware on AOSP.
update.zip is made by issuing make otapackage.
Hi buddy i thought about something like that few weeks ago and i think MarsDroid has already made some version of Android(Very lite MarsDroid SPL 7) fully without Google apps, so try it..
OK, I've built an image from donut source, coupled it with a kernel from a CyanogenMod port, and it works flawlessly on my phone!
I've uploaded the images to RapidShare, should anyone need them Links are at my website (guciek.net/en/stuff/android_builds).
kguciek said:
My question is, will the current Cyanogenmod build work without the HTC "base" files, in the way it is described in the message quoted above?
I own a Magic 32A. Could I just flash the latest Cyanogenmod update.zip (and another update.zip with appropriate kernel)?
I DO NOT want any proprietary apps on my phone.
(It will suffice if I have a web browser and a basic contact list application, without syncing.)
Click to expand...
Click to collapse
Yes, it works fine if you don't flash the 'defanged' update image first.
unfnknblvbl said:
Yes, it works fine if you don't flash the 'defanged' update image first.
Click to expand...
Click to collapse
But it wouldn't erase the whole system partition, so there could still be some files left.
Now that I realised I can flash images from recovery even without engineering SPL, it seems a safer and cleaner way.
Also, I like to have a second ext2 partition on SD card that is only accessible from a computer, and I wasn't able to do this with CyanogenMod, which instantly filled it with apps2sd data, swap files etc...
kguciek said:
But it wouldn't erase the whole system partition, so there could still be some files left.
Click to expand...
Click to collapse
No, that's why you wipe from recovery before installing.
unfnknblvbl said:
No, that's why you wipe from recovery before installing.
Click to expand...
Click to collapse
Actually wiping only erases the data partition, not the system one.
fastboot erase system -w
carz12 said:
fastboot erase system -w
Click to expand...
Click to collapse
Right, but it isn't possible for users with unmodified SPLs.
Actually, you can just flash a image of an empty yaffs filesystem to system partition (it's just a few blocks at most).
Hello.
I am wondering about the distinct difference between updating Android devices (I have a Samsung Captivate) vs how it is done in linux. It has been a couple of years since my lat linux box, but the process was distinctly different. Specifically, we could get the source to the kernels and all of the modules that we wanted and compile them for added capabilities. Moreover, the file system (data, apps, etc) were all separated from the /boot partition. If a kernel didn't work, it was no problem to boot into the older kernal and try and fix the new one. Never did we have to destroy all of our data to try new kernels, modules, etc.
Why is this so different for Android? Specifically, why do we have to reflash the whole ROM destroying everything else in the process? Is there another way to do this that I am missing or what is the difference that causes this to be necessary?
Thanks so much for the feedback...
would also like to know this one..
Ok, following up on the original inquiry...
Samsung has dropped the 2.2 source for the Galaxy S. Should this source be configurable for any of the Galaxies (i.e. Captivate?) or do we need to wait for specific Captivate source? Also, can the kernel be recompiled and replaced by itself or does the whole ROM need to be flashed? I'm still confised to why this process seems so much more limited than the typical linux cycle...
If i flash a Bad Kernel and my Phone dont boot. ( HTC Desire)
I can flash the old Kernel and it will boot again No need for ROM reflash....
Ok, I'm trying to do something fun with my phone... (Hisense EG909 MSM8625)
Since hisense is keeping the source code, so I'm trying to build the source from codeaurora.org ics branch M8625SSNSKMLYA1015 (to keep the same version with my current stock ROM)
I've successfully compiled the kernel with the ndk but I'm stuck on getting it to boot.
It just show the carrier logo (bootloader). I can't get the bootanimation to load.
I'm not expecting things like wifi / bluetooth or even the radio works... but I'm just trying to at least get it to boot the launcher
I have experience in c/c++ but I know nothing about android and just started to learn it...
Can anyone point me on how to debug or see what's wrong with the kernel?
Is there any way to show something on the screen? I mean turning on the frame buffer
I've search and tried many method like altering the command line "console=tty0", adding "CONFIG_MSM_FRAMEBUFFER", etc..
but seems like nothing works, it just stuck there...
the way I build is:
1. downloading code from caf
2. pulled config.gz from my working phone... but it require some hisense stuff. so I'm using the configs that come with the code
3. tried both msm7627a_defconfig and msm7627a-perf_defconfig,
4. extract current working boot.img
5. substitute the kernel with my compiled zImage, and repack the boot.img
Am I missing something here?
million thanks for your help...
Looks like you are missing some hardware drivers. Why not find the lines in defconfig mentioning "hisense stuff" and search at Google or "searchcode.org" to see if drivers are available. And then patch your source as necessary.
sharonsym said:
Ok, I'm trying to do something fun with my phone... (Hisense EG909 MSM8625)
Since hisense is keeping the source code, so I'm trying to build the source from codeaurora.org ics branch M8625SSNSKMLYA1015 (to keep the same version with my current stock ROM)
I've successfully compiled the kernel with the ndk but I'm stuck on getting it to boot.
It just show the carrier logo (bootloader). I can't get the bootanimation to load.
I'm not expecting things like wifi / bluetooth or even the radio works... but I'm just trying to at least get it to boot the launcher
I have experience in c/c++ but I know nothing about android and just started to learn it...
Can anyone point me on how to debug or see what's wrong with the kernel?
Is there any way to show something on the screen? I mean turning on the frame buffer
I've search and tried many method like altering the command line "console=tty0", adding "CONFIG_MSM_FRAMEBUFFER", etc..
but seems like nothing works, it just stuck there...
the way I build is:
1. downloading code from caf
2. pulled config.gz from my working phone... but it require some hisense stuff. so I'm using the configs that come with the code
3. tried both msm7627a_defconfig and msm7627a-perf_defconfig,
4. extract current working boot.img
5. substitute the kernel with my compiled zImage, and repack the boot.img
Am I missing something here?
million thanks for your help...
Click to expand...
Click to collapse
if you can't extract original defconfig (config.gz) from device, it would be hard to have bootable kernel.
Sent from my Oppo N1 using Tapatalk
Hi, I'm new in XDA so sorry if i do some error. Also sorry for my bad english.
I'm trying to port lolliop to our device with this guide but I'm encourted in two errors: First the recovery [TWRP] declare failed the flash and the other is the bootloop. Can anyone help me?
I atached the logcat and the updater-script.
android1111 said:
Hi, I'm new in XDA so sorry if i do some error. Also sorry for my bad english.
I'm trying to port lolliop to our device with this guide but I'm encourted in two errors: First the recovery [TWRP] declare failed the flash and the other is the bootloop. Can anyone help me?
I atached the logcat and the updater-script.
Click to expand...
Click to collapse
You have to build it using Ubuntu.
Its a pretty hard task so I recommend you avoiding it unless you want to become a developer.
Search tutorials about how to use ubuntu and build a ROM from scratch. Read Cyanogenmod's tutorial as well
What ROM are you porting from?
Liam D. said:
What ROM are you porting from?
Click to expand...
Click to collapse
I'm porting from the lollipop xperia u rom, the similest device that has received lollipop.
If you're talking about Xperia STOCK ROM, you would have better luck building the ROM from scratch instead of porting. Stock ROMs contain Sony-specific configurations, whereas our device needs a Samsung device tree.
I suggest looking at the GitHub profile of SpeedGroup or my GitHub profile for a working CyanogenMod 11 device tree, which can be used as a starting point to start work on Lollipop.
Keep in mind though, that Android L runs ART and has Dalvik completely removed, so unless you're willing to let most of your phone storage go for ART, we better stick with KitKat. ART uses more space, as it pre-compiles application data. While it is a ton faster, it also consumes twice, or maybe thrice the amount of data Dalvik uses.
Liam D. said:
If you're talking about Xperia STOCK ROM, you would have better luck building the ROM from scratch instead of porting. Stock ROMs contain Sony-specific configurations, whereas our device needs a Samsung device tree.
I suggest looking at the GitHub profile of SpeedGroup or my GitHub profile for a working CyanogenMod 11 device tree, which can be used as a starting point to start work on Lollipop.
Keep in mind though, that Android L runs ART and has Dalvik completely removed, so unless you're willing to let most of your phone storage go for ART, we better stick with KitKat. ART uses more space, as it pre-compiles application data. While it is a ton faster, it also consumes twice, or maybe thrice the amount of data Dalvik uses.
Click to expand...
Click to collapse
I wasn't porting from the stock rom but from this project, but thanks anyway, I think so I'll listen to your advice.:good:
Can anyone also tell me what part i need to create a rom?
Sorry I just noticed this now.
To create a ROM, you need these 3:
The kernel (android_kernel_msm7x27a or android_kernel_trebon [depending on the source])
The device tree (android_device_msm7x27a-common AND android_device_s7500)
The proprietary files from Samsung (proprietary_vendor_samsung_msm7x27a)
For references, see the local manifests I put up on GitHub: https://github.com/xenLiam/android_local_manifest_trebon
Download these as a zip and place this inside .repo/local_manifests (create a folder named local_manifests inside the .repo folder of your source directory first).
Hello Everyone, how are you?
I've started the path of "android compilation", well right now I just succesfully compiled TWRP for one of my devices
But I have some questions for you all...
First of all, is it possible to compile a rom without compile the kernel? (like when you compile a recovery)
Second, how can I extract blobs from my stock rom and how can I know what file to pick?
Third, if I want to compile a rom from source for my device (without device tree and having only stock kernel), what are the needed configurations to make in BoardConfig.mk?
Sorry for those questions, but I want to learn and a lot of informations are missing around the web (for example, someone says that it's possible to compile a rom without kernel source, someone say that it's impossible)