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.
      • 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 Offline
                          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