User talk:Jared/Gentoo On An M1 Mac

From Gentoo Wiki
Jump to:navigation Jump to:search

Asahi project note

Please do not refer to this guide as anything official. It has known issues and guides linked from Project:Asahi should be used instead, combined with the regular installation handbook.

Hey! I haven't been referring to this as official so I'm a little confused there. If there's known issues I'd appreciate y'all letting me know about them... because it's worked for me and several others as well. My goal here was always to create an easier high-level overview of FDE+those install steps (see the header of the article where it also links those very same ones from GH).
--Jared (talk) 15:10, 27 May 2024 (UTC)
Relatively often people are coming to IRC and linking to your page, instead of the more official one, and then having problems and we have to tell that there are problems with it and to use the correct documentation.
I do not know the specific problems in detail personally, and I think people that have been saying that were assuming that this page is stale, which it clearly is not, as it turns out. I have asked to have these problems pointed out more clearly then, as you do appear around to make fixes to things that are causing support burden on us.
I also should have looked at the page more carefully before commenting, as I didn't see the added note on top before posting here after another IRC supporting instance happened. One thing I did notice from that one is that they pointed at some gist page from you with make.conf which had a couple glaring issues on first sight: `-march` was set to armv8.6a, while apple silicon is armv8.5a, and MAKEOPTS was set to an empty string with a comment to have it unset to get the parallel processes from `nproc` - but empty string value to an env var is very much different from an unset environemnt variable and thus what the comment says doesn't actually happen and a single CPU core will probably be used, at least for GNU make using based packages.
--Leio (talk) 15:18, 27 May 2024 (UTC)
Understandable! Apologies for creating any support burden on y'all, it wasn't my intent. I'm happy to fix things as needed and yes until relatively recently it was super stale since the switch from arch -> fedora on the asahi-gentoosupport side. Also happy to continue to find ways to point people to the official install docs that aren't looking to do anything w/r/t FDE. Appreciate the quick pointers on the make conf side!
--Jared (talk)
The main issues in my mind aren't anything inherent to the instructions, in fact I think the guide in its current form is generally good! The biggest issue is that everything after "Creating a User" is redundant and the source of user errors. I would very much prefer if this section is replaced with a direction to run from asahi-gentoosupport and follow the prompts. The tooling is mature now, and a known-to-work distkernel and initramfs are installed automatically.
The other major issue I have is the use of the curl | sh and curl > /etc/portage/ patterns. I think this is a bad idea here and should not be used where it doesn't have to be. If you wish to maintain support files, please just put them in a Git repo and get users to clone it. Alternatively, I am open to suggestions (and PRs) on asahi-gentoosupport if you feel it could be improved. Users are already installing Git and cloning it, so I see no reason to avoid an extra clone...
Now, for the philosophical issues:
I am personally against the prescription of configuration/architecture to users where it can be avoided. Obviously LUKS is a good thing and users should set it up, but that's not up to us. If the guide is intended to be a type-in to get users set up, then sure. If it's just supposed to be a general guide, however, I would prefer referring to the Handbook where relevant.
Likewise, pre-ricing folks' make.confs is a big no-no in my opinion. It was somewhat necessary with GCC 12 as it did not properly support feature detection on Apple Silicon, but is required no longer. The only things folks need to add to make.conf is VIDEO_CARDS="asahi" and GRUB_PLATFORMS="efi-64". asahi-gentoosupport/ does both. This also introduces a possible source of arcane and cryptic errors for users, or pigeonholes them into a smaller set of features than their machine supports. M2 and M3 are ARMv8.6, and M4 has SME. Your make.conf precludes making use of that altogether. "Works for me" is not an acceptable justification when prescribing something like this. This segues into the next issue.
You need to be willing to own the guide and support users who have issues with it. Sam, Mart and myself have a million other things to do, and I have not seen you in any Asahi or Gentoo community stepping up to support users who come to us with issues. I normally wouldn't care about this since I'm just happy to see more people using Gentoo and Apple Silicon, but when we simply redirect users to the official guide and all their problems seem to go away, then clearly we have a problem here. Now having perused the guide, there's nothing in here that isn't particularly complicated or straightforward to me, but again there seems to be some sticking point for users. If you're not going to interact with the community to support users when they need help with it, then quite frankly it's best if you just retract this guide and link folks to the official documentation.
More generally (and opinionated so feel free to ignore), I just think in general that a "guide" like this is a little bit superfluous beyond getting the user into the LiveCD environment. At that point, these machines just behave like a generic Gentoo PC with UEFI - the differences are minimal and essentially disappear after you've installed sys-apps/asahi-meta. On the Asahi side, put a non-trivial amount of effort into making sure this was the case. The Handbook is the canonical installation guide for UEFI PCs, and therefore should be used as the main source of information for installation on an Apple Silicon Mac too. In accordance with our upstream-first policy, in my mind any installation guide should simply direct users to upstream documentation wherever possible, and limit itself to simply pointing out where certain things may diverge.
At the end of the day, it's your guide to do with as you please. If you are willing to take responsibility for it and join the relevant community IRC channels (#gentoo-arm and #asahi-alt which is on OFTC) to offer support for users requiring it, then that's basically all of my concerns assuaged. And no, adding a note to the top telling people to go to the official channels if something you told them to do breaks is not a substitute. If you wish to keep this guide up as-is without offering support for it then you are of course free to do so, but I will unfortunately have to continue heavily discouraging the use of this guide until that changes.
--Chadmed (talk) 08:06, 31 May 2024 (UTC)

Some suggestions

Don't want to just edit your article for you, but I've been following this to get set up myself, and I've run into a couple issues I had to solve so far...

  1. ALARM and expert mode are hidden by default now. This is easy to fix: `curl ... | EXPERT=1 sh`.
  2. The initramfs doesn't work right if you don't have the `cryptsetup` USE flag on systemd. I'll *confirm* this in another comment later, since I have to redo the entire process right now (for reasons unrelated to you, I may have totally broken everything), but I couldn't get my volume unlocking during boot until I added the `cryptsetup` use flag globally. I think it's just required on systemd, and that's what I'm going to try now, and if it works I'll let you know... if it doesn't work I'll, uh, figure out what the heck I did to get it working last time, I guess.

Other than that, and other than my own errors, this was a pretty good guide and I'm looking forward to doing it again :) demize (talk) 15:43, 23 March 2024 (UTC)

Ah, one other tweak to get it booting right. Pretty simple: just need to edit `/etc/default/grub` to add `GRUB_DEVICE_UUID=<BTRFS UUID>`, which will make it generate the same root in the command line we're putting in dracut's config. Unfortunately there's no way to just... disable generating a command line entirely, that would be easier and more effective. 18:21, 23 March 2024 (UTC)

Thanks for the suggestions! I'm going to run through this again likely this weekend and will take a pass as I go.
--Jared (talk) 23:23, 8 May 2024 (UTC)
Updated to reflect the new Fedora installer support and other changes! Thanks again! It worked great for me :) --Jared (talk) 22:15, 9 May 2024 (UTC)