[Galaxy S I9000 Android Development] Jarmezrocks:
Observations, sometimes booting first time will get bootloops. If battery is pulled then wait a few minutes and boot sometimes means no bootloops? Go figure?

Also I think there is certainly issues with recovery pre-touch recovery v5? I have at many of times had MD5 errors on restore! This totally f#*%s things royally. Doing the MD5 restoration method of fixing your nandroid backup *sometimes works* however not always, sometimes they are just corrupt.

I will now and always after doing a nandroid backup attempt to restore that same backup via recovery before flashing what I want to flash. If it passes MD5 checksum (and before it initiates the restoration process) I pull the battery. This ensures that the backup is good!

I think there is a correlation between kernel types/versions superuser binaries, binary locations (some are bin symlinked to xbin some are xbin symlinked to etc) and super user apps all have an effect on if a phone boots or not or has root for that matter.

I have now gone to the trouble of not doing a full wipe at all what so ever, allowing the user to keep their existing kernel and modem (and root access) and copying Superuser app from system/app to /tmp then removing all the folders in system and or packaging only files that I would be modified and/or different to other ROMs and telling the install script to go search for those files; delete and then extract package system.

This ^^^ by far (now I realise) is the best way of preventing bootloops.

My question is, do kernel devs build kernels around su binaries or the expectations of specific type/version being there?

Now if I want to test a new ROM (migrated on to SGSII) I never just flash it hoping for the best, this is because of my lack of experience in SGSII and the sections on this forum in general. I keep a known "seed" or "base" install ROM zip. I will pretty much pull open the /system/app folder and drag and drop into my seed ROM. I do the same with framework, and I will grab two folders from each ROM, my base (a known entity) and new ROM and run compare or diff on these and see what comes up? You'd be surprised at the diversity now....compared to when ICS was first ported.

I too have had instances where I have flashed packages and not a bootloop in sight. Sometimes I have flashed them 10 times from a restore, to a fresh clean wipe and attempted all sorts of combinations and then I get idiot noobs tell me my install has corrupted their recovery and they leave dickhead remarks on my thread. I am like no buddy you have a **** ROM and **** recovery. So getting to the bottom of this is very worthwhile!

I have documented all observations in two threads. Feel free to scout for info or ask. I have fixed a ****load of stuff ups too and came out of the bootloops from hell!

Number 1 thing I will announce is: vold has to be matching the ROM. You cannot expect that now we have emmc, /sd-card and or any other combination and now builds from several different ports Samsung SGSII, Samsung Nexus S, Galaxy Nexus and what ever other iterations of somewhat resembling any of these in highly custom form that we are without a doubt going to have varying vold combinations.

vold has been my number 1 suspect in bootloops. MD5 that mofo and never get it mixed lol.

Im done