Skip to content
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

aarch64 live iso support #384

Merged
merged 13 commits into from
Jan 1, 2025
Merged

Conversation

classabbyamp
Copy link
Member

@classabbyamp classabbyamp commented Oct 29, 2024

aarch64 test images: https://devspace.voidlinux.org/abby/aarch64-live/

build-x86-images: rename to mkiso

this name is no longer accurate, so let's make it a bit more descriptive

mklive, mkiso: support aarch64

adds support for building aarch64 isos, and for cross-building

mklive, grub: add support for "platforms" in live isos

this can be used to define special platform-specific support things, like extra packages, a device tree, and cmdline. This allows creating live isos that support generic arm64 UEFI as well as ones that require special care (like the x13s).

Each platform is defined in platforms/ and currently can add additional packages, set a dtb to use (which is then copied from the rootfs during build), and/or add kernel cmdline arguments

This change has no effect on x86_64 and i686.

TODO

  • test on x86_64 and i686 with these changes
  • test generic aarch64 in qemu
  • wrap things using lib.sh binfmt handling instead of relying on the host already having binfmts registered (and probably refactor that a bit to use the existing binfmt definitions)
  • clean up host/target handling (probably also using lib.sh)
  • pretty name for platforms
  • makefile integration
  • check installer compatibility - not compatible and not easily adaptable

closes: #105

@classabbyamp classabbyamp added the enhancement New feature or request label Oct 29, 2024
@classabbyamp classabbyamp mentioned this pull request Dec 20, 2024
13 tasks
@classabbyamp classabbyamp force-pushed the aarch64-live branch 8 times, most recently from d90ec88 to 959479e Compare December 27, 2024 23:52
this can be used to define special platform-specific support things,
like extra packages, a device tree, and cmdline. This allows creating
live isos that support generic arm64 UEFI as well as ones that require
special care (like the x13s)
recent qemu updates mean we don't need to hardcode the binfmts, as they
are shipped as files generated by qemu, importable by update-binfmts.

ref: void-linux#386
but don't use it for everything, as some things seem a bit broken with
mklive specifically

closes: void-linux#322
aarch64 is full of special cases that void-installer doesn't know about,
especially for real platforms. Users should just do chroot installs for
now.
also simplify environment prep and fix qemu dependencies

the matrix should ensure we never run out of space while building

unfortunately, github limits us to 10 inputs so we can't add a selector
for live iso platforms
@classabbyamp classabbyamp merged commit a1519c6 into void-linux:master Jan 1, 2025
@classabbyamp classabbyamp deleted the aarch64-live branch January 1, 2025 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

Pinebook Pro support
1 participant