ading2210 / shimboot

Boot a desktop Linux distribution from a Chrome OS RMA shim.
https://shimboot.ading.dev
GNU General Public License v3.0
147 stars 45 forks source link

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

Open Inglan opened 4 weeks ago

Inglan commented 4 weeks ago

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.

adhdkiddy commented 3 weeks ago

Cant you use terraOS because that has arch support?

Inglan commented 3 weeks ago

Cant you use terraOS because that has arch support?

didn't know abt this. looks interesting

ading2210 commented 1 week ago

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 commented 1 week ago

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

ading2210 commented 1 week ago

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 commented 1 week ago

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 commented 5 days ago

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.

Inglan commented 3 days ago

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

Inglan commented 3 days ago

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 commented 3 days ago

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