Skip to content
Snippets Groups Projects

Fix Nexus 5 (hammerhead) boot and solve framebuffer issue at startup.

Merged Imported Administrator requested to merge fix/boot-hammerhead into master

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.

Edited by Administrator

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Administrator changed the description · Imported

    changed the description

    By Pierre Parent on 2018-10-10T19:03:10

  • Author Owner

    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

  • Author Owner

    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

  • Author Owner

    Yeah, I also think this should be a deviceinfo variable as newer devices wont have framebuffer and the sleep after ext4 shouldn't do anything, as n5 doesn't use it.

    By Craig Tatlor on 2018-10-11T05:54:07

  • Author Owner

    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:

    https://gitlab.com/postmarketOS/linux-postmarketos/uploads/07943b4405b5669078c795089a558102/working.jpg

    On the otherhand when it fails to boot no Ext4 partition gets mounted:

    https://gitlab.com/postmarketOS/linux-postmarketos/uploads/cb6e4981fe4a9c6dd3779b283da7c15d/Blocked.jpg

    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
  • Administrator
  • Administrator
  • Administrator
  • Administrator
  • Author Owner

    Amazing work! I'm happy that you found a solution to the annoying only-boots-sometimes problem, and with a bit of work we should be able to integrate this nicely. Thanks for yet another great contribution from you @pparent! \o/

    By Oliver Smith on 2018-10-11T08:09:27

  • Administrator added 1 commit · Imported

    added 1 commit

    • d870d87b - Remove unecessary while, and switch to sleep 0.1.

    Compare with previous version

    By Pierre Parent on 2018-10-11T08:27:14

  • Author Owner

    @MartijnBraam If you make some tests can you check that FDE works as well. For now I don't want to reflash my boot partition as I have some setup on it I want to keep for now.

    By Pierre Parent on 2018-10-11T08:53:10

  • Author Owner

    @ollieparanoid Thank's!

    By Pierre Parent on 2018-10-11T08:53:29

  • Administrator added 1 commit · Imported

    added 1 commit

    • cb03d655 - Made wait_for_framebuffer use a deviceinfo variable

    Compare with previous version

    By Martijn Braam on 2018-10-11T11:09:28

  • Administrator added 1 commit · Imported

    added 1 commit

    Compare with previous version

    By Martijn Braam on 2018-10-11T11:19:24

  • Author Owner

    This makes my hammerhead boot every time :)

    The splash screens aren't working for me, also osk-sdl doesn't show up.

    By Martijn Braam on 2018-10-11T12:56:26

  • Author Owner

    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 Administrator
  • Author Owner

    errr yep, that fixes the splash screens, osk-sdl still isn't working though but that is probably an issue with the osk-sdl setup

    By Martijn Braam on 2018-10-11T13:56:14

  • Administrator added 1 commit · Imported

    added 1 commit

    • bcd841be - Bumped pkgrel for hammerhead and fixed static analysis

    Compare with previous version

    By Martijn Braam on 2018-10-11T14:03:52

  • Administrator added 1 commit · Imported

    added 1 commit

    Compare with previous version

    By Martijn Braam on 2018-10-11T14:19:44

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading