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