LegacyXperia / local_manifests

Local manifest for building CyanogenMod for Xperia 2011 devices
legacyxperia.github.io
122 stars 78 forks source link

Kernel boot logo displayed for more than two minutes #383

Open emaijala opened 10 years ago

emaijala commented 10 years ago

Running CM11 build 20131225 on iyokan, I'm having issues with very long startup times after a shutdown or reboot. It feels to me like the internal partitions weren't cleanly unmounted during shutdown, but take this with a grain of salt as I don't have that much experience with Android internals. In any case, here are the results of some tests I've run. I did a normal reboot and entered CWM by clicking volume down button.

28 seconds displaying CWM-based recovery v6.0.4.5 before displaying the menu 26 seconds to mount /system <1 second to mount /data <1 second to mount sd-ext 5 seconds to mount /storage/sdcard0 (/cache seems to be mounted already, maybe it was the one taking time before the menu?)

If I restart the phone and re-enter CWM, the menu comes up instantly and all the mounts are almost instant as well (apart from /storage/sdcard0 which still takes its time).

If I reboot to CWM and then reboot again right away, CWM shows the "Rebooting" message for 32 seconds before screen goes black. After that the ROM boots quickly.

Here is dmesg from a slow boot: http://pastebin.com/LjuHtBnz Here is dmesg from a normal boot: http://pastebin.com/YjkWXuuM

To me it seems yaffs takes a long time to mount the volumes in the slow boot.

soulpower11 commented 10 years ago

Having slow boot up too .. it is kinda annoying.

Nikhildangui commented 10 years ago

mike i observed exactly same scenario on my Haida (neo v), if i go to cwm and reboot system it will boot in 45 to 55 seconds but an cold start or choosing reboot from power menu take 2 or even 2.minutes 30 seconds.

tomasSK commented 10 years ago

same issue on my iyokan

MIXTERek commented 10 years ago

something is going wrong with ldisk (blue-tooth?)... "(stk) : timed out waiting for ldisc to be un-installed"

MIXTERek commented 10 years ago

one more.. when i move/ install system app boot take more time than normal.. fix permissions doesn't work 4 this

ExecThTs commented 10 years ago

Can confirm with coconut, with both 2013-12-25 and 2014-02-03 nightlies. At an average, it takes 45 seconds at the bootlogo, also 20+ seconds at CWM before the menu appears. This wasn't the case with FreeXperia team's kernels and roms, they booted like Sony's roms.

aznantea commented 10 years ago

Same here, my Device is mango

taha001 commented 10 years ago

Hello every1..i accidently found the solution for this it really worked ( do it on your own risk please)....hope mike can explain why this happened and we can get a better and easy solution from it The steps what i did are as follows: 1.FROM CWM RECOVERY..i)do factory reset ii)wipe cache iii)wipe data iv)go to advance options..wipe dalvik cache v)go to mounts and storage vi)format cache(twice) vii)format data(twice) viii)format system(twice) NOTE:formatting system will cause "status error 7" while flashing the rom specially neo users as they have previously flashed neo v.ftf file for more data space...the device will be detected as (neo.v) haida so flash haida rom with neo camera patch later xi)go to advanced and select poweroff...NOTE:it will say phone doesnt have root and will ask for root permission..click no. Now, Restart your phone...repeat the above procedure till "step viii"..then go to install zip and flash your cm11 rom(neo users flash haida rom with camera patch or else it will cause status 7 error)...reboot your phone "Your phone will boot up within 15 seconds" seriously!!

gxyf106 commented 10 years ago

@taha001 , nice fix but I don't want to loose all my data, or backup restore...... is there any other fix???? boot times exceeding 2 mins!!

franksdb commented 10 years ago

It's the same in my XMP any fix??????

mati865 commented 10 years ago

taha001 has posted long fix but it's enough to:

  1. Flash stock .ftf
  2. Flash custom kernel
  3. Boot into recovery and do Factory Reset
  4. Format /system
  5. Install ROM .zip or restore backup
Nikhildangui commented 10 years ago

I followed you procedure @mati865 and for the first boot logo displayed for hardly 10 seconds second time it got displayed for 12 seconds on third reboot it got displayed for 20 seconds and now after around 6 reboot its 60-70 seconds

i have 240 MB free space on internal storage of my xperia Neo V Removed few system app using link2SD default keyboard and other unused stuff and restored backup using helium backup app

Just for information how it goes

pkocandr commented 10 years ago

I experience this too and I think that it started to happen when I replaced the default 4 GB SD card with a 32 GB one and filled it with a lot of data. So probably it is caused by a filesystem check on startup which takes longer time if you have more data on the SD card. I'm not sure but I also think it got worse when I created the second partition to allow Link2SD to move apps there.

mikeNG commented 10 years ago

Please try latest build and provide logs if this still happens

pkocandr commented 10 years ago

It is 55 seconds in my case with cm-11.0-20140320-NIGHTLY-LegacyXperia-urushi.zip

EreMaijala commented 10 years ago

Still slow for me on Iyokan, from power on (after a normal power off) it took about 4 minutes 12 seconds to reach the lock screen with about 2:42 on the LegacyXperia logo screen. dmesg: http://pastebin.com/B5UMmvkr

ghost commented 10 years ago

On cm-11-20140512-anzu, legacyxperia screen takes(2:40) and cyanogen(1:04) logcat: http://pastebin.com/MXjXXTWg dmesg: http://pastebin.com/bE3n9sPc

pteek commented 10 years ago

Still slow on iyokan 20140512 http://pastebin.com/ZNFr0An3

mikeNG commented 10 years ago

Something is wrong when /system is mounted... I will try to find out this week

ghost commented 10 years ago

still present in 20140611 build

zweif commented 10 years ago

Could there something be wrong with yaffs and checkpointing, which should improve mounting time? I compared 2 logs, one with short boot time and one with long boot time.

Main differences:

<6>[    6.850189] persistent_ram: error in header, 5

This line showed up in the log with long boot - don't know if it's really important .

<7>[   83.127532] yaffs: yaffs_read_super: is_checkpointed 0

instead of

<7>[   15.810485] yaffs: yaffs_read_super: is_checkpointed 1

This could be important, appers this "is_checkpointed 0" everytime after such a jump in timestamp? (it also appers without jump in timestamp, maybe depends on partition size?) .

<3>[   21.932067] ti_st_open: st_register failed -22

instead of....loading TiInit/wilink firmware and doing some bluetooth stuff?

logs: https://www.dropbox.com/s/acaw7p26fmf2fjb/kmsg_short-boot.log https://www.dropbox.com/s/j998be0qgi2sg0f/kmsg_long-boot.log

I'm on latest nightly (20140703) and did a dirty flash, but few days ago I wiped data (from recovery). Some days later I wanted to test boot up time and toog this short boot log. Yesterday I wanted to see what happens if I force reboot and if it takes longer. It didn't the first time, but I tried again and it took longer timer. Then I took the long boot log. (I don't know if it's representative, but I wanted to write the circumstances.)

I'm not sure if it's really related, but maybe it could help.

ghost commented 10 years ago

even after "Updated partition mount procedure (might reduce long boot times)" it still take ages to boot lastkmsg: http://pastebin.com/FH65FtyG

Tobii- commented 10 years ago

I dont know how the checkpoints work, but maybe they are not created because of the very fast shutdown? Actually shutdown from clockworkmod takes longer than shutdown from Android.

pteek commented 10 years ago

@zweif

Great work!

gxyf106 commented 10 years ago

In previous kernels, the lx logo (before the CM logo) was on for a long time. But in the newer kernel, the lx logo goes out and a blank screen is on for a long time before the cm logo comes up. I some how feel this is due to mounting an additional partition of the SD card at boot. In my case this was done by Link2SD. Prior to installing this app boot times were pretty good. After recreating mount scripts, the black, blank screen comes up.
I don't know if this is the issue for everyone. But I think, in my case this is it. Correct me if I am wrong.

On 11-Jul-2014, at 9:20 PM, TobiiBoy notifications@github.com wrote:

I dont know how the checkpoints work, but maybe they are not created because of the very fast shutdown? Actually shutdown from clockworkmod takes longer than shutdown from Android.

— Reply to this email directly or view it on GitHub.

pteek commented 10 years ago

@gxyf106

I think it was to do with the refreshing of some display buffer or some sort? I understand it doesn't make a difference. Just that the screen is black.

There are details xda thread if you dig deeper.

EreMaijala commented 10 years ago

I also thought about the possibility of shutdown being too fast for checkpointing to complete, but that doesn't explain the quick startup with charger connected, does it?

EreMaijala commented 10 years ago

And for the record I'm still suffering from the slow boot on 20140718 (iyokan).

mikeNG commented 10 years ago

I can't reproduce the slow boot issue anymore after https://github.com/LegacyXperia/android_device_semc_msm7x30-common/commit/71cec9c3151204ac3ffecd2910ed04c80a1035bb

ghost commented 10 years ago

it works great now

EreMaijala commented 10 years ago

Unfortunately I still see a slow boot with 20140718:

18 seconds to until kernel logo is hidden 86 seconds until CM logo is displayed 42 seconds until lock screen is displayed

dmesg: http://pastebin.com/S6Ftk2M1 logcat: http://pastebin.com/akUbTQ7C

pteek commented 10 years ago

Fixed for me on 814. 2nd and 3rd boots <1 minute.

xange commented 10 years ago

same here on hallon... most of my phone boot times are about less than 1 min...

emaijala commented 10 years ago

So we have two iyokans in the house. Now both have been upgraded to 20140907, and they both still exhibit the slow boot.

mikeNG commented 10 years ago

What could be done is done, nothing more I can do to improve the boot speed. I don't reboot that often and when I reboot, I could reproduce the slow boot issue very rarely.

So if anyone else wants to fix this, you're welcome. I can't spend any more time debugging this.

emaijala commented 10 years ago

I finally got a build environment up and did a bit of digging. It's definitely mtdblock1 not being unmounted cleanly. I added some debug output to the yaffs2 driver and found that the delay comes from yaffs_guts_initialise() for mtdblock1 (data). I'll continue digging, but if someone has around the last_kmsg for a device where there's no delay, I'd like to see that to be able to compare.

emaijala commented 9 years ago

Still a problem in 20141006. I tried some hacks in init.semc.rc, but since closest to shutdown, afaik, is something like "on property:sys.shutdown.requested=*", the filesystems are still busy at that point, and there's no way to do a clean umount or remount to read-only. The only way I managed to make mtdblock1 start up clean was to force yaffs2 write a checkpoint every time yaffs_flush_super() was called (I'm not sure what performance implications that would have in real life).

pteek commented 9 years ago

@mikeNG Can you please provide the last_kmsg from you device that doesn't have this problem to @emaijala?

Both my iyokans have long(3-4 mins) boot times. I like to change SIM cards a lot :P

emaijala commented 9 years ago

It would indeed be nice to compare the logs, though I've got a fairly good picture on what happens regardless. Now I just need to figure out why the yaffs driver doesn't write a checkpoint during shutdown even when yaffs_auto_checkpoint is set to 2 in "on property:sys.shutdown.requested=*". It does write a single one when yaffs_auto_checkpoint is set to 4 and a file is touched, but it's supposed to do that also on sync when set to 2, and sync is supposed to happen at shutdown.

pteek commented 9 years ago

That is great progress @emaijala!

emaijala commented 9 years ago

So far no progress on this, but I just noticed that the Android issue about missing shutdown logic for being able to unmount file systems (https://code.google.com/p/android/issues/detail?id=28492) was closed today as obsolete. This probably means that it's either obsolete as in fixed in Lollipop, or obsolete as in "no progress for ages so obsolete". Anyway I'll probably wait and see if there's improvement in CM 12 when we get there.

pteek commented 9 years ago

Great! Thanks for the update.

mikeNG commented 9 years ago

I think obsolete means 'no progress for ages'. I don't know of any modern devices that mount the partitions in init, they all use fstab. fstab is failing on our device for some reason, probably related to the fact that we have MTD storage. Need to look into this, but I don't think I have the time for it at the moment

mikeNG commented 9 years ago

Is this still an issue? All partitions are mounted in fstab now

ghost commented 9 years ago

I would have to check it on new build(if there would be one),20141224 takes a while to boot.

EreMaijala commented 9 years ago

Yes, unfortunately still an issue on Iyokan running build 20141224. It currently takes 2 minutes 38 seconds from LegacyXperia splash screen to Cyanogenmod splash screen on my phone.

pteek commented 9 years ago

Still a issue about half of the time.

aksclusive commented 9 years ago

Read this post

http://forum.xda-developers.com/showthread.php?t=2766907

and click thanks button for me and as well as for author if the issue fixed??

EreMaijala commented 9 years ago

@aksclusive, I don't think that would help in the case you actually need to reboot, not just temporarily power off.

mikeNG commented 9 years ago

@aksclusive this doesn't even work on our devices, it only works on newer snapdragon SOCs. Anyway, it would be a workaround and not a fix for the actual issue.

The problem is that yaffs still doesn't save a checkpoint on shutdown sometimes