Comment 57 for bug 508516

Revision history for this message
jim_charlton (charltn) wrote :

I can add a few observations to the "slow boot" problem on the Toshiba NB305.

If one boots the disk with no kernel parameters then there is a long pause in the boot process of about 6 or 7 minutes after which the system boots and acts normally. This is also true of suspend and resume. There is a 6 or 7 minute hang in the resume, after which the system resumes and runs normally. Why is there the long hangs in the boot and resume processes?

If you boot with the kernel parameter "init=/bin/bash" then the system will boot fairly fast to open a shell. The boot process is stopping just after the file system is mounted and chroot to the file system has occurred. But the file system "init" (upstart) has not yet run. At this point if you check the hard disk parameters by running (as root) "hdparm -tT /dev/sdax", where sdax is the disk partition mounted as / (it is sda5 on my machine), then the disk performance is terrible (938.90 kB/sec and 430.55 kB/sec for instance). If you run init by typing "exec init" then there is a long delay after which gdm starts. If you open a terminal window and test the drive again you will find that it runs at full speed (573.54 MB/sec and 46.58 MB/sec, for instance).

I am pretty sure that the long delays in booting and resuming have to do with the drive problem. But I cannot figure out what is running during the upstart process that "cures" the drive problem. If we knew what it was... we might cure the problem earlier in the boot process and be able to use the machine with highres timers turned on.

All I know, is that running "exec init --verbose" indicates that the upstart jobs mountall, hostname, plymouth, hwclock and ureadahead have all started running before the big delay. One of the later jobs, triggered by event flags set by mountall, is somehow "fixing" the disk after a long delay.

I will report further progress... if any! :-) Any help or suggestions would be welcome.