0

Having reviewed this on May 16, I conclude it is too much of a mashup of several questions I had in mind. Therefore, today I have resolved to edit again. Until that edit is complete, please pardon the confusion.


After a helpful comment from goldilocks, I have reworded this post. I may need to edit it again, with your helpful comments, to make it more useful for others.

I have read several blogs and forum posts on getting the Pi4B raspbian install, to run in 64 bit by swapping in a 64 bit kernel and or modifying the boot partition. There always seems to be more complication than necessary, with dreaded secondary issues of software in the repositories being for the 32 bit kernel (if you try to hack in a 64 bit kernel from some other distribution). And yet, there is the 64 bit ubuntu image available for Pi4.

My newbie mind may have misread or misunderstood, but I imagine there should be a very easy way to do this that uses the smart package handling features of debian linux, without having needless complications of arm32 libraries not yet available as arm64 libraries.

For example, I have several pi 4B's, and intend to install the 64 bit ubuntu on them, possibly only a minimal or server image. A full 64 bit GUI install may be in the future, but is not the need of the current projects. Assuming that anything a Pi compatible arm64 image would install would also be Pi compatible arm64, running in true 64 bit mode, already... I understand that any 3rd party non-pure-python libraries from the 32 bit userland, that are not yet in the 64 bit arm repositories, may have minor to serious issues on such a 64 bit python3 that would be installed with the 64 bit ubuntu, but if I am very wrong on that, do please advise.

Would a pip install on a 64 bit ubuntu Pi4 system, know enough to install for 64 bit, if there is no arm64 candidate found, and I have to add a 32 bit arm repository just to find that library?

Is there some tech article on a procedure to get a 32 bit library, not yet available in a 64 bit repository, to work on a 64 bit system? Whether with apt or pip?

I would like to know if I will need to do some fancy footwork on a pi 4B, running 64 bit ubuntu, in order to ensure that packages currently only in a 32 bit arm repository, or in 64 bit x86, but not yet in an arm64 repository, will be reasonably able to run in the 64 bit environment, with the limited skills and knowledge of a relative newbie.

Worded another way, is there some definitive blog or tech source that makes the necessary steps simple for a relative newbie, to make the plunge into 64 bit arm (on the Pi 3B+ or 4B) full on, as painless as possible?

If there are some blogs you are familiar with that address all this, that I have missed or perhaps misread, feel free to include links to them in your answer(s). I have no doubt that where I am ignorant on these matters, it is plain to those of you far more knowledgeable and experienced. I am hoping an answer here will help other newbies understand the more major issues that may be encountered in making the switch, and to get all one's ducks in a row before committing to the switch, at least until such a time that raspbian64 appears on the downloads page.

Thank you.

5
  • I'm a little confused. You are installing 64 bit ubuntu, which includes 64-bit python3. Does it not work? It sounds like you haven't installed it (ubuntu) yet. Python is now required by most linux base installs, and presuming a recent ubuntu, that will default to python3. If the userland is 64-bit, then that includes python, which, since the system needs it, must be installed and must work... WRT packages/modules/libs/whatever they are called, if you use the ones from the distro they will match. I would hope pip is smart enough to do that too.
    – goldilocks
    May 1, 2020 at 18:10
  • @ goldilocks Thank you, that is part of the answer. I am rephrasing the question now to clarify why I asked the question. It should be edited within the hour. May 1, 2020 at 18:25
  • Fair enough. When you're ready, ping me again with a comment.
    – goldilocks
    May 1, 2020 at 18:50
  • @ goldilocks first edit now posted, and I admit, it may need another. I had not asked with as specific a case as I could have. Please review. I will try some test cases tonight, to help write my own response, if there are none from others. I am trying to be ready for issues before encountering them, as much as is practical. May 1, 2020 at 19:21
  • editted the title now also. Narrowing to pip issue, but still leaving room for discussing the 32 bit 64 bit questions and issues. May 2, 2020 at 2:47

1 Answer 1

1

You've gotten way ahead of yourself.

Here's a few facts:

  • If you install 64-bit ubuntu, it must use a 64-bit kernel. While you can run 32-bit software on a 64-bit system, you cannot run 64-bit software on a 32-bit system.
  • Python is required by most or all commonplace, normative GNU/linux distros including Ubuntu, so if you install ubuntu 64, that will be included.
  • The package management system (apt, etc) is default configured to look in the correct platform repository, so there are no issues there. Anything you install via the PM which includes binaries will use ARM64 binaries, including python packages with compiled bits.
  • I'm not much of a python user so you will have to wait for someone to confirm this, but it is very hard to believe that pip does not also use appropriate repositories, or the python ecosystem would be a complete mess. This is very basic, don't pass go before stuff in that context. No one will have forgotten it.
  • If you install stuff from github, etc., that requires compiling, you can do it on the Pi, and that will be done correctly.

There may be issues with the Pi specific gpio etc. libs in 64-bit (which is a more specific question). At a glance at least pigpio should be okay:

https://github.com/joan2937/pigpio/issues/278#issuecomment-519066779

Is there some tech article on a procedure to get a 32 bit library, not yet available in a 64 bit repository, to work on a 64 bit system?

You would need to install a 32-bit version of the system libraries, which is possible using apt, try to avoid that if possible.

2
  • Yes, if a pip3 install would find a package, collect its components, and install successfully, I too would assume it found and collected the proper components. The problem is when it reports back no suitable candidate found, or something similar. In which case, would it be a safe workaround to add the 32 bit repository where the suitable candidate can be found? I have run into somewhat similar situations trying to install a snap package from a site that looked very legitamate on how to install it, with precise code, except that snap never existed for arm! A robo-site. A newbie trap. May 2, 2020 at 2:07
  • cont... I found out that snap package never existed for arm, when I heard back from an appropriate support department. In my OP, I am trying to invite a 32/64 bit overview that helps me (and others) better recognize what should work and what probably will not work, on some official sounding pages that pop up as a google result. As a newbie, it can be difficult to recognize incomplete or bad advice, that looks legitimate. goldilocks, your answer does indeed help much, and I will wait another week or two before marking it as the answer, curious to see what others might share. Thank you. May 2, 2020 at 2:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.