Related
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).
Hi,
I have seen a lot of posts and threads, but was unable to find the procedure to build the source code for the device.
I am a junior android developer and I would like to learn from the experts here.
I have got the latest gingerbread source code from git repo and I would like to make my own changes to the code, add new icons, build it and then flash onto my Nexus S.
Please let me know the detailed procedure.
The procedure is documented on the google homepage.
You can start here:
source.android.com/source/download.html
Thanks for the reply.
I tried all this and had built the code successfully too. But when am flashing with -w flashall option, its saying radio must be below I9020XXKB3 version.
I tried to flash individually boot.img and system.img, but lost root and also google apps are not present ( like maps, navigation.. ).
superatmos said:
I tried all this and had built the code successfully too. But when am flashing with -w flashall option, its saying radio must be below I9020XXKB3 version.
Click to expand...
Click to collapse
Can't really help you here. AFAIK KB3 is the latest radio available.
I don't know, why the latest android version shouldn't support it.
superatmos said:
I tried to flash individually boot.img and system.img, but lost root and also google apps are not present ( like maps, navigation.. ).
Click to expand...
Click to collapse
boot.img is the kernel and initramfs.
system.img is the root partition.
The radio is another partition again, AFAIK (again).
Google Apps are not present, because they are not part of the Android open source project, but are closed source.
They are licensed by Google to device manufacturers under some conditions.
One condition is to conform to the android compatibility document (hxxp://source.android.com/compatibility/index.html).
You can find the google apps around the internet somewhere though. I remember seeing them for download on the cyanogenmod homepage.
EDIT: Root is gone because it is a modification of the system (in system.img) in the first place. Unless you integrate it into the build process it won't be there.
Dear Android Hackers!
Please consider helping if you have some spare time and good will.
The device is Samsung Galaxy Player 4.2 (mine is North America version from the US)
Product code: YP-GI1
Android: Gingerbread 2.3.6
Kernel: 2.6.35.7
There is no special section in XDA for this device, so we (the owners of such devices and others who are trying to help) were discussing the matters of rooting here: http://forum.xda-developers.com/showthread.php?t=1715461&page=999
We have tried all the publicly available exploit-based rooting methods, none works, the device release date is April 2012, and there is no Android Gingerbread Local Privilege Escalation exploit released after that date if I am not wrong, and all the old ones are patched as it comes out...
Disclaimer: I'm not a developer, and everything I know I've learned in the last month, so please not laugh if I'm telling something stupid
So, as I understand the options are:
1.
Solution: Find a new exploit, get root, install SuperSU, profit
Problem: There is no publicly available exploit that I'm aware of
2.
Solution: Create an update.zip package with SuperSU and BusyBox, install it in the Recovery Mode
Problem: We need a genuine Samsung signing key to bypass the signature checking
3.
Solution: Get the stock rom, inject SuperSU and BusyBox, flash using Heimdall or Odin
Problem: There is no stock rom available, where do you people get them ha?
4.
Solution: Port CWM to our device, install it, then install and update.zip with SuperSU and BusyBox
Problem: I don't know how to create a CWM rom for my device
So, can anybody help with anything please? THANK YOU!
Up.. Anybody?
There hasn't been a leak of the firmware?
If there's no exploit for you to use, it's going to be hard.
And there probably aren't many people working on GB root exploits.
If you can get the kernel or system partition firmware file it would be easy to do.
Wish I had more help for you.
Did it ship with this version, or did it take an update?
If it took an update you might have hope. PM me if it did, I prolly won't see this thread again.
D
.
dsb9938 said:
There hasn't been a leak of the firmware?
If there's no exploit for you to use, it's going to be hard.
And there probably aren't many people working on GB root exploits.
If you can get the kernel or system partition firmware file it would be easy to do.
Wish I had more help for you.
Did it ship with this version, or did it take an update?
If it took an update you might have hope. PM me if it did, I prolly won't see this thread again.
D
.
Click to expand...
Click to collapse
Thanks for your interest.
No, there were no updates, it is the stock firmware.
The source code of the kernel is available at Samsung's site. And I have dumped the contents of the /system partition (except for several config files, see below):
Code:
$ /data/local/tar -czf /sdcard/external_sd/system.tar.gz /system
tar: removing leading '/' from member names
tar: can't open '/system/etc/bluetooth/audio.conf': Permission denied
tar: can't open '/system/etc/bluetooth/auto_pairing.conf': Permission denied
tar: can't open '/system/etc/bluetooth/input.conf': Permission denied
tar: can't open '/system/etc/bluetooth/main.conf': Permission denied
tar: can't open '/system/etc/dbus.conf': Permission denied
tar: error exit delayed from previous errors
So here is the /system:
http://depositfiles.com/files/e0odb9gvt
password: XDA-DEV
P.S.
Also PM'ed you this post
dsb9938 said:
There hasn't been a leak of the firmware?
If there's no exploit for you to use, it's going to be hard.
And there probably aren't many people working on GB root exploits.
If you can get the kernel or system partition firmware file it would be easy to do.
Wish I had more help for you.
Did it ship with this version, or did it take an update?
If it took an update you might have hope. PM me if it did, I prolly won't see this thread again.
D
.
Click to expand...
Click to collapse
any way you could help?
You will need two devices. There are a few different approaches, but all will require two devices to get everything.
First option:
Dump all /system partition contents. This can be tough without busybox, and without root it will likely be incomplete. (Edit: Looks like you have this.)
Assuming the 4.2 uses ext4 - use http://forum.xda-developers.com/showthread.php?t=1081239 to rebuild an Odin-flashable image from the dump. Without root access, the dump will likely be incomplete but at least hopefully bootable. (Based on the posts above, my guess is that Bluetooth will be busted.)
Once booted, use dd to dump the stock kernel image
Use initramfs repacking tools (these vary by device...) to change default.prop of the stock kernel so that it is debuggable and insecure (ADB sessions have root)
Flash this image into another device to get a full and complete /system dump (including the ones you couldn't dump above).
Second option:
Copy individual files from the initramfs of a running system including scripts
Get kernel source
Build a kernel using the manually dumped initramfs (basically, everything in / that isn't a mount point)
Flash this kernel to get a clean /system dump
Root-inject the /system dump (see above) and flash that on another device to get the stock kernel
It sucks that US devices never seem to have stock firmware images available on release like international devices do.
I can't help you beyond this, everything else is device-specific.
I'm not too experienced with this, but if you you can compile the system.img you might be able to root it. Pm me if you need more specifics, I remember a friend doing this with his motorola charm.
Edit: Heres a nand upload, you should be able to get it from here. Just extract it with yaffs2
http://forum.xda-developers.com/showthread.php?p=30320175&postcount=53
flapflip22 said:
I'm not too experienced with this, but if you you can compile the system.img you might be able to root it. Pm me if you need more specifics, I remember a friend doing this with his motorola charm.
Edit: Heres a nand upload, you should be able to get it from here. Just extract it with yaffs2
http://forum.xda-developers.com/showthread.php?p=30320175&postcount=53
Click to expand...
Click to collapse
No recent device uses raw NAND, and thus yaffs2 doesn't apply.
The problem is getting clean kernel and system dumps without root access - the best you'll do usually is a partial system dump that is hopefully bootable, can be root-injected, and then flashed to a device to get clean kernel dumps. With the kernel dump, you can build an insecure kernel, flash it to a second device, and get the factory image.
In the case of Player 4.2 - there is a POSSIBILITY an insecure international device kernel will boot well enough to get a clean system dump. I know Player 5.0 initramfs was identical, and the only difference between international and USA kernels was the touchkey map. So an international kernel would boot on USA devices but would have broken touchkeys.
Have you checked for rom on sammobile.com. If anyone can provide original firmware are those guys. You can also request it on their forum.
Sent from my HTC One S using xda app-developers app
Entropy512 said:
No recent device uses raw NAND, and thus yaffs2 doesn't apply.
The problem is getting clean kernel and system dumps without root access - the best you'll do usually is a partial system dump that is hopefully bootable, can be root-injected, and then flashed to a device to get clean kernel dumps. With the kernel dump, you can build an insecure kernel, flash it to a second device, and get the factory image.
In the case of Player 4.2 - there is a POSSIBILITY an insecure international device kernel will boot well enough to get a clean system dump. I know Player 5.0 initramfs was identical, and the only difference between international and USA kernels was the touchkey map. So an international kernel would boot on USA devices but would have broken touchkeys.
Click to expand...
Click to collapse
can u explain this a bit more? what are touch keys exactly? sorry ima noob but we are still cant find anything. if you could post your ideas on the thread http://forum.xda-developers.com/showthread.php?t=1715461 that would be helpful thanks!
Entropy512 said:
You will need two devices. There are a few different approaches, but all will require two devices to get everything.
First option:
Dump all /system partition contents. This can be tough without busybox, and without root it will likely be incomplete. (Edit: Looks like you have this.)
Assuming the 4.2 uses ext4 - use http://forum.xda-developers.com/showthread.php?t=1081239 to rebuild an Odin-flashable image from the dump. Without root access, the dump will likely be incomplete but at least hopefully bootable. (Based on the posts above, my guess is that Bluetooth will be busted.)
Once booted, use dd to dump the stock kernel image
Use initramfs repacking tools (these vary by device...) to change default.prop of the stock kernel so that it is debuggable and insecure (ADB sessions have root)
Flash this image into another device to get a full and complete /system dump (including the ones you couldn't dump above).
Second option:
Copy individual files from the initramfs of a running system including scripts
Get kernel source
Build a kernel using the manually dumped initramfs (basically, everything in / that isn't a mount point)
Flash this kernel to get a clean /system dump
Root-inject the /system dump (see above) and flash that on another device to get the stock kernel
It sucks that US devices never seem to have stock firmware images available on release like international devices do.
I can't help you beyond this, everything else is device-specific.
Click to expand...
Click to collapse
I tought of the 2nd option but I miss actually the init.rc, init.hugo.rc and init and recovery files. Someone that tried to help me said that he can't do it. Maybe alice you can make a dump of this for me so I can build an insecure kernel. (hopefully)
good nice.....
Sorry, I was offline the last 3 days.
Entropy512, thank you very much for detailed description of the available options.
Assuming the 4.2 uses ext4 - use http://forum.xda-developers.com/show....php?t=1081239 to rebuild an Odin-flashable image from the dump. Without root access, the dump will likely be incomplete but at least hopefully bootable. (Based on the posts above, my guess is that Bluetooth will be busted.)
Once booted, use dd to dump the stock kernel image
Click to expand...
Click to collapse
I don't understand this part. Wouldn't I just rewrite the stock image when flashing the dumped one? And what is the point of flashing the dumped image without modifications? (or you just didn't write about the needed modifications, e.g. injecting the su binary there?). And should I deodex the /system/app/ and /system/framework directories before creating the new image or no modifications are needed? And if it's preferable to deodex, how do I do that in Linux? Thank you!!
Added:
Meanwhile, I've created a system.img with injected su and superuser.apk, not deodexed, here - http://forum.xda-developers.com/showpost.php?p=31345895&postcount=418
1. Search google and xda...
2. Sign zip with signapk or some other signing tool...
3. Try sams firmware or extract your rom... search for how to in guide in my signature(create custom rom)
4. Search if someone have already ported it on your device or use build.clockworkmod.com
Sent from my GT-S7500 using xda premium
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
Hello all!
Preface: I am a mobile dev, not a firmware dev, so apologies in advance for any dumb questions.
I am looking for a how-to article, or some sort of documentation to get me heading in the right direction.
The company I work for produces a custom android device. The Hardware and the FW are outsourced currently. When we get a new FW version, we use a tool called Phoenix Suite to flash the device the new FW img file.
We want to get where we could script out flashing the FW for efficiency purposes. Would love to be able to plug a USB drive in and flash automatically. So I was tasked with seeing what we could do. I can get the device into ADB Fastboot, and I can flash the different partitions. But I discovered that the img file is a compiled version of all the different parts that ADB Fastboot is needing.
So another dev and myself dug in and we found a tool called imgRePacker ... this allowed us to deconstruct the FW into FEX files, and we have identified the boot/recovery and system fex files. We are still needing to identify the drivers, if they are even in a separate file, they may be in one of the 3 already identified. And then we need to know how to repackage them into individual images so we can use ADB Fastboot to flash the device via a script. And hopefully get the same result as when using Phoenix Suite, just with a script.
Once we get this working, we will then attempt to bring the FW creation in-house rather than outsourcing that part ... but that is down the road, step one is flashing.
Hardware specifications:
Chipset is Allwinner A40 Quad Core
I appreciate any and all help in moving forward!!