Fix Nexus 5 (hammerhead) boot and solve framebuffer issue at startup.
This Merge request solves https://gitlab.com/postmarketOS/linux-postmarketos/issues/5#note_107549300
With these modifications:
*The nexus 5 boots 100% of the time (tested 15 times in a row)
*The splash screen appears every-time as well.
*Most probably FDE becomes possible, since we can display on framebuffer (not tested yet).
This may also improve boot for other devices.
Merge request reports
Activity
This is great! I'll have to try it tomorrow.
Maybe it isn't even needed to specifically run this for hammerhead, instead just run it for all devices since waiting for the framebuffer sounds like a sane thing to do anyway. Or otherwise have this part of the init be triggered by a deviceinfo variable so the mkinitfs doesn't contain device specific info and it can be easily added to other devices.
By Martijn Braam on 2018-10-10T23:24:10
instead just run it for all devices since waiting for the framebuffer sounds like a sane thing to do anyway
It may prevent some device who does not have frame-buffer working yet to boot and have USB netowrk...
Or otherwise have this part of the init be triggered by a deviceinfo variable so the mkinitfs doesn't contain device specific info and it can be easily added to other devices.
Why not.
By Pierre Parent on 2018-10-11T00:16:18
the sleep after ext4 shouldn't do anything, as n5 doesn't use it.
I can assure you that without that sleep it would sometimes fail to mount boot partition and display the noboot splashsreen (while everything else is working, including framebuffer and USB network), and with this sleep the problem is fully solved. I've made many reboots to verify this.
What do you mean Nexus 5 doesn't use it? In the boot logs it appears that Nexus 5 does use Ext4 to mount a filesystem:
On the otherhand when it fails to boot no Ext4 partition gets mounted:
I also think this should be a deviceinfo variable as newer devices wont have framebuffer
Ok, in that case, maybe someone of you can add further commits, to add this in deviceinfo, because I will not have much time and energy to spend on this in the following days, and going through each device to add this variable seems a lot of work. Thank's a lot!
By Pierre Parent on 2018-10-11T07:40:58
Edited by Administrator- Resolved by Administrator
- Resolved by Administrator
- Resolved by Administrator
- Resolved by Administrator
added 1 commit
- d870d87b - Remove unecessary while, and switch to sleep 0.1.
By Pierre Parent on 2018-10-11T08:27:14
@ollieparanoid Thank's!
By Pierre Parent on 2018-10-11T08:53:29
added 1 commit
- cb03d655 - Made wait_for_framebuffer use a deviceinfo variable
By Martijn Braam on 2018-10-11T11:09:28
For the spashscreen are you sure that you are running the wait_frame_buffer section?
Because I saw that you did not bump pkgrel on device hammerhead, so most probably it did not recompile if you did not force it to.
By Pierre Parent on 2018-10-11T13:25:42
Edited by Administratoradded 1 commit
- bcd841be - Bumped pkgrel for hammerhead and fixed static analysis
By Martijn Braam on 2018-10-11T14:03:52