-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
common/fab: no arm64 builds #2004
Comments
As discussed offline:
most (all?) of our packages are already being built for Also a few years ago a user contributed code for RPi - I started merging it - with some changes but never got it finished. Here's the common one (rebased on current Here's the one for There is also a confconsole PR, but as per the original |
Thanks for your notes! |
It is possible to build core as .img(.xz) with no installer for arm64 target with changes from these PRs:
Some notes/hacks:
As far as I understand, having it set to
Prerequisites on the host TKLDev:
To build arm64 bootstrap: # apt -y install binfmt-support qemu-user-static To build product.img: # apt -y install dosfstools kpartx
# cd /turnkey/fab/bootstraps
# mv bookworm bookworm-amd64
# git clone [email protected]:a3s7p/bootstrap.git
# cd bootstrap
# git checkout arm64
# export FAB_ARCH=arm64
# make install Once the bootstrap tarball is TKL-hosted like the amd64 one, there should be some trivial changes:
Thoughts? |
@a3s7p - great work 😁
I've now merged those 3 PRs. I did a quick test, but nothing of significance, so we'll need to watch out for any regressions! Otherwise all good....
Hmm, you are right. TBH, I'm not 100% sure why because I'm sure that I recall building them?! I double checked Bullseye too and nothing there either?! Perhaps I just did it locally on a RPi TKLDev? Anyway that will need to be resolved.
👍 that's the way! FWIW I adjusted the control files for those you've noted and rebuilt them locally. I was planning to push them to the I doubt it's related to the control file changes, but I don't think that anything else has changed since I last pushed to it? So until I have time to have a closer look and debug that, I'm not able to push forward and add them to the TKL apt repo.
Reasonable workaround. Although once set up, pool makes (re)building packages relatively trivial - albeit a bit slow.
Sounds fair. Perhaps any of the RPi (or other platform) specific parts could be moved to buildtasks?
Sounds great man. Thanks for reminding me of the usage of binfmt & qemu too. I knew it was possible, but didn't recall the details. IIRC when I played with this last I used an RPi4 host. But being able to build different arch images and packages all on a single host is the go. 😁 |
@JedMeister thanks!
Great. Not sure if those are all the packages we'd need to adjust as GH code search is not giving me accurate results for some reason. Will check locally in cloned repos.
Could be that something just bit-rotted away... anyway this is not blocking anything right now, just needs to be figured out by release time.
Thanks, will take a look.
That's a good point. I'd actually prefer for things to be centralized ideally (especially when we use Debian live-build at some point) but given the status quo it makes sense to have the RPi stuff as a new buildtasks script and the cloud stuff as an extension of I'll look into that. |
Sounds good mate and unless I missed something I'm not (yet) blocking further work, so I'll leave it with you for now... |
@JedMeister it occurs to me that the original “issue” of not having any arm64 builds is fixed now that the PRs have been tested and merged. The linked issues should be resolved too. What do you think about closing this and having new issue(s) tracking cloud builds etc? I can take care of that. |
Current images cannot run on widespread arm64-based cloud instances or bare metal devices like Raspberry Pi.
This should be fixed by updating
common
as there are already arm64 versions of Debian packages we can use.Running the installer on arm64 is blocked by not using upstream
d-i
sincedi-live
is x86(-64)-only.However, the installer is not needed for cloud deployment or Raspberry Pi(-like) installs so this should not be a big deal in practice.
Closes #613 #37 #265
The text was updated successfully, but these errors were encountered: