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

Arch linux? What would be required for it to be supported? #130

Open
Inglan opened this issue Oct 20, 2024 · 13 comments
Open

Arch linux? What would be required for it to be supported? #130

Inglan opened this issue Oct 20, 2024 · 13 comments
Labels
enhancement New feature or request

Comments

@Inglan
Copy link

Inglan commented Oct 20, 2024

Is your feature request related to a problem? Please describe.
I use arch btw, but shimboot only supports debian.

Describe the solution you'd like
The ability to boot arch linux

Describe alternatives you've considered
This isn't a required thing, I can use debian.

Additional context
I have seen the note on the readme about arch

I really just posted this because I am interested in what is required. I would assume you have to patch systemd for arch linux. How hard is this? Could I help? I am not that experienced in lower level things but I think I could work it out.

@Inglan Inglan added the enhancement New feature or request label Oct 20, 2024
@adhdkiddy
Copy link

Cant you use terraOS because that has arch support?

@Inglan
Copy link
Author

Inglan commented Oct 22, 2024

Cant you use terraOS because that has arch support?

didn't know abt this. looks interesting

@ading2210
Copy link
Owner

I would need to host a repository for Arch which provides the patched systemd package. I have never used Arch before so that would be rather difficult for me. The current code to build the Debian repos are located at https://github.com/ading2210/shimboot-repo, and this would have to be adapted to work with Arch as well.

Porting Artix Linux, which is Arch without systemd, is likely much easier since no custom repos are needed in this case. If you want to help, try writing a build script for this, in a similar manner to how the existing Alpine and Debian ones work.

@Inglan
Copy link
Author

Inglan commented Nov 7, 2024

I would need to host a repository for Arch which provides the patched systemd package. I have never used Arch before so that would be rather difficult for me. The current code to build the Debian repos are located at https://github.com/ading2210/shimboot-repo, and this would have to be adapted to work with Arch as well.

Porting Artix Linux, which is Arch without systemd, is likely much easier since no custom repos are needed in this case. If you want to help, try writing a build script for this, in a similar manner to how the existing Alpine and Debian ones work.

Looks like terraos creator has patched systemd and published to aur (arch user repo). https://aur.archlinux.org/packages/systemd-chromiumos

I got arch working with this

@Inglan Inglan closed this as completed Nov 7, 2024
@ading2210
Copy link
Owner

That AUR package isn't really ideal, since it requires systemd to be completely recompiled on every update, which might take over an hour on a typical Chromebook. Plus, afaik using the AUR for critical system packages is a bad idea since tools like pacman are unaware of AUR packages.

@Inglan
Copy link
Author

Inglan commented Nov 7, 2024

That AUR package isn't really ideal, since it requires systemd to be completely recompiled on every update, which might take over an hour on a typical Chromebook. Plus, afaik using the AUR for critical system packages is a bad idea since tools like pacman are unaware of AUR packages.

We could look into building packages with GitHub actions or something to solve the build times issue.

Also I think pacman is aware of aur packages as makepkg just builds a tar.zst file which is installable through pacman.

@ading2210
Copy link
Owner

I think this should be reopened because Arch support is a meaningful and desired feature.

We could look into building packages with GitHub actions or something to solve the build times issue.

That's what I had in mind too. The Shimboot Debian repo already uses Github Actions for builds, and the repo itself is hosted on Cloudflare Pages (25mb file limit though).

Also I think pacman is aware of aur packages as makepkg just builds a tar.zst file which is installable through pacman.

Pacman cannot manage updates for AUR packages. According to the Arch Wiki:

The AUR is unsupported, so any packages you install are your responsibility to update, not pacman's. If packages in the official repositories are updated, you will need to rebuild any AUR packages that depend on those libraries.

We cannot use the AUR to host the packages. The same approach that is used for Debian, which is hosting a extra repo and telling the package manager to always prioritize it, will have to be used here.

@ading2210 ading2210 reopened this Nov 11, 2024
@Inglan
Copy link
Author

Inglan commented Nov 14, 2024

I used the terraos rootfs (w/ patched systemd) with shimboot and it worked well

@Inglan
Copy link
Author

Inglan commented Nov 14, 2024

Pacman cannot manage updates for AUR packages. According to the Arch Wiki:

I meant that pacman is aware of AUR packages but doesnt support them. For example it wont install systemd if I have a patched version installed

@Inglan
Copy link
Author

Inglan commented Nov 14, 2024

Looks like you can build systemd from git with aur: https://aur.archlinux.org/packages/systemd-git

@LavedenC1
Copy link

use gnome boxes

@Inglan
Copy link
Author

Inglan commented Dec 1, 2024

use gnome boxes

the chromebooks already run badly just running linux on bare metal... virtualization would just make it worse.

@Inglan
Copy link
Author

Inglan commented Dec 1, 2024

Just wrote some actions scripts that build systemd https://github.com/Inglan/systemd-chromiumos-actions-build

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
None yet
Development

No branches or pull requests

4 participants