Kernel Development - Galaxy 3 Android Development

So I was a little bored this evening and wanted to mess around.
bml5 contains JUST the Linux kernel (zImage) and wanted to see what I could make it do.
Messing up this block device (/dev/block/bml5) won't actually hinder your ability to reflash with odin. messing up bml1 and 2 will though - those are boot and Sbl.
I grabbed this rom from http://forum.xda-developers.com/showpost.php?p=10040444&postcount=1 (rom cooking for the Galaxy S)..
ripped the zImage out of it, and dd'd it to my bml5 kernel.. Rebooted.. and everything worked.
Code:
Linux version 2.6.32.9 ([email protected]) (gcc version 4.4.1 (Sourcery G++ Lite 2009
q3-67) ) #1 Thu Dec 2 00:58:01 KST 2010
This kernel is a couple of MB bigger than the stock one, so I'm not sure what additional functionality it has (if any), but briefly playing around with it doesn't seem like there are any issues.
I'm running JPA currently, but going to try dropping the JPB kernel on it. Keep you guys posted..
...............
Hrm, nevermind.. Looks like after every reboot the kernel gets reverted. There's a tool for the Galaxy S called redbend_ua that's supposed to be used to flash bml live. Trying to get it working.
.............................................
Running JPA with the JPB kernel right now:
Code:
Linux version 2.6.32.9 ([email protected]) (gcc version 4.4.1 (Sourcery G++ Lite 2009
q3-67) ) #1 Sat Dec 4 19:45:05 KST 2010
Going see how it runs.. Battery life was my main issue before running JPB.

You could flash a zimage inside a PDA.tar with Odin as it is intended if redbend does not work on the g3... i really like the experimenting that is going on here at this time...
Btw, flashing kernel from sgs wont really work i think, since the sgs has armv7 CPU and the g3 has armv6 with very different instruction set and CPU frequency table. If you want to experiment with kernels you should download sztupys kernel building vm and the i5800 sources from Samsung and build your own one, when this is working you could try some optimizations like hardcore made them and so on.

FadeFx said:
You could flash a zimage inside a PDA.tar with Odin as it is intended if redbend does not work on the g3... i really like the experimenting that is going on here at this time...
Click to expand...
Click to collapse
I figured that would work. I just have a tar file with zImage in it by itself and choose it in the "One Package" and it seems to do the trick.
Flashing the Galaxy S kernel via this method made me stuck on the i5800 screen... So clearly that kernel won't work (assuming it's due to the differences in bml numbering, etc).. I also tried the Gingerbread release for the Nexus S (which supposedly works on the Galaxy S), and the same result unfortunately.
Gonna keep experimenting =)
I also wouldn't mind grabbing the FROYO sources when they're available (only 2.6.27/29 sources are available right now) and maybe adding in fastboot support.. That would be nice compared to requiring to use ODIN... But that also could be a bootloader thing - which in that case would not work.

Huh updated my previous post while you WWW writing this...

precurse said:
I figured that would work. I just have a tar file with zImage in it by itself and choose it in the "One Package" and it seems to do the trick.
Flashing the Galaxy S kernel via this method made me stuck on the i5800 screen... So clearly that kernel won't work (assuming it's due to the differences in bml numbering, etc).. I also tried the Gingerbread release for the Nexus S (which supposedly works on the Galaxy S), and the same result unfortunately.
Gonna keep experimenting =)
I also wouldn't mind grabbing the FROYO sources when they're available (only 2.6.27/29 sources are available right now) and maybe adding in fastboot support.. That would be nice compared to requiring to use ODIN... But that also could be a bootloader thing - which in that case would not work.
Click to expand...
Click to collapse
Fastboot in fact is a bootloader thing. But redbend would be cool, you'd have to look into the install script in that kernel update.zip, there must be a line to call the redbend.ua binary that is included in the zip also, maybe there the bml partition is specified where the zimage has to go to as a parameter...

FadeFx said:
Huh updated my previous post while you WWW writing this...
Click to expand...
Click to collapse
Nice.. Yeah, I already got the sources earlier. Supposedly there is still source code that's unobtainable which is required to get the phone working - so building the kernel alone isn't going to cut it.
I also read (though not how accurate it is) that you could avoid the proprietary rfs that samsung uses, and make this phone work with yffs(2) - which stock Android uses to run on anyways. So there are a lot of options, and getting rid of rfs would be I think - as I've read it's pretty ****ty.

FadeFx said:
Fastboot in fact is a bootloader thing. But redbend would be cool, you'd have to look into the install script in that kernel update.zip, there must be a line to call the redbend.ua binary that is included in the zip also, maybe there the bml partition is specified where the zimage has to go to as a parameter...
Click to expand...
Click to collapse
I tried specifying the bml partition properly and everything - it just errors out. I'll probably try messing around with it further - but it appears ODIN does what I need it to do for now. It would just be really nice to have the option of flashing from other operating systems than just Windows.
Someone was saying Samsung includes Fastboot (Forced upload by keypressing mode) which can be brought up with holding Home + Vol Up + Power. Though, trying it briefly showed no devices in fastboot after I plugged it into my PC. It's not a driver thing.

I don't think forced upload is in any way related to fastboot, since fb gives a console output normally. Redbend may be needed in a armv6 compatible version also. Gona find out...

FadeFx said:
I don't think forced upload is in any way related to fastboot, since fb gives a console output normally. Redbend may be needed in a armv6 compatible version also. Gona find out...
Click to expand...
Click to collapse
The more I read into this, the more I almost wished I went with something like the Nexus series' ... But then they're also like 3-4x the cost.
As long as the bootloader doesn't get flashed, I think it'd be pretty hard to brick this phone unless it gets overclocked and kills hardware =)

precurse said:
The more I read into this, the more I almost wished I went with something like the Nexus series' ... But then they're also like 3-4x the cost.
As long as the bootloader doesn't get flashed, I think it'd be pretty hard to brick this phone unless it gets overclocked and kills hardware =)
Click to expand...
Click to collapse
Oc can only freze but not brick a CPU, over volting is the dangerous thing...
For redbend you'd have to loock in /sbin if the binary is there... i have also read of some open source alternative that can do the same...

Info on redbend for sgs: http://forum.xda-developers.com/showthread.php?t=765724

The unobtainable sourcecode should be in the initramfs as binary, its mostly driver stuff.

Do we have an initramfs anywhere? I only thought there was a zImage..
Is this the open source alternative you're speaking about?
http://www.glassechidna.com.au/products/heimdall/
And there is a redbend_ua file there. However, it doesn't obey any type of command line arguments. That was the thread I was reading about redbend before actually. According to it: "redbend_ua working binary. (some firmware ship a new binary that does not accept command line parameters)"
Perhaps JPA doesn't accept them?

I'm just looking at the /fota.rc file... Like, there are lines commented out for yaffs2.
Code:
mount rfs /dev/block/stl6 /system check=no
# mount yaffs2 /dev/bml6 /data nosuid nodev
mount rfs /dev/block/stl7 /data nosuid nodev check=no
There HAS to be a way to convert from rfs to yaffs2 with the G3

precurse said:
Do we have an initramfs anywhere? I only thought there was a zImage..
Is this the open source alternative you're speaking about?
http://www.glassechidna.com.au/products/heimdall/
And there is a redbend_ua file there. However, it doesn't obey any type of command line arguments. That was the thread I was reading about redbend before actually. According to it: "redbend_ua working binary. (some firmware ship a new binary that does not accept command line parameters)"
Perhaps JPA doesn't accept them?
Click to expand...
Click to collapse
The initramfs is inside the zimage, i think it should be provided along with the sources also. If not, there is a howto for extracting the initramfs from a zimage in the i9000 section.
Heimdall is an alternative to Odin that is platform independent. However it'd have to be adapted to the g3. I already asked Benjamin Dobell to do it, but he wouldn't for some reason.
Maybe we should ask someone using older firmwares to extract a redbend.ua for testing

precurse said:
I'm just looking at the /fota.rc file... Like, there are lines commented out for yaffs2.
Code:
mount rfs /dev/block/stl6 /system check=no
# mount yaffs2 /dev/bml6 /data nosuid nodev
mount rfs /dev/block/stl7 /data nosuid nodev check=no
There HAS to be a way to convert from rfs to yaffs2 with the G3
Click to expand...
Click to collapse
I think yaffs2 wont be an option as it isn't for the i9000, since the devices are built using onenand that takes care of wearleveling by itself and wont accept a pure band filesystem since it emulates a block device to the system if i am not mistaken.

FadeFx said:
The initramfs is inside the zimage, i think it should be provided along with the sources also. If not, there is a howto for extracting the initramfs from a zimage in the i9000 section.
Heimdall is an alternative to Odin that is platform independent. However it'd have to be adapted to the g3. I already asked Benjamin Dobell to do it, but he wouldn't for some reason.
Maybe we should ask someone using older firmwares to extract a redbend.ua for testing
Click to expand...
Click to collapse
Good call.. I assumed that was it if there was actually one..
http://forum.xda-developers.com/wiki/index.php?title=Extract_initramfs_from_zImage
I believe the /sbin directory is in the initramfs, since there is no /sbin in the factory.rfs file (this file is ONLY /system). I'll see if I can extract it from an older firmware to see how it works. It does look like the samsung bootup scripts for OTA updates is in fact calling:
service redbend_ua /sbin/redbend_ua all
oneshot
FadeFx said:
I think yaffs2 wont be an option as it isn't for the i9000, since the devices are built using onenand that takes care of wearleveling by itself and wont accept a pure band filesystem since it emulates a block device to the system if i am not mistaken.
Click to expand...
Click to collapse
Yeah, I was thinking there is more to it. However, I'm thinking it's just a kernel thing... So if a kernel gets built that doesn't require that, and the filesystem matches that - I don't see how that wouldn't work.
I'm just brainstorming. There might really be a technical limitation though.

There in fact is a hardware limitation, since the onenand controller does this on hardware, its not a driver issue at all. That's why the sgs guys use ext filesystems for this... ext4 would be the way to go.
Btw, sorry that i can't help experimenting, but i never have written one line of code in c or c++ nor have i ever compiled a kernel by myself, i am just a Guy reading to much in forums, that's why i know all that for me useless **** and am just happy to share my knowledge to keep others from having to go a way that has already been gone...

All good. Maybe you will start =)
I got the initramfs extracted now.. I'm tempted to make some customizations to it (like the default.prop, etc). I'll grab the redbend from the older ECLAIR firmwares and see how it works.

Btw, you should rename the thread since this has nothing to do with i9000 anymore

Related

[Q] File system: RFS?

Anybody know what file system the (untouched) Nexus S might be rocking? RFS?
no.........
demo23019 said:
no.........
Click to expand...
Click to collapse
Is that "no" as in "nobody knows," or is it "no" as in "it is not RFS"?
no its not sporting RFS
Its completely stock 2.3 samsung has no involvement in software
Aqua1ung said:
Is that "no" as in "nobody knows," or is it "no" as in "it is not RFS"?
Click to expand...
Click to collapse
A rep from Google already said, they are using ext4.
http://forum.xda-developers.com/showpost.php?p=9627089&postcount=49
If it's not RFS then I guess the dream of Gingerbread being easily ported to other Galaxy S phones is dead. At least I think that's the case.
Dougefresh91 said:
If it's not RFS then I guess the dream of Gingerbread being easily ported to other Galaxy S phones is dead. At least I think that's the case.
Click to expand...
Click to collapse
Why? We already have Voodoo, that does the same thing in Froyo. The way the Nexus S is set up in terms of filesystem is very similar to the way a Galaxy S running Voodoo is set up. There are some differences in how the partitions are set up and yaffs being used on /cache. But the overall differences very small, and minor changes in the init scripts on the ramdisk packed in the kernel will take care of all the mounting.
I have my Vibrant converted to ext4 with the Obsidian ROM, but that only changes a partition as far as I know, not the whole phones data. Not sure about VooDoo as it would never work on my device.
Some people have been speculating that it'd be easy to get a Nexus S ROM ported over since they're both on T-Mob. I was assuming that since the file systems are different that this isn't the case. Look at how much trouble they're having getting the Cyanogen Mod working on the Vibrant.
Believe me, I'd love it if it really is a simple process for devs, but I have a feeling that that's not going to be the case. Again, I'm just speculating, I'm no dev.
I don't think it will be that difficult, because file systems can be changed - indeed, there are already lagfix kernels for the Galaxy S which eliminate the use of RFS entirely. Provided the kernel has support for ext4, the partition can just be formatted that way and mounted appropriately.
I hope you're right. If so then there's no reason at all for me to trade in my Vibrant for the NS. Lord only knows when Samsung will get it's act together concerning updates, so I think this is my only hope of ever seeing Gingerbread on this phone.
rajendra82 said:
Why? We already have Voodoo, that does the same thing in Froyo. The way the Nexus S is set up in terms of filesystem is very similar to the way a Galaxy S running Voodoo is set up. There are some differences in how the partitions are set up and yaffs being used on /cache. But the overall differences very small, and minor changes in the init scripts on the ramdisk packed in the kernel will take care of all the mounting.
Click to expand...
Click to collapse
YAFFS/YAFFS2 and JFFS etc are flash file systems. Not file systems for operating systems. You still require ext/rfs/fat32 etc for the OS to work with. They mount on a yaffs/etc partition so ext/etc do not have to worry about the intricacies of flash.
Voodoo confused a lot of things for a lot of people.
SpeeDemon said:
YAFFS/YAFFS2 and JFFS etc are flash file systems. Not file systems for operating systems. You still require ext/rfs/fat32 etc for the OS to work with. They mount on a yaffs/etc partition so ext/etc do not have to worry about the intricacies of flash.
Voodoo confused a lot of things for a lot of people.
Click to expand...
Click to collapse
Not to offend you, but you only have little knowledge, and that is a dangerous thing. There is no such distinction as file system for operating system versus flash file system. Linux kernel supports a variety of file systems. Some file systems are optimized and written specifically for flash media (e.g., YAFFS2), some are written for hard drives but could work on flash media too (e.g., fat32, ext4, jfs), some are only suitable for disk based media. The operating system partition can be mounted on any partition with a file system that the kernel recognizes. Ext2/Ext3/Ext4 have been the native file systems of Linux, but there have been a lot of machines with no use of any of them. It is up to the root user to choose what the file system of any partition is. The init script in the ramdisk packed with kernel calls the commands to mount the file systems. All Voodoo lag fix did was to convert some of the partitions mounted as RFS out of the box to ext4, and then allowed them to be mounted natively at boot time. The end result is nearly the same approach being taken by Google in the Nexus S out of the box. One of the differences in how the Nexus S or a Galaxy S running the latest Voodoo is set up is the /cache partition, which is set up as ext4 by default on Voodoo+ Galaxy S, and yaffs2 on the Nexus S. Both partitions are on flash media, but since the chip used in Galaxy S does wear leveling in the firmware, we can't use yaffs2 on /cache. Voodoo might have confused some people, but it sounds like you were confused well before that came out.
rajendra82 said:
Not to offend you, but you only have little knowledge, and that is a dangerous thing. There is no such distinction as file system for operating system versus flash file system. Linux kernel supports a variety of file systems. Some file systems are optimized and written specifically for flash media (e.g., YAFFS2), some are written for hard drives but could work on flash media too (e.g., fat32, ext4, jfs), some are only suitable for disk based media. The operating system partition can be mounted on any partition with a file system that the kernel recognizes. Ext2/Ext3/Ext4 have been the native file systems of Linux, but there have been a lot of machines with no use of any of them. It is up to the root user to choose what the file system of any partition is. The init script in the ramdisk packed with kernel calls the commands to mount the file systems. All Voodoo lag fix did was to convert some of the partitions mounted as RFS out of the box to ext4, and then allowed them to be mounted natively at boot time. The end result is nearly the same approach being taken by Google in the Nexus S out of the box. One of the differences in how the Nexus S or a Galaxy S running the latest Voodoo is set up is the /cache partition, which is set up as ext4 by default on Voodoo+ Galaxy S, and yaffs2 on the Nexus S. Both partitions are on flash media, but since the chip used in Galaxy S does wear leveling in the firmware, we can't use yaffs2 on /cache. Voodoo might have confused some people, but it sounds like you were confused well before that came out.
Click to expand...
Click to collapse
Except that ext4 support didn't exist in the .29 kernel used in Android 2.1 - you seem to think it magically just works, because it works.
SpeeDemon said:
Except that ext4 support didn't exist in the .29 kernel used in Android 2.1 - you seem to think it magically just works, because it works.
Click to expand...
Click to collapse
I know that supercurio patched in native ext4 support in Eclair, and it didn't just magically appear. The Froyo kernels do support ext4 natively though, so a simple script injection enables Voodoo. Since Gingerbread kernels from Google will also suport it (as Nexus S will actually use it), why can't another script injection work again to enable a Gingerbread kernel to work with Galaxy S.
Am I right in thinking that supercurio is a dev?
bedalus said:
Am I right in thinking that supercurio is a dev?
Click to expand...
Click to collapse
You do know this thread is more than a couple of months old, right?
Anyway, to answer your question: yes, supercurio is a dev.
Sent from my Nexus S using Tapatalk

[CUSTOM] (Eclair) I5800XXJK1 - with ext2,3,4, tun, cifs

I built a new zImage off the Eclair I5800XXJK1 rom. I assumed it was the best, but if I'm mistaken please tell me =) Though, the zImage should work on other Eclair roms too. I flashed it on my Froyo JPA/JPB hybrid.. Phone boots, but it is very broken.
I included:
- Ext2
- Ext3
- Ext4
- JFS
- CIFS (no module needed)
- Tun (no module needed)
*** I have only partially tested this (on Froyo for fun). Do so at your own risk. ***
I used the factoryfs.rfs, cache.rfs and initramfs right from JK1. No changes.
I'm not including boot.bin, Sbl.bin, or modem.bin to eliminate the chances of bricking your phone. I still cannot be held liable for anything happening to your phone.
If you don't know what to do with this file, then you probably shouldn't be modifying your phone.
(UPDATED) Download from here: http://www.multiupload.com/9QBAZ34454 pass: precurse
Kernel only is posted here: http://www.multiupload.com/E5TM4XWAKF pass: precurse
- Use this if you already have JK1 on your phone, or already have the main files for JK1. Flash a stock JK1 first, and this after.
If people find this works for them and want an ext2 or 4 setup for /data and/or /system, then I may be able to set that up for them.
Ext4 for data would be great man i have to test that kernel but it makes no sense if there is no use of those filesystems. I know it should now be possible to use the loop lagfix, but why doing this if one could get the real thing... there will not be that much quadrant boost using ext4 than using loop, but the smoothness of the system will vastly improve i think
The zImage works... It boots up my hybrid phone. But it's not a good idea to boot Eclair kernel/initramfs with Froyo userland =) All the services started dying on me, but it still did boot nontheless (good sign).
If people actually start using it, then I can probably remove a lot of crap in there (ext3 and jfs mainly). If there's no interest for this rom, then I won't continue it.
It sucks that we need to decide between a nice filesystem with 2.1, versus a newer (albeit beta) 2.2 OS ... I still haven't decided.
Though, I'm picking up a Galaxy S i9000 tomorrow. Trading an iPhone 3G and some cash for one =)
oh!we can't find other power user like you
if the office 2.2 froyo is out ,can you make a zimage.tar with ext2-4 initramfs
and make a update.zip to change all partitions to ext2-4
like z4mod.
hybrid system is useless yet.
http://forum.xda-developers.com/showthread.php?t=797672
precurse said:
The zImage works... It boots up my hybrid phone. But it's not a good idea to boot Eclair kernel/initramfs with Froyo userland =) All the services started dying on me, but it still did boot nontheless (good sign).
If people actually start using it, then I can probably remove a lot of crap in there (ext3 and jfs mainly). If there's no interest for this rom, then I won't continue it.
It sucks that we need to decide between a nice filesystem with 2.1, versus a newer (albeit beta) 2.2 OS ... I still haven't decided.
Though, I'm picking up a Galaxy S i9000 tomorrow. Trading an iPhone 3G and some cash for one =)
Click to expand...
Click to collapse
I will flash it to my gf's g3 asap, to test how it behaves, but without having a ext4 partition it makes not much sense...
I agree. But once we know this setup works, then it's really easy to change the initramfs to something that will load up ext4 partitions for /data and /cache pretty easily.
Ok, problem is my gf left her g3 at a friends house on new year, and will only pick it up later today, so in the evening i will be able to test this...
If only I hadn't recently bought a Galaxy S, I would surely try this on my Galaxy 3..
addicted2088 said:
If only I hadn't recently bought a Galaxy S, I would surely try this on my Galaxy 3..
Click to expand...
Click to collapse
I just got a Galaxy S today - too good of a deal to pass up.... And that screen, wow....
The community for that phone seems a lot more established unfortunately. I was having some high hopes for the G3, but I don't think the development will be nearly as close to that of the SGS..
I might keep the G3 for a while to tinker with it though..
precurse said:
I just got a Galaxy S today - too good of a deal to pass up.... And that screen, wow....
The community for that phone seems a lot more established unfortunately. I was having some high hopes for the G3, but I don't think the development will be nearly as close to that of the SGS..
I might keep the G3 for a while to tinker with it though..
Click to expand...
Click to collapse
Yeah, looking at my G3 after the SGS is horrible.. I'll be giving the G3 to my Dad.
Yeah, the SGS community is very well established. I didn't use the stock ROM on the SGS except when it was getting charged the first time. Soon as it got charged, I put a custom ROM over it.. (Darky's Gingerbread Edition ROM).
Hopefully, the G3 will see development like the Spica i5700, but right now the future's not looking so bright..
precurse said:
I just got a Galaxy S today - too good of a deal to pass up.... And that screen, wow....
The community for that phone seems a lot more established unfortunately. I was having some high hopes for the G3, but I don't think the development will be nearly as close to that of the SGS..
I might keep the G3 for a while to tinker with it though..
Click to expand...
Click to collapse
Hm, to bad, the g3 lost one of the most promising guys with you...
FadeFx said:
Hm, to bad, the g3 lost one of the most promising guys with you...
Click to expand...
Click to collapse
Indeed, I totally agree with you ...
Well, there is one question: How did you build that file ?
ok, tested the kernel on jk1 firmware (flashed only the zimage) and works as intended, got no idea how to test ext4 support...
edit: seems like cifs is not working like intended, do i need to insmod?
FadeFx said:
ok, tested the kernel on jk1 firmware (flashed only the zimage) and works as intended, got no idea how to test ext4 support...
edit: seems like cifs is not working like intended, do i need to insmod?
Click to expand...
Click to collapse
You shouldn't need to insmod. I compiled it statically into the kernel (as with tun):
CONFIG_CIFS=y
CONFIG_TUN=y
I might have to research into that a little further.
Can you do an uname -apm and tell me the output?
Thanks
FadeFx said:
Hm, to bad, the g3 lost one of the most promising guys with you...
Click to expand...
Click to collapse
Sorry to hear that. I sure hope I left enough of a paper tail to let others research and take off with this. I'm too much of a power user to be held back - I have a feeling Froyo will be the only update (and last) for the G3 unfortunately, while the SGS is closely tied with the Nexus S so the updates should continue (Gingerbread is already out for it).
I'm not going anywhere at this moment in time. My next school semester starts up again right away anyways, so I wouldn't have had the same amount of time either way to contribute as much as I have been.
If there's anything unclear with the work I've posted - feel free to ask, and I'll do my best to help spread whatever knowledge I have of this to you guys. I've sent Gsam information about how to build the eclair kernels, so if anyone else feels that they want to as well let me know.
uname -apm
uname: not found
busybox uname -apm
uname: applet not found
Something wrong here
FadeFx said:
uname -apm
uname: not found
busybox uname -apm
uname: applet not found
Something wrong here
Click to expand...
Click to collapse
oh yeh.. It's the stock factoryfs, so no busybox is installed.
What about under Settings > About > Kernel Version ?
Now i got it, Linux localhost 2.6.29 #2 Fri Nov 5 16:05:33 KST 2010 armv61 GNU/Linux
The busybox library was outdated, 1.14.1 or so... think this was installed by titanium backup, could not install it using sterricssons installer, so just copied it over...
FadeFx said:
Now i got it, Linux localhost 2.6.29 #2 Fri Nov 5 16:05:33 KST 2010 armv61 GNU/Linux
The busybox library was outdated, 1.14.1 or so... think this was installed by titanium backup, could not install it using sterricssons installer, so just copied it over...
Click to expand...
Click to collapse
Strange... It should show a date of a few days ago (the day I built it). I'll have to double check that it's the right zImage in that tar file.
... Update...
Yeah I have no idea what happened, but it's the same kernel as stock JK1. Sorry guys!
Kernel only is posted here: http://www.multiupload.com/E5TM4XWAKF pass: precurse
Just flash it as a regular "full" firmware in ODIN.. It only contains the zImage.
I'll upload a full replacement firmware.
Here (flashed it on my froyo setup to see if it booted):
Code:
# uname -apm
uname -apm
Linux localhost 2.6.29 #2 Sat Jan 1 03:53:22 MSK 2011 armv6l GNU/Linux
Ah, will test in the evening...

[Q] Can't seem to build a custom kernel

I am trying to compile a custom kernel,
I succeed to build one but I can't boot him, when I load the kernel I go in to boot loop
I haven't made any real changes to this kernel I really just downloaded the source and compile it
The version match its a GB kernel 2.6.35.7 I disabled the lag fix, still it goes to boot loop.
any ideas?
What source code did you try to use to build this kernel? Links would be awesome.
Well I tried this two
Code:
github.com/Krylon360/SGS4G_Kernel_GB
opensource.samsung.com/index.jsp (SGH-T959V-TMB_GB_Opensource.zip)
I did
make clean && make mrproper
make vibrantplus_rev00_defconfig
make -j8
and then I loaded the kernel via heimdall
Building the stock kernel
I have run in to a similar problem. One issue I had to get past is the stock rom source does not have have the initramfs included. It is needed so the kernel can boot into a file system before it can start loading loadable modules and mount the rom filesystem.
I have been able to get an initramfs by extracting it from the original rom, The issue I have is it is loading all modules, but the rom devices will not mount as the /dev directory is empty and the mount needs them to mount the file systems.
This may be off topic for this forum. If you want to PM me, I'm willing to let you know what I have found out.
Tom
You should keep discussing it here since it does pertain to the phone and it'll be useful for future reference
Sent from my SGH-T959V using XDA App
Agree with FB.
I have ran into the same problem. I was unable to find a way to get it beyond boot loop so I scratched the project. I am definitely curious on how to get this working.
FBis251 said:
You should keep discussing it here since it does pertain to the phone and it'll be useful for future reference
Sent from my SGH-T959V using XDA App
Click to expand...
Click to collapse
DISCLAIMER
I am NOT a kernel developer, just a programmer that has done linux programming before, and is trying to understand and build the kernel.
I will share what I have found out through my attempts to build the stock rom as delivered from Samsung.
I have searched XDA and Googled the web in search of the answers I need with some success as well as dead ends. I am not looking to have the answers handed to me on a silver plate, but a few hints or links to point me in the right direction is helpful.
To start:
Recommended Hardware needed:
Search the XDA for AdamOutler threads on building the serial interface via the USB. Highly recommended reading as it helps to see what the kernel is doing when it is in the bootloop. All the important parts was purchased from his recommended supplier(s). Thanks AdamOutler for the information!
What I know about the samsung kernel source as delivered:
1) if you follow the readme in the kernel, it will build cleanly. However, it will NOT run, it will bootloop!!
2) If you intend to only build the stock kernel, I recommend making sure you are starting with a stock build installed on the phone. I suggest the same release version you are trying to build.
3) After you build the kernel and load it ( the zImage file is loaded via Heimdall ) the first problem I ran into was the initramfs. It is not included in the source and must be created from scratch or obtained from another kernel.
4) Once the initramfs is being built and included in the kernel, the next problem is the driver modules that are included, have to have the same version as the kernel. You will need to figure out the version by the kernel debug messages on the serial/usb interface mentioned above. Once the versions match, the kernel will load them.
This is where I am stopped... once the drivers are loaded, the init scripts mount the file systems. This does not happen with my kernel. I am still investigating this. I think it has to do with the /dev files for the mount points not being created/missing. I have not found the piece of info yet points me to the solution. Most of the links I have found pertain to linux on an x86/64 platform. I have found little on embedded linux and how it works.
That is all I have in a nutshell. Feel free to comment and ask questions. Remember to search! Use different forms of your search terms, use different working. I like to use the 'yippy.com' search engine as it places the results in categories.
Good luck!
Tom
logan123 said:
Well I tried this two
Code:
github.com/Krylon360/SGS4G_Kernel_GB
opensource.samsung.com/index.jsp (SGH-T959V-TMB_GB_Opensource.zip)
I did
make clean && make mrproper
make vibrantplus_rev00_defconfig
make -j8
and then I loaded the kernel via heimdall
Click to expand...
Click to collapse
Krylon's tree is stock, no changes.
It has all the problems I fixed in my tree.
I have a lot of uncommitted changes, but you can find my work at: https://github.com/bhundven/
Regardless of me being on xda or not, I am still working on sgs4g.
bhundven said:
Krylon's tree is stock, no changes.
It has all the problems I fixed in my tree.
I have a lot of uncommitted changes, but you can find my work at: https://github.com/bhundven/
Regardless of me being on xda or not, I am still working on sgs4g.
Click to expand...
Click to collapse
Aww hell bhundven! Refreshing to see you stop by!
Thank you everyone
mccabet, You actually saved me some time because those were my next two step
I was looking for the initramfs and I didn't find it...
Could you please share your?
I do not have my initramfs file available to me at work. So here is the info I used to get my copy. You will need an original rom release ( I used the heimdall one-click from bhundven ) to extract the zImage file from.
Here is the link to info on how extract your own initramfs from a kernel image (zImage):
http://forum.xda-developers.com/wiki/index.php?title=Extract_initramfs_from_zImage
I used the improved script mentioned at the bottom of the page from:
https://github.com/mistadman/Extract-Kernel-Initramfs
After getting your initramfs, you will need to modify your vibrantplus_rev00_defconfig file and change the following parameter to point to your initramfs you extracted:
CONFIG_INITRAMFS_SOURCE="/path/to/initramfs"
Hope that helps.
Tom
Ok it seems like I was able to boot the kernel, no more boot loops thank to the initramfs but
The system isn't loading, it get stuck on the "Galaxy S 4G" page.
and when I load recovery it gives me lots of error so as
E:Can't mount /cache/recovery/log
E:failed to mount /cache (No such file or directory)
it goes on and on but its all the same...
logan123 said:
Ok it seems like I was able to boot the kernel, no more boot loops thank to the initramfs but
The system isn't loading, it get stuck on the "Galaxy S 4G" page.
and when I load recovery it gives me lots of error so as
E:Can't mount /cache/recovery/log
E:failed to mount /cache (No such file or directory)
it goes on and on but its all the same...
Click to expand...
Click to collapse
I may be off-base, but do you know if /cache and the other file systems were the Samsung rfs filesystem or the ext4 filesystem? Standard recovery can't mount ext4 & if your kernel doesn't support it, then it won't be able to mount them, either.
I thought so too so I removed the lag-fix and return to rfs
but this is neither because apparently there are no stl devices :\
I pulled out the recovery log
Code:
http://pastebin.com/hDCNbdne
Code:
failed to mount '/dev/block/stl11' '/cache'(rfs) -> No such device
Now I feel like an idiot because I can't seem to find what is it in the kernel config
moreover I tired to pull a config from a working kernel and I basically got the same errors
Any ideas?
Well the solution is simple, apparently version magic didn't load the kernel modules
for rfs_fat and fsr_stl...(you get the point)
now I can't to find way to compile them it seems as if someone removed them from the kernel tree and I can't load them either
I tired several modules from different kernel well all result in failure.
so any ideas?
logan123 said:
Well the solution is simple, apparently version magic didn't load the kernel modules
for rfs_fat and fsr_stl...(you get the point)
now I can't to find way to compile them it seems as if someone removed them from the kernel tree and I can't load them either
I tired several modules from different kernel well all result in failure.
so any ideas?
Click to expand...
Click to collapse
I wish had some, man. I've never compiled a kernel for Android. At least, not yet. However the moduel code should be somewhere in the kernel tree. I believe Android is a layer on top of the Linux kernel so the source may be there.
I'm still reading about and learning the platform side of Android. Hopefully one of the devs around can provide some solid guidance.
Ok no offence but this kernel is worthless
even if I load the modules into the kernel I get a errors because of the unknown symbols
bahh any ideas anyone?
stephen_w said:
I wish had some, man. I've never compiled a kernel for Android. At least, not yet. However the moduel code should be somewhere in the kernel tree. I believe Android is a layer on top of the Linux kernel so the source may be there.
I'm still reading about and learning the platform side of Android. Hopefully one of the devs around can provide some solid guidance.
Click to expand...
Click to collapse
That is as far as I have gotten. The drivers for the RFS ( drivers/tfsr ) are not loading and therefore the /dev mount points do not exist. The default build config flags ( CONFIG_RFS_FSR=m and CONFIG_RFS_FSR_STL=m ) are to build the module as a loadable module. I have tried to build the module with no success. Still investigating when I have the time. I was even thinking of looking at the Epic 4G MTD build and trying that. The problem there is if I can not solve this problem, I probably solve it by trying the MTD conversion. ( Except to brick it.)
if one of you kernel devs gets a bootable MTD kernel hit me up... I got a rom that needs some mtd loving
RaverX3X said:
if one of you kernel devs gets a bootable MTD kernel hit me up... I got a rom that needs some mtd loving
Click to expand...
Click to collapse
I do not claim to be a kernel developer. I am trying to understand and build the base kernel. If you can help me get past this, that would be great! I need to take baby steps before I can start walking. Once I get the build to work and boot completely, I'm game to go further, but have to get to a working base before we can continue. I understand the more experienced developers don't want to be bothered. I understand they have other jobs, and families. So do I. They became as great as they are, through hard work, experience and asking the right people the right questions. Asking the right question also applies to Google. The query only returns the matches to your query. Change a few words, get different results.
I'm not looking for someone to hold my hand, I want to learn by doing, not having it done for me. Just point be to the bread crumb trail, and I will follow.
Right now, I am at a stand still until I figure out why it is not loading the tfsr module. If that is even the problem.
If I make any progress, I'll post it here for all. If I am wrong, please correct me so we all don't go down the wrong path.
Thank you for listening.
Tom

[DEV] Lenovo Ideapad A1 Kernel Development/Testing

Warning/disclaimer: This thread is intended for those who already know how to compile a kernel and have a working knowledge of Linux and its derivatives. There shouldn't be a great deal of risk involved, but you are responsible for what happens if you decide to follow these instructions.
Polite request: Please don't post replies to this thread that aren't of a technical nature directly related to compiling, modifying, or testing the kernel.
Introduction:
It appears as if Lenovo have released a buildable and bootable kernel source. I've done some preliminary testing with it. However, it would be better if we could get lots of people building and running the kernel, so that we can spot any remaining problems. This is also an opportunity to start hacking it to add/fix features such as USB OTG, etc.
Kernel source:
Get it from the Github repository at: https://github.com/gmarkall/lenovo_a1_07_kernel
Toolchain:
The Makefile seems to suggest that Codesourcery 2010q1 has been used by Lenovo to compile the kernel. Get it from https://sourcery.mentor.com/sgpp/lite/arm/portal/release1293, and make sure that the arm-none-linux-gnueabi-* binaries are on your path.
Building the source:
You may wish to edit the Makefile around line 192 to set CROSS_COMPILE=arm-none-linux-gnueabi- instead of the hardcoded path that is the default.
Then, to build the kernel:
Code:
make distclean
make a1_07_defconfig
make uImage
Booting the kernel
Normally, Android devices have two boot images that consist of a kernel and a ramdisk. One boot image is for the recovery, and the other is for the Android system. This makes it safe to flash a new boot image containing an untested kernel for the Android system, since the recovery can always boot up using the other boot image. However, the A1, by some bad design decision, only has one kernel - the bootloader always loads the same kernel, and just loads a different ramdisk depending whether it is to boot into recovery or system. As a result, it is not safe to flash a kernel to your A1 unless it's already been tested, since a bad kernel will make it impossible to boot from the internal memory, and you'll need a bootable SD card.
The solution to this problem is to make a bootable SD card for loading the kernel and ramdisk from. A bootable SD card consists of two partitions:
* A small bootable VFAT partition, that holds the X-Loader (MLO), U-Boot (u-boot.bin) and the kernel (uImage).
* An ext2 partition that holds the root filesystem.
In order to create a bootable SD card, use the omap3-mkcard.sh script that is attached below. To invoke it for making /dev/mmcblk0 a bootable SD card:
Code:
sudo omap3-mkcard.sh /dev/mmcblk0
You may need to hack the script if your SD card device isn't a /dev/mmcblk* one, since the script searches for partitions denoted "p1" and "p2" - this may need changing to just "1" and "2" respectively (thanks Xbdesign and Brancaleone for this).
This will create the necessary partitions, set the bootable flag, and format them. You will then need to mount the first partition (e.g. /dev/mmcblk0p1), and copy MLO and u-boot.bin to it (also linked below). Then, copy the uImage that you built from your kernel tree, which will be located in /arch/arm/boot. You can now unmount this partition.
Next, mount the second partition (e.g. /dev/mmcblk0p2). This will need to contain the same set of files that the initial ramdisk contains. There are two different ramdisks that you might want to use - one is from the Cyanogenmod 7 build, and the other one is from the stock system. Download links for these are also below. To extract the ramdisk, copy it onto the SD card second partition, then run the following commands (assuming the ramdisk is called ramdisk.ub):
Code:
dd if=ramdisk.ub of=ramdisk.img.gz bs=64 skip=1 # Strip off the U-Boot header
gunzip ramdisk.img.gz # Unzip
sudo cpio -idmv < ramdisk.img # Extract the cpio archive
Then, unmount the second partition of the SD card.
You should now be able to remove the SD card and insert it into your A1. Power down the A1 and power up again, and it should hopefully boot from the SD card and load your kernel. If it's booted from the SD card and loaded your kernel, you should be able to see that it was compiled on your host by looking in Settings -> About Phone -> Kernel Version.
Troubleshooting:
This is not a comprehensive guide, just a few pointers to where a problem might be - please post replies to the thread to get troubleshooting suggestions.
System boots up, but is not running my kernel - it didn't boot from the SD card. If the A1 is plugged into the charger/USB, you sometimes need to reboot multiple times before it boots off the SD card (I think it doesn't always turn off fully when the charger is plugged in).
The static Lenovo logo flashes up over and over again - it's booted from the SD card, but didn't manage to load your kernel
The static Lenovo logo comes up and stays there/goes to a black screen - it's probably loaded your kernel and mounted the root file system, but failed to mount /system. Try running adb shell to see what happens. If you get something like
Code:
/system/bin/sh: no such file or directory
then your kernel is running but /system isn't mounted.
IRC Channel
Join #ideapad-a1 on irc.freenode.net to discuss the kernel and other A1 development-related topics!
Download Links:
MLO
u-boot.bin
omap3-mkcard.sh
Ramdisk for Cyanogenmod 7
Ramdisk for ROW 2643 stock release
I've added the two ramdisks that I suspect will be most common - if you need another ramdisk, you'll have to extract it from an OTA.
Also, I compiled a tun.ko - www.doc.ic.ac.uk/~grm08/ideapad/tun.ko
Here's a cifs.ko - http://www.doc.ic.ac.uk/~grm08/ideapad/cifs.ko
EDIT: AutobahnA1 and infraredevans have confirmed that tun.ko works on ROW_2643.
EDIT 2/3: Please test out cifs.ko! (It doesn't work - it needs slow-work.ko. Will get that done when I can. Thanks to Ilikecokethree on the Lenovo forums for pointing that one out).
你懂中文吗,大神!
我是中国人 关注你的帖子很久了,我不懂英文,用翻译软件看的大概,我们这里很多人支持你,都在用你的rom 很棒!比联想官方的好多了,谢谢!
I think I did exactly the steps as you told, but it still boots the original kernel, may something be wrong? Thank you very much.
PS: I'm a chinese too, and my English is not good either
gmarkall said:
This is also an opportunity to start hacking it to add/fix features such as USB OTG, etc.
Click to expand...
Click to collapse
Please do not forget to try the WiFi-based geolocation, which is also missing!
I wish I had the knowledge to work on it myself but I am far from taking over such tasks...do not have the slightest idea about how these things work.
Good luck and please keep us informed!
geoponer said:
Please do not forget to try the WiFi-based geolocation, which is also missing!
Click to expand...
Click to collapse
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
betabox said:
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
Click to expand...
Click to collapse
Also, it's working in CM7.
hohoxu_hao115 said:
I think I did exactly the steps as you told, but it still boots the original kernel, may something be wrong?
Click to expand...
Click to collapse
Sounds like it's booting from eMMC instead.
Can you post the partition table of the SD card as listed by fdisk, and also a directory listing of each of the two partitions? I ask this to confirm what's happened - seems like you're the first person to follow these instructions, and it's quite possible I made a mistake somewhere.
betabox said:
Geolocation bug has nothing to do with kenerl. It's a missing entry in framework-res.apk in ROM from Lenovo
see : forums.lenovo.com/t5/IdeaPad-Slate-Tablets/A1-Geocode-Bug-in-Firmware-Solution/td-p/709701
Click to expand...
Click to collapse
Apologies for the off-topic, but I think that we are discussing two different things here: I am referring to the Geolocation bug, which prevents me from e.g. checking in with Foursquare by using only WiFi location information (active GPS signal is needed) while you have solved the Geocoding bug, which has nothing to do with the Geolocation one...
Please correct me if I am wrong.
@Graham: I plan to install the CM7 that you have been working on (with the feedback from other users - I keep an eye on that thread!) but since I use my A1 for professional purposes as well, I would like to make sure that everything is working fine before moving to CM7. Apologies for not being able to contribute to the beta testing of CM7 but I am really looking forward to seeing a version based on the source code provided by Lenovo, which I think will lead to a more stable version of your CM7. I cannot thank you enough for taking the time to work on this, really!
geoponer said:
Apologies for the off-topic, but I think that we are discussing two different things here: I am referring to the Geolocation bug, which prevents me from e.g. checking in with Foursquare by using only WiFi location information (active GPS signal is needed) while you have solved the Geocoding bug, which has nothing to do with the Geolocation one...
Please correct me if I am wrong.
Click to expand...
Click to collapse
I think that whether it works in CM7 or not, it almost certainly isn't a kernel issue. I'll test it by signing up for Foursquare and give it a try out on CM7 to see if it works later on. Will post my findings in the CM7 thread.
Hi Graham,
just gonna pile up several questions/thinkings and feel free to comment them the or answer on your liking
We do have few hickups on CM7 but I am more excited about idea of having proper recovery then ironing current CM rom that works more than satisfactory right now. Do we have enough code (I assume that target here is u-boot) on our hands that someone can implement necessary changes to internal partitions and boot procedures?
what is your opinion on replacement of u-boot with something else? for example LK loader or to be more precise with its current HD2 implementation known as cLK. it allready has some neat features like HBOOT like GUI, ability to change partition sizes on device itself (without computer), ability to boot from different partitions (would be nice to have android and ubuntu side by side loaded on our devices) and last but not least it has fastboot support enabled...or is it better way fill up u-boot with desired features if possible?
so...just my wishful thinking...not enough knowledge on my side to do anything regarding all this just hoping that some of you, more capable guys gets interested in this
dusko_m said:
Hi Graham,
just gonna pile up several questions/thinkings and feel free to comment them the or answer on your liking
We do have few hickups on CM7 but I am more excited about idea of having proper recovery then ironing current CM rom that works more than satisfactory right now. Do we have enough code (I assume that target here is u-boot) on our hands that someone can implement necessary changes to internal partitions and boot procedures?
what is your opinion on replacement of u-boot with something else? for example LK loader or to be more precise with its current HD2 implementation known as cLK. it allready has some neat features like HBOOT like GUI, ability to change partition sizes on device itself (without computer), ability to boot from different partitions (would be nice to have android and ubuntu side by side loaded on our devices) and last but not least it has fastboot support enabled...or is it better way fill up u-boot with desired features if possible?
so...just my wishful thinking...not enough knowledge on my side to do anything regarding all this just hoping that some of you, more capable guys gets interested in this
Click to expand...
Click to collapse
I do want to implement something that's pretty much as you describe. My biggest motivation is that it's currently not safe to flash a kernel since you can break both system and recovery that way in one go - I really want to make the boot process more robust.
gmarkall said:
Also, I compiled a tun.ko - tun.ko
I haven't tested it yet - is anyone able to try it please?
Click to expand...
Click to collapse
The module loaded without a problem on my 2643_ROW Kernel. Installed "Rooted AnyConnect" from the "Play Place". Now I can connect to my company VPN.
gmarkall: YOU ROCK! THANK YOU!!!
tun.ko
Graham
The tun.ko module works perfectly with openvpn on 2643_ROW.
I can now access my Amahi home server,awsome.
Thanks a lot you are doing a great job.
Dont want to sound presumptuous but any chance of a cifs.ko to go with it .
Cheers
Infraredevans said:
Dont want to sound presumptuous but any chance of a cifs.ko to go with it .
Click to expand...
Click to collapse
I'll give it a whirl... give me a few minutes.
gmarkall said:
I'll give it a whirl... give me a few minutes.
Click to expand...
Click to collapse
Here it is: http://www.doc.ic.ac.uk/~grm08/ideapad/cifs.ko
To compile it I had to copy md5.h from another kernel source to fs/cifs in the kernel tree. I also had to edit init/Kconfig so that CONFIG_SLOW_WORK defaulted to yes. I configured the module with the options:
Support Legacy LANMAN servers which use weaker security
CIFS Extended attributes
CIFS POSIX attributes
and without statistics, debugging, or experimental features. Let me know if this is a suitable config - I could always tweak it and build another one.
arm-2010q1-202-arm-none-linux-gnueabi.bin
Did someone manage to install arm-2010q1-202-arm-none-linux-gnueabi.bin on 64bit system?
xbdesign said:
Did someone manage to install arm-2010q1-202-arm-none-linux-gnueabi.bin on 64bit system?
Click to expand...
Click to collapse
I did - I didn't have any problems, but my random guess about how to solve it could be to install ia32-libs. If installing that doesn't solve it, can you post a bit more detail about the problem?
I am using ubuntu 10.04 LTS and just cant install / find Getlibs to install a 32-bit version of xulrunner :-(
xbdesign said:
I am using ubuntu 10.04 LTS and just cant install / find Getlibs to install a 32-bit version of xulrunner :-(
Click to expand...
Click to collapse
Do you need that to run the installer? I just downloaded the tar version instead and extracted it. I saw there was an installer as well, but I thought it would be more hassle than using the tarball so I just ignored it.

[REQ][DEV][ROOT] Experienced Android Dev Needed for Rooting Samsung Galaxy Player 4.2

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

Categories

Resources