Skip to content
Snippets Groups Projects

New device: Nexus 5X (LG Bullhead)

Merged Imported Administrator requested to merge device-lg-bullhead into master

Created by: PureTryOut

As of right now it seems to boot, as a network interface is presented to which you can connect, but that's about it. Display doesn't work (it's stuck on the Google Logo) and you can not connect to it using SSH. Telnet works if the debug hook is added though.

Merge request reports

Approval is optional

Merged by avatar (Mar 29, 2025 6:51pm UTC)

Merge details

  • Changes merged into master with 7db615d8.
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Owner

    Created by: ollieparanoid

    Thanks for making the PR, the code looks good!

    However, the Travis results are weird. One of two failed, and for the succeeding one, building the kernel has actually failed (this might be a bug in the check script? :-\ ) https://travis-ci.org/postmarketOS/pmbootstrap/builds/340410284#L7452

    I'll rebase this to master and let Travis check it again.

    Regarding the network problem, this should help: https://wiki.postmarketos.org/wiki/Troubleshooting:boot#Kernel_boots_without_network_interface

    If you have the time, it would be awesome if you could move the device up to the booting table here: https://wiki.postmarketos.org/wiki/Devices

    By * postmarketOS Bot on 2018-02-12T22:00:21

    Edited by Ghost User
  • Author Owner

    Created by: ollieparanoid

    @PureTryOut: it fails to build on Travis:

    drivers/built-in.o: In function `vgacon_init':
    /home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:588: undefined reference to `screen_info'
    /home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:588: undefined reference to `screen_info'
    drivers/built-in.o: In function `vgacon_startup':
    /home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:374: undefined reference to `screen_info'
    /home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:374: undefined reference to `screen_info'
    /home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:399: undefined reference to `screen_info'
    drivers/built-in.o:/home/pmos/build/src/android_kernel_lge_bullhead-e577f272b6b17b8cd263f8a3cdc7581f7086aef2/drivers/video/console/vgacon.c:535: more undefined references to `screen_info' follow
    make: *** [Makefile:806: vmlinux] Error 1
    >>> ERROR: linux-lg-bullhead: all failed
    >>> linux-lg-bullhead: Uninstalling dependencies...

    (and I really need to fix the check script to not say everything's good when the build fails ._. good that we've catched this pretty early.)

    By * postmarketOS Bot on 2018-02-12T23:40:18

  • Author Owner

    Created by: PureTryOut

    I managed to find a fix for the kernel compilation here, however the phone still doesn't boot further than the Google logo. Actually, it's even worse now, no network interface appears any more on my PC.

    I've been looking into switching CONFIG_USB_G_ANDROID out for CONFIG_USB_ETH and CONFIG_USB_ETH_RNDIS to fix the network issue, as proposed here, but I end up in compilation problems again.

    In file included from drivers/usb/gadget/ether.c:106:0:
    drivers/usb/gadget/f_rndis.c:70:41: error: expected ')' before 'uint'
     module_param(rndis_dl_max_pkt_per_xfer, uint, S_IRUGO | S_IWUSR);
                                             ^~~~
    drivers/usb/gadget/f_rndis.c:72:2: error: expected ')' before string constant
      "Maximum packets per transfer for DL aggregation");
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/usb/gadget/f_rndis.c:75:41: error: expected ')' before 'uint'
     module_param(rndis_ul_max_pkt_per_xfer, uint, S_IRUGO | S_IWUSR);
                                             ^~~~
    drivers/usb/gadget/f_rndis.c:77:2: error: expected ')' before string constant
      "Maximum packets per transfer for UL aggregation");
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/usb/gadget/f_rndis.c:80:34: error: expected ')' before 'uint'
     module_param(rx_trigger_enabled, uint, S_IRUGO | S_IWUSR);
                                      ^~~~
    drivers/usb/gadget/f_rndis.c:81:38: error: expected ')' before string constant
     MODULE_PARM_DESC(rx_trigger_enabled, "rx trigger_enable");
                                          ^~~~~~~~~~~~~~~~~~~
    In file included from drivers/usb/gadget/u_bam_data.h:16:0,
                     from drivers/usb/gadget/rndis.c:38,
                     from drivers/usb/gadget/ether.c:107:
    drivers/usb/gadget/usb_gadget_xport.h:64:28: warning: 'str_to_xport' defined but not used [-Wunused-function]
     static enum transport_type str_to_xport(const char *name)
                                ^~~~~~~~~~~~
    drivers/usb/gadget/usb_gadget_xport.h:34:14: warning: 'xport_to_str' defined but not used [-Wunused-function]
     static char *xport_to_str(enum transport_type t)
                  ^~~~~~~~~~~~
    make[3]: *** [scripts/Makefile.build:309: drivers/usb/gadget/ether.o] Error 1
    make[2]: *** [scripts/Makefile.build:455: drivers/usb/gadget] Error 2
    make[1]: *** [scripts/Makefile.build:455: drivers/usb] Error 2
    make: *** [Makefile:820: drivers] Error 2
    >>> ERROR: linux-lg-bullhead: all failed

    I found a thread on the Linux kernel mailing list, but no patch to fix it... https://lists.01.org/pipermail/kbuild-all/2017-January/029649.html

    It seems that this commit added the failing code.

    By * postmarketOS Bot on 2018-02-13T12:08:10

    Edited by Ghost User
  • Author Owner

    Created by: ollieparanoid

    How can it get worse than not compiling? :smiley:

    But seriously, that looks like a rebase has gone wrong or something? Unfortunately, the only place I can find this error message is here: https://pastebin.com/ZxGBANdR And that paste is not referenced anywhere on the indexed web from what I can tell (well, now it is here :p).

    Some ideas:

    • Use another kernel. I wonder how well the one from CopperheadOS works for example.
    • Try to revert that commit
    • Try an older branch that does not have much fixes rebased, which possibly does not have this regression.

    By * postmarketOS Bot on 2018-02-13T20:40:23

    Edited by Ghost User
  • Author Owner

    Created by: PureTryOut

    The CopperheadOS kernel gives the exact same problems sadly. I'll try an older commit next.

    Note that I also just tried booting with a prebuilt LineageOS kernel, and that doesn't work either. Might this be a userland issue?

    By * postmarketOS Bot on 2018-02-15T16:36:32

    Edited by Ghost User
  • Author Owner

    Created by: ollieparanoid

    Okay, thanks for trying out both of them. Regarding userland, do you mean the initramfs code? That could be, although it (the usb networking part specifically) seems to be working for the other devices we have.

    Since it does not work with the LineageOS kernel either, my guess is that you'd need to write something to sysfs to enable the usb networking. @drebrez had this with the HTC desire and invented some creative debugging methods in order to find this one.

    https://github.com/postmarketOS/pmbootstrap/blob/bd4ebb3473764108daa92b308511be7e0a1b6948/aports/device/device-htc-bravo/initfs-hook.sh#L7-L8

    What I would try next:

    • create an initfs hook with exactly that and see if it works (see device-htc-bravo)
    • if it does not work, try to get a blinking LED and/or dumping your sysfs to a file, then comparing that with the sysfs of a working Android system. initfs hook examples

    By * postmarketOS Bot on 2018-02-15T22:16:33

  • Author Owner

    Created by: PureTryOut

    Well... Something wen't wrong rebasing... But, it boots! Weston launched, touchscreen works, and even Plasma worked (al be-it slow). Haven't managed to get osk-sdl working though. When using FDE, it's just stuck at the pmOS splash screen. Using the debug hook and using telnet, it seems cryptsetup is not available at all. However, this can be fixed later and this seems to be good to merge!

    (I fixed the failed rebase)

    By * postmarketOS Bot on 2018-02-20T18:43:34

    Edited by Ghost User
  • Administrator
  • Administrator
  • Administrator mentioned in merge request !1916 (merged) · Imported

    mentioned in merge request !1916 (merged)

    By Antoine Fontaine on 2020-05-11T21:47:51

  • Please register or sign in to reply
    Loading