yashsingh1/xdaforums huggingface dataset:
[Captivate Android Development] mtcarey:
Thanks... I'm already working on more enhancements. Don't want to discourage you though... it's a good learning experience. Another project to tackle is to get the source for Samsung's init and fat.format, and figure-out why the latter needs the former to be running to work properly. Pain in the asssss....
[Captivate Android Development] Jsmokey:
Its not really discouraging, well maybe just a little....lol its all good though I'm going to keep going on mine. It might end up being alot simpler but hey its worth it just to get back into c.

One of these days we really should just rewrite cwm recovery altogether or maybe something new from scratch with cwm as a model, this thing gets more and more over coded the more I look at it. Honestly I can't understand how they kept patching in code with how its wrote, seems like it would be more likely to break things than improve them especially with the lack of commenting in such large blocks of code to reference to.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] mattern1974:
Wow!! All you kernel devs ROCK!!

Gonna stick with this to see if there is any improvements over Red Nebula. Thank you all for your hard work!!!

Sent from my SAMSUNG-SGH-I897
[Captivate Android Development] mtcarey:
I got rid of the loop-back formatting options to try to simplify things. I also removed JFS support when I learned that Samsung removed support for it from the kernel a few revs ago, and an externally loadable JFS module is over 1 mb which makes it an initramfs-buster. I kept ext2 but I wouldn't trust it for anything other than the cache partition. Oh, and commenting? Zero, as you've noticed.
[Captivate Android Development] Kyuta Syuko:
wouldn't ext4 minus journaling be the same thing or even a little better then ext2?
[Captivate Android Development] Jsmokey:
Yeah I heard they removed jfs support. I think I counted a total of maybe 10 comments in around 5000 lines of code and they were all for things that were extremely obvious to begin with everything that actually needed comments is non existent.

Pretty sad really that someone had such good coding skills to make cwm in the first place but not good enough code etiquette to hardly leave the reader a clue of what's going on.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] mtcarey:
Don't know if it would be "better"... I don't know enough about the nuts and bolts of those file systems to know which would have less overhead. I did add a switch in the recovery configuration file to turn off the ext4 journal per partition. In fact, I have it set to exclude the journal when converting the cache to ext4. It's supposed to be user-configurable, but I didn't get the interface done... I wanted to get this out. Next version....
[Captivate Android Development] droiduzr2:
Just stating the obvious

Since it seems that you 4 Devs are doing the same thing why not pool your efforts and energy and work on the rewrite of CWM or developing a kick ass kernel.

I am guessing that you can split the work up.

I hope ego's can be put aside and perhaps present yourself as a group/team with a kick ass product. I can see each of you are passionate and knowledgeable.

Just stating the obvious:D

---------- Post added at 07:17 AM ---------- Previous post was at 06:58 AM ----------

A few questions I am sure others would like to know about this new kernel:

1. Is it better to convert (use lag fix) to ext4 for all partitions? If not which ones to convert to ext4?

2. If we convert do we lose all of our data (does it wipe our phone) or does it just convert and keep our data like the Corn Kernel 3.x?

3. Can you add the feature to enable/disable debug mode from the kernel?

I think Red Nebula or your Corn 3.x kernel had this option.

Thanks
[Captivate Android Development] mtcarey:
A CwM re-write is a big job requiring some heavy-duty C coding skills and lots of time. Maybe someday....

Not much we can do with the kernel unless Samsung releases the source. At this point it's mainly a matter of packaging and adding whatever tweaks we can. Not really enough to do for a team. I'd just as soon do away with the "Corn Kernel" and focus on the CwM customization, but I kind of need the kernel as a test bed.

Thanks for the suggestion!
[Captivate Android Development] Jsmokey:
@kyuta about ext2;

From all the information I've gathered on the file system's lately ext2 is actually terribly inefficient by today's standards especially for use in parts of the system that to need to access the information frequently and quickly. From what I've read about RFS it is actually really good for phones because its so efficient at handling smaller files which is what most of the files on a phone are going to fall under, which would explain the increased smoothness over ext4 that some people have been reporting recently running the new gb leaks. Apparently samsung must have caught on to a problem with how they were handling rfs filesystems and got it at least most of the way sorted out.

@droiduzr2;

I believe the cwm project would be a great idea but at the time being my C skills while improving are very rusty and I have no idea if kyuta and boog have any experience with C. I'd be more than happy to team up for it though once I'm fully back into the swing of using C and I'm not just slowing progress down for mt.

As far as one kernel project I don't know how well that'd work out, as I stated in my thread my tweaks are vastly different than the others other and theirs differ from each other too other than a few settings and I don't know how well they'd all work put together. I believe possibly working on a couple different kernels together might work out so we could each hang on to our original plans and also keep working together as a whole to improve on ideas in each individual kernel as that has kind of been how its gone since we all started anyways, we just aren't officially a 'team'.

Basically we each stick with our own projects but work together to improve on things in each one that way we each would still have complete creative control over our original projects and aren't stepping on each others toes with revisions to the kernel/recovery.

I don't what do you guys think? I think that with how far each of our projects have progressed especially mt's it may be a little hard for us to play catch up with each other and might really slow the overall progress down.

edit: I was actually going to mention the need of source for the kernel for there really to be enough work to go around and then each person really really needs to know whats going on in the area of the kernel they are working on and in the experience I've had modifying the linux kernel from source its metric a** ton of work and completely hit and miss sometimes changing things around. Definitely alot of research needed and the reading material is few and far between and a lot of it is out dated, one of the most recent books I have on the linux kernel, Understanding the Linux Kernel, is from 05 and quite a bit has changed since then especially with googles revisions to it.
[Captivate Android Development] mtcarey:
Answers:

1) I get the fastest (by far) Quadrant scores with ext4 all across.

2) The default option when converting is to back-up and restore your data. You can also choose not to restore if you want to "wipe" the partition.

3) You can enable/disable debug mode from within Recovery... look under "Tweak Options / Misc. system toggles".
[Captivate Android Development] mtcarey:
I agree that a "loose" collaboration has worked pretty well. I certainly took many good ideas from you other guys (Jsmokey, Kyuta and boog). In fact, it was looking at boog's kernel that got me started!
[Captivate Android Development] droiduzr2:
Just to be clear:

1. Is it better to convert ALL of the partitions to ext4?

2. When I choose backup and restore will it just convert the partition to ext4 and replace the data by itself? Will this convert like Corn 3.x did and left everything in tact?

I really don't have the time or patience to setup my phone from scratch again.

I am sure others might also appreciate any clarity that you can shed on this.

p.s. I thought corn3.x with lagfix and ext 3 was fast. I can tell when I load apps or switch from home screen to app drawer and back. It was almost instant, no lag/delay...very quick.
[Captivate Android Development] mtcarey:
Good to know about ext2, and the lack of a journal is a killer. I agree that rfs is pretty darn good now. Ext4 just adds an extra "kick". I think the SGS2 uses ext4 on all but the /system and /efs partitions.
[Captivate Android Development] mtcarey:
1) Yes, except for the /system partition. Make sure it is rfs before you flash..

2) Yes.

That said, you flash at your own risk! This doesn't re-format by default like 3.x does, so you can take your time and build up your courage. :D

Corn 3.x actually uses ext4, not ext3. Yes, it's very fast!

P.S. You can choose to convert just the cache partition first and see how that goes. If anything goes wrong you haven't lost any data.

P.P.S. You might want to just stick with 3.x if it's working well for you. The advantage to 4.x is a fancy new CwM Recovery with a fully functional nandroid.
[Captivate Android Development] Jsmokey:
Yeah ext4 is pretty much the high performance standard at this point in the linux world. The book I mentioned earlier actually goes into this all somewhat but has nothing about ext4 because it wasn't around when it was wrote.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] droiduzr2:
Ok, installed new kernel and converted to ext4.

IT IS MUCH FASTER. Before when I click the Mixzing app the screen would go blank for 2-3 seconds while it loaded, now it is almost instant like it was on Corn 3.x Switching screen from home to app drawer then home is instant. I loaded 4 other apps then went back to Mixzing and it open right away...no lag. I also opened the File Manager and it was almost instant to list the files on the phones sdcard (internal sdcard)

It did backup and restore. I did one partition at a time to convert via the a la carte method.

NOTE- It will take about 1 minute to get to your log in screen. You will see the colorful boot screen for a bit. Not sure if this is due to the conversion or the fact that I disabled the boot up sound. Just wait a good minute after reboot.
[Captivate Android Development] mtcarey:
Great! The initial delay in booting after conversion is probably due to rebuilding the dalvik cache, which I clear before backing-up the data... less to back up! Oh, and if you installed from the CwM .zip package, it added a couple of init.d scripts which run on boot - one does a weekly "vacuum" on your SQLite databases which takes some time, and the other "zip aligns" your apps if they haven't been before. You can delete them from the /system/etc/init.d folder if you don't want them.
[Captivate Android Development] mfdemicco:
Well, someone actually ran some benchmarks between RFS and ext4. RFS is faster. See http://xdaforums.com/showpost.php?p=16479254&postcount=33

I'm sticking with RFS for now.

---------- Post added at 07:14 AM ---------- Previous post was at 07:11 AM ----------

What happens if we use a re-oriented I9000 kernel on a captivate ROM?
[Captivate Android Development] prbassplayer:
Wont work. Probably bootloop.
[Captivate Android Development] mtcarey:
I don't doubt that rfs can test faster under some circumstances, but the "perceived" real world improvement using ext4 is, for me, really tangible. As droiduzr2 mentioned, everything just happens faster... app drawer, root explorer, etc. Reminds me of the "lagfix" debate on the old Cognition froyo thread. But I think the fact that Samsung switched to ext4 on the SGS2 says something. In the end, you should use whatever you're happy with.

As for using an I9000 kernel / ROM, there are lots of them for the Captivate. Some of us are just offering an alternative... the "native" I897 Captivate kernel which, for me, is preferable if just for the amazing battery life.
[Captivate Android Development] boog:
First off, mtcarey, you have done a heck of a job on cwm! Just got to flash and look at it, and of course took it apart and looked inside. Nice, man, nice! I think I am going to have to switch recovery to yours.

That's why I have so much trouble with it, my c skills aren't up to yours and mtcarey's

We have been sharing from the start :) and encouraging people to try things, take the kernels apart and try to improve upon it. :)

kh2 source for 2.3.3 is available, and the stock kh2 kernel will boot on kh3/kj3.

I have been fighting with it, and have been super busy with family life, and haven't gotten to try a couple more things that I think might make it boot with modules from kj3. I don't think I am doing something quite right, but I get successful builds, just not a booting kernel.

I think we are doing well the way we are, just maybe need an irc channel to hang out in or something. Swap ideas and things. But, then it may still be hard to catch each other.
[Captivate Android Development] mtcarey:
Thanks! It was / is a lot of work. Nice that it's appreciated. You are all welcome to use the Recovery... I'm now finishing the last few items that I left undone and should have a new version in a day or so. Then I'll package everything up with some (hopefully) clear instructions for kernel devs on how to incorporate and customize it to your needs / taste.
[Captivate Android Development] Jsmokey:
Yeah working together has been awesome for all of us and has really helped each of our projects immensely compared to what they each started out as.

Yeah I still need to pull that source down and see what I can do with it. It might help to pull an i9000 gb kernel source to compare to btw boog at least somewhat then you could get a better idea of what's different and why it isn't booting.

My skills are still behind mt's in C but I'm getting used to it again very quickly. You can definitely tell these days that C is an over 40 year old language compared to modern languages.

Used to do a lot with C, modifying linux from source and such but I just kind of dropped it, other than using it for tweaking linux kernel source a little, when I picked up java as my main programming language after python for my career.

Which is going terrible btw jobs programming in my area have became few and far between so I've pretty much got to the point where I have to make code so complicated and unreadable that their in house programmers can't maintain it or change anything without breaking it so they have to bring me back in.

I know terrible thing to do but its the only way to guarantee a steady amount of work these days in my area.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] droiduzr2:
@mtcary

1. What does the CTRl.x option do in your CWM?

2. What do the extra things do where you turn on the usb debug options.

I know I am not as clear as I can be but did not want to reboot phone to check:D

Is it possible to get BLN (back light notification) to work now that you have the source for KH2 kernel?

slightly off topic BUT, how the heck do we get the lock screen to display custom information such as Owners name and return info in the event you lose your phone.

Is it possible to add a Contact info to the lock screen?

*the carriers name appears there.
[Captivate Android Development] jasonsymack:
Hmm...

for some reason i can't seem to convert to ext4 for data_fs and dbdata_fs..stuck on rfs. only cache_fs is on ext4. tried doing the auto conversion option and 'options a la carte'

my kernal version still shows 2.6.35.7-I897UCKJ3-CL614489 ...could be normal i guess if the author didn't change it...

i do notice my CWM is now v5 after flashing so im assuming the flash is good?

---------- Post added at 11:15 AM ---------- Previous post was at 11:08 AM ----------

please ignore

i was an idiot for not hitting 'apply changes'

forgive me for operating on 1.5 hours sleep last night :(
[Captivate Android Development] mtcarey:
No problem... I was just replying with a question about just that! And the kernel version is compiled in by Samsung.
[Captivate Android Development] mtcarey:
Sorry, I'm unclear about what is the "CTRl.x option". USB debug and lock screen questions are really for ROM devs and not related to kernel or recovery. As far as BLN goes, I have my hands full with Recovery... maybe someone else?
[Captivate Android Development] Jsmokey:
If we can get source for it to boot after building then yes bln wouldn't be any problem to get working, its really only a module and a kernel patch that you run on the source.

The lock screen has to be modified in one of the rom framework files can't remember which off hand but I believe its in either android.policy.jar, framework.jar, framework-res.apk, or services.jar. I think its one of the first couple though. A quick search should turn up the right answer and I think uot kitchen might be able to do it, don't quote me on the uot thing though, I've never used it personally but I'm pretty sure I read it can do that.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] mtcarey:
Just took a quick look at uot kitchen... framework-res.apk has the lockscreens, and there are none there that can do what he wants.
[Captivate Android Development] Jsmokey:
Yeah I believe you need to deodex and modify things manually that's why I wasn't sure if uot could do it.

I did it before for andromeda 3 when I was running it as a daily driver. I have the link saved on my pc at home so after work I'll dig it up out of my bookmarks for him.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] mtcarey:
Are you in Indiana? Things really aren't much better here in CA unless you want to sit in a cubicle at Facebook or Groupon or whatever with lot's of bright-eyed, low paid youth.
[Captivate Android Development] Jsmokey:
Yeah, pretty much anywhere is going to be terrible right now and for every skilled person with real experience there's 30 kids fresh out of college that will do the same thing for half the cost and in most cases 10x's as many problems in their code.

Sent from my I897 w/Antares Darkcloud, Red Nebula kernel, & 1.3Ghz OC using Tegrak.
[Captivate Android Development] droiduzr2:
Gents, you are deviating from the topic.

It is sad but we have the Walmart effect in the IT world.

It is all about how cheap can we do it, not about what is right or ensuring that it is right.

I am happy for folks such as yourselves for doing what you do to make our phones run better. I amazed how a bunch of ppl in their "basement" can crank out a better product than the so called experts for working these hardware companies.
[Captivate Android Development] mtcarey:
Especially without having a formal "software development methodology" and endless "strategy meetings". :D
[Captivate Android Development] mfdemicco:
Tweaks

On the tweaks in CWM, does one tweak undo the other, or can you combine tweaks? Which one(s) do you find work best? Is there a default tweak that installed when you flash the kernel?

I backed up, but couldn't install a tweak afterwards (something about init.d not accessible/mounted).

Excellent job, by the way! Thanks!
[Captivate Android Development] droiduzr2:
What does the tweaks do?
[Captivate Android Development] mtcarey:
The "tweaks" are independent of each other... you can't combine them. You can create your own however in the /system/etc/cwm5sc/tweaks folder... just make sure the file has the extension ".tweaks", and it will show up in CwM so you can select it. The ones that I put in there are just a sampling of some that I see used by various kernel devs. I really haven't bench-marked any of them to the point of recommending one over the others. By default, my own "syscorps.tweaks" is selected because those are what I generally use.

Looks like you found a bug... the /system partition is unmounted after a backup. I'll get that fixed... I know exactly where it is. Thanks!
[Captivate Android Development] mtcarey:
The "tweaks" are various kernel and virtual memory settings that are injected into init.rc before Samsung's init runs. Allows you to change what otherwise wouldn't be accessible. You can do the same thing with init.d scripts, but this just puts them in place earlier in the boot process and makes it easier to experiment with different settings.
[Captivate Android Development] popfan:
I just flash your kernal and for some reason my SIM card is not being detected any more? How do I fix this? Did EXT4 and your Tweaks only with init.rc.
[Captivate Android Development] mtcarey:
That happened to me once... you need to re-flash your modem. There are download links to the various modems at the top of the development section. I'm not sure why that happened... I'll look at the nandroid code used in the reformatting process to make sure it's not messing with the modem, but I'm pretty sure it's not. It happened to me just once in hundreds of flashes.
[Captivate Android Development] popfan:
Just an FYI I had KI2 modem. I did not do a backup also. Just a wipe with no backup.
[Captivate Android Development] mtcarey:
Just to be clear... you converted to ext4 with no backup and restore (wipe), and then you what? Flashed a new ROM? Which one?

Here is a link to an Odin flashable KJ3 modem.
[Captivate Android Development] droiduzr2:
list of modems for the cpativate

takes 1 minute to flash via CWM method

modems

http://soggycashew.weebly.com/sgh-i897-modems.html
[Captivate Android Development] prbassplayer:
Would there be any reason to why TiBU would stop working right after I flashed to 4.03? Not sure whats up but when I hit batch restore it will start then get stuck. After it gets stuck once it wont install anything else, I need to reboot. Not sure if its related this but This problem has only happend since switching to this kernel. =/

Edit: Nvm, it only messes up with the new version. I switched to an older app and it worked fine, so ya xD
[Captivate Android Development] -Thrive-:
Why do I have 2 cwm5sc folders in /system/etc? They appear to be identical content.

Edit: one has syscorps.sh file in blocktweaks folder and the other doesn't
[Captivate Android Development] mtcarey:
I noticed that... weird bug. Shouldn't happen, but it seems the ramdisk image is overlaying the actual partition with that folder. If you delete one, the other will disappear too after a refresh. Strange.... Anyway, I fixed it for the next version.
[Captivate Android Development] mtcarey:
I'll look into that.
[Captivate Android Development] popfan:
FYI - I did a factory reset (complete) on my phone and I don't have a folder called /Android/.secure/ (think I got this name right) and my conversion failed because it could not backup to it. Any way to check to see if this folder exists and if it don't create it?

BTW - I had the same problem with TiBu as the others. I was trying to convert to RFS to see if it worked better - had to switch to Samurai to convert and run Tibu correctly.
[Captivate Android Development] mtcarey:
Checking on both problems....
[Captivate Android Development] IceMonkey82:
I flashed this and at the end of the backup process it said something about .Android_secure (our something similar, I don't remember exactly) on external SD not found then continued with the conversion. At the end of the conversion it said something along the lines of: conversion was not completed successfully, sorry. But the conversion went through without a problem. I chose the option to convert all three and they're all on ext4.

As far as TiBu, I haven't been able to restore anything since the last update. I came to this kernel to see if it would make a difference with TiBu (shot in the dark).