Wrong architecture reported while installing click packages
-
While trying to install Arm64 click package on the 6T using the UT tweak tool, click via the command line or pkcon via the command line arm64 apps fail to install.
While using pkcon and allowing untrusted it then reports the phone being "armhf", but if you run "arch" or "uname -a" on the command line it reports the phone being aarch64.
If I search the phone for directories containing aarch64 folders I get 0
If I search the phone for directories containing arm64 folders I get 2/sys/module/kyro3xx_arm64_edac /android/vendor/app/Rftoolkit/lib/arm6
If I search the phone for directories containing gnueabihf I get 24 like these examples
/usr/lib/arm-linux-gnueabihf/ /usr/lib/gcc/arm-linux-gnueabihf/ /usr/share/click/preinstalled/com.ubuntu.camera/3.1.3/lib/arm-linux-gnueabihf
Plus every other preinstalled app and working app I have installed. Since they are all armhf libs I think we are looking at an armhf file system on an arm64 device.
@rogier-oudshoorn can you confirm any of this since you seem to be the only one connected to the development of the 6T port?
EDIT: Opened github issue
-
@antidroid said in Wrong architecture reported while installing click packages:
While using pkcon and allowing untrusted it then reports the phone being "armhf", but if you run "arch" or "uname -a" on the command line it reports the phone being aarch64.
This means your port is running a 64-bit kernel and a 32-bit rootfs. Thus you can only install 32-bit click packages on it.
Whomever is developing that port needs to fix that, I guess.
-
@dobey Looking at the Halium guide it's possible whoever ported it chose the bacon option in compiling, which would make sense as that's a OnePlus, but the OPO is 32-bit, so it might have been better served with the arm64 option. I hate the fact that we don't know who compiled it because it would probably be a lot easier for them to do it than me (it took me a week to install UT on my phone) but the instructions to make another port are straightforward. And long. Really long.
-
@totalrando If you are up to it I think this is the location of the files for the 6T to compile a newer version.
https://gitlab.com/ubports/community-ports/android9/oneplus-6Also I looked through the repo the other day and it looks like it is 64 bit so maybe someone noticed it was wrong and fixed it or I am misinterpreting the files or it is completely a different branch and has nothing to do with the GSI we have been testing.
Either way that link is to the official UBports gitlab community builds section so it is likely a good place to start.
-
@antidroid Oh, well this answers the question then. If I remember correctly with the user name here that would mean @calebccff is the developer listed on GitLab. Ok. So now we can all put our heads together to figure out how to switch that up. It also explains why I don't see the fajita stuff on Github. Now I don't have to add documentation and all that nightmarish stuff on GitHub.
He's actually often on the Discord channel. Maybe I can just ask there.
-
@totalrando Well he is the one busy doing all kinds of stuff with the 6 and 6T. He is the one mainlining the kernel, porting to sailfish, postmarket OS, manjaro and others. The other day he got the mainline linux kernel to boot on an iPod original. So he does push things to a lot of repos but I do not think he controls them.
I check up on his progress often.
https://gitlab.com/users/calebccff/activity
https://twitter.com/calebccff -
@antidroid I just asked about why the mix on Discord. There may well be a reason we're unaware of and if that's the case we're just going to have to start building on the port
-
@totalrando OK not gonna lie I have never been inside a phone's image files and basically have never done this, so I have a feeling I am going to staring at this with a blank look for at least a few hours. This is way above my pay grade but I am going to work backwards and start at the beginning. This is going to be a while.
-
@antidroid see, I'm really the wrong person for this.
I am looking at this and the other OTA file that I presume build rootfs.
But it looks like it's pulling from arm64 folders. I have no idea what would cause it to pull 32-bit rootfs and I'm not familiar enough with the directories to even guess.
-
@totalrando That is basically where I left off. I think I am similar to you, I can code and do so as a hobby but most of this is a huge learning curve.
Like most opensource projects UT lacks current complete documentation. I do not blame the devs, I would rather they spend their time coding the OS then spending their time writing documentation that can change daily. I just wish when they would answer questions in a public setting that is indexed and searchable via your favourite search engine rather than only in private chats and servers that are not indexed or publicly searchable without signing up. It would allow people to find the info and help the project rather than look, fail to find the information, give up and complain.
-
@antidroid I think I found something, and you're better at this than me. But it appears on another device that the same problem existed-- but that rootfs itself can be upgraded. Don't know how personally, because this is all still new to me.
If that helps let us know. I am not good enough to know what to do with it.
-
@totalrando Okay from there I followed the information to these possibly helpful things.
The UBports Jenkins continuous integration server edge builds for Hybris Arm64 devices.
https://ci.ubports.com/job/xenial-hybris-edge-rootfs-arm64/
Although it says edge it has permalinks to builds labeled stable the latest successful builds are from 3 hours ago.My guess is you would take the latest image from above and apply and device specific changes found https://gitlab.com/ubports/community-ports/android9/oneplus-6/oneplus-enchilada-fajita to have the latest image to flash.
In the LG thread it linked to where the OP had posted their instructions https://forum.xda-developers.com/t/ubuntu-touch-wip-lgv20-h918-twrp-zip-install.4002579/ which seems to imply you could simply flash the device specific image to the device the same way we flashed the current file system via TWRP.
All of this is just me thinking out-loud and I could be on the wrong path.
EDIT:
I opened the flashable image to compare the the Jenkins server image and after doing the device specific modifications you would still have to build the binary .img for flashing.
-
@antidroid It sounds good to me and a wrong path is better than no path. Curious to see what comes of it.
-
@antidroid Got an update from Caleb on the Discord; he says the new images are using the 64-bit rootfs and pointed me to the link to the gitlab.
EDIT: I think they've been updating this over the past few days so I am going to try to reflash the phone.
-
@totalrando Which repo? This one because the UBports one hasn't been updated in a month. It doesn't have any branches either. The last pull request on the github one is from me fixing the documentation weeks ago.
Did he explain how to build it? Do we just change the names in the deviceinfo file to fajita and run ./build.sh
-
@antidroid said in Wrong architecture reported while installing click packages:
Did he explain how to build it? Do we just change the names in the deviceinfo file to fajita and run ./build.sh
asking, let's see what he says
-
@totalrando While we wait I downloaded that repo, ran
grep -rn enchilada
to find all the files with references to enchilada and then changed all of those to fajita. I tried running ./build.sh but it failed because it needs a fajita_defconfig which it could not fetch. I changed that back to enchilada_config and I am running ./build.sh again. It is busy at work. I'll let you know how it turns out. It could take a long time.
-
@antidroid He said it only builds in CI. I assume he's referring to this but I don't know how to use it. https://gitlab.com/ubports/community-ports/android9/oneplus-6/oneplus-enchilada-fajita/-/blob/master/.gitlab-ci.yml
That looks complicated, will learn more in the documentation tomorrow. It's making phone calls right now so I will work on it in a bit.
EDIT: found the CI documentation https://docs.gitlab.com/ee/ci/quick_start/
-
@totalrando Thanks for the info. After looking at the gitlab-ci.yml I see the build.sh is the first step and I was missing some dependencies so I killed the build. At this point it looks like we are best to just wait for the next release.
I had basically given up on figuring it out weeks ago. I am also a little more interested in Postmarket on the 6T. The idea of running mainline is why I choose the 6T over other UT development phones like the 5T. The neat thing is with Lomiri on postmarket you could have a highend mainline Linux phone that looks and feels like Ubuntu Touch but has more traditional software available. I am not against UT though and until Postmarket on the 6T can use the cellular modem I will run UT as a daily driver once we get a more up to date version. Until then I will stick with UT on my OPO as a daily driver.
-
@antidroid We'll probably have to part ways on this one. This FAJITA is what I've always dreamed of in a phone. And I want it to work now. I'm willing to learn more and go down the rabbit hole to make it work.
Imma try building it in CI even if I don't know what I am doing. I feel attached to this phone.
Maybe I'm weird, but I'm kind of attached to this now. So I will go the harder route. I get not doing that-- I almost moved the SIM back to the Nexus 4-- but I feel inspired to try. If a half-baked split 32/64 worked this well, I just have to know! Anyway, I'll keep us all updated if I do anything productive.