UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    How to make a port?

    Scheduled Pinned Locked Moved Porting
    portmeizu ubuntumeizu m5
    13 Posts 6 Posters 4.3k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • WLBIW Offline
        WLBI @VadiMeln
        last edited by

        @VadiMeln
        I think there is no Meizu m5 pro
        Probably you mean "Meizu Pro 5"
        If you compare the hardware, this are completely different devices.

        Meizu M5
        http://www.gsmarena.com/meizu_m5-8408.php
        Chipset: Mediatek MT6750
        CPU: Octa-core 1.5 GHz Cortex-A53

        Meizu Pro 5
        http://www.gsmarena.com/meizu_pro_5-7573.php
        Chipset: Exynos 7420 Octa
        CPU: Octa-core (4x2.1 GHz Cortex-A57 & 4x1.5 GHz Cortex-A53)

        This smartphones don't have Intel or AMD CPU, they are using ARM CPU.
        The thing is, that ARM CPU don't have hardware detection, so the operating system must be build exactly for only this specific device. It will not run on any other device.
        That's why it's that hard, porting to different devices.

        Bq Aquaris E 4.5 & Bq M10 FHD
        My English YouTube eDrive channel: https://goo.gl/UFVh4S
        My German Linux channel:
        https://www.youtube.com/WarumLinuxBesserIst

        Z 1 Reply Last reply Reply Quote 0
        • flohackF Offline
          flohack
          last edited by

          In general Mediatek chipsets are not easy to port but who knows. Currently however we are not working on any new devices until we got our common hardware abstraction layer (see https://halium.org/) and the 16.04 image base ready.

          BR

          My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

          1 Reply Last reply Reply Quote 0
          • Z Offline
            ZeroPointEnergy @WLBI
            last edited by

            @WLBI said in How to make a port?:

            The thing is, that ARM CPU don't have hardware detection, so the operating system must be build exactly for only this specific device. It will not run on any other device.
            That's why it's that hard, porting to different devices.

            Very interesting, do you have some more info or pointers about why that limitation exists? I always thought it would be possible (but maybe very difficult) to rebase the kernel drivers from the device specific sources on a newer common kernel and use linux auto detection to discover which modules to load.

            flohackF WLBIW 2 Replies Last reply Reply Quote 1
            • flohackF Offline
              flohack @ZeroPointEnergy
              last edited by

              @ZeroPointEnergy said in How to make a port?:

              kernel and use linux auto detection to discover which modules to load.

              Linux autodetection can IMHo only work if a platform supports a list of installed hardware, like it was done for early ISA cards with the PnP standard or with the PCI and later cards with the support of the BIOS.

              An embedded platfrom does probably not have room for all that stuff, so the drivers need to be loaded "statically" and try to find their device on the usual configured addresses.

              BR

              My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

              1 Reply Last reply Reply Quote 1
              • WLBIW Offline
                WLBI @ZeroPointEnergy
                last edited by

                @ZeroPointEnergy
                ARM processor don't have a PCI bus, so there is no auto detection πŸ˜‰
                Because of that, you can not build a life system on a boot medium (USB flash drives/CD/DVD) running on all ARM devices, like you know it for example from Knoppix Linux.
                It will only run on one specific device and hardware. If you change hardware, it will not work anymore.

                Bq Aquaris E 4.5 & Bq M10 FHD
                My English YouTube eDrive channel: https://goo.gl/UFVh4S
                My German Linux channel:
                https://www.youtube.com/WarumLinuxBesserIst

                1 Reply Last reply Reply Quote 2
                • Z Offline
                  ZeroPointEnergy
                  last edited by

                  Very interesting, I was not aware of that restriction. Thanks both of you for the explanations.

                  1 Reply Last reply Reply Quote 1
                  • flohackF Offline
                    flohack
                    last edited by

                    Plus if you think how long it took Linux to really be able to run on all PCs... But those years back it was much easier since there were not so many different hardware / firmware variants on the market. And at least most of them had some "compatibility mode" like VGA basic resolution, IDE HDD standard drivers etc. Plus of course Intel CPU basic instruction sets and that AMD made their CPUS compatible.

                    In the mobile world, the opposite led to success: Make a possible unique (and cheap) solution, add some undocumented driver (must be in source, can use blob .soΒ΄s) and userland blobs (can be 100% closed source), lock everything up behind AndroidΒ΄s abstraction layers and voila you got your mobile phone. Sell 10 Million pieces and get rich quick xD

                    BR

                    My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                    1 Reply Last reply Reply Quote 1
                    • V Offline
                      VadiMeln
                      last edited by

                      But I just want to get.answer: is it possible to make a port to mediatek chipset or no,.and if it is possible, how?

                      advocatuxA 1 Reply Last reply Reply Quote 0
                      • advocatuxA Offline
                        advocatux @VadiMeln
                        last edited by

                        @VadiMeln, @Flohack answered you already.

                        tl;dr Who knows. It doesn't make sense until Halium is ready.

                        1 Reply Last reply Reply Quote 1
                        • V Offline
                          VadiMeln
                          last edited by

                          I understood, that gonna be difficult, but if it is even hard, or even easy, give me an instruction, pleease.

                          D 1 Reply Last reply Reply Quote 0
                          • D Online
                            doniks @VadiMeln
                            last edited by

                            @VadiMeln https://github.com/Halium/docs/blob/master/porting/index.md

                            1 Reply Last reply Reply Quote 0
                            • V Offline
                              VadiMeln
                              last edited by

                              Oh, thank you.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post