User talk:Jared/Gentoo On An M1 Mac
Before creating a discussion or leaving a comment, please read about using talk pages. To create a new discussion, click here. Comments on an existing discussion should be signed using
~~~~
:
A comment [[User:Larry|Larry]] 13:52, 13 May 2024 (UTC) : A reply [[User:Sally|Sally]] 11:23, 12 December 2024 (UTC) :: Your reply ~~~~
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...
- ALARM and expert mode are hidden by default now. This is easy to fix: `curl ... | EXPERT=1 sh`.
- 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)
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. — The preceding unsigned comment was added by Leio (talk • contribs) 2024-05-27T10:06:47
- 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 install.sh 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/install.sh 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)
A request for Jared
Hello Jared , it was recently bought to my attention that our official Gentoo Asahi project members and devs are experiencing an increased level of support dealing with community members who have followed this guide, but still have some gaps for which they need official support. Would it to too much to ask for you to adjust the message near the top of your article to point anyone finding your article via search engines that this guide is a "proceed at your own risk" and "not affiliated with the official Gentoo Asahi project"? Something like:
This guide is maintained by Jared and may contradict installation instructions provided by the official Gentoo Asahi project. If something isn't working well after following this guide, please due diligence to ease the burden on support by reviewing the official Gentoo project's installation instructions BEFORE reaching out for official support. This will free up the official project from chasing down any minor gaps between this guide and the official one! Thank you in advance and good luck!
I hope you can understand the rationale behind the ask here; I see that you already have the note, buy it would seem it should be emboldened somehow. Speaking for the wiki project, we by NO MEANS want to discourage community members from doing fun, often cutting edge stuff, with Gentoo and documenting it on our wiki as a centralized repository of knowledge. In fact, I love it when I see people writing up articles in their user space. It is exactly how we desire the user namespace to be utilized! Since you are one of the first community members to write a guide for Asahi, many in the community are finding your guide before finding or even knowing about the official project. We want to partner with you for great work and help our community self-serve as much as possible before asking for official support. This aids the Gentoo ecosystem at large and enables our devs to spend more cycles on their dev duties and less on user-support-interrupt-requests.
Kind regards, --Maffblaster (talk) 01:40, 23 June 2024 (UTC)
- Hello Matthew Marchese (Maffblaster) ! Thanks for the suggested action and implementation. I went ahead and adopted that and changed it slightly based on what I felt it should say (just to highlight what else it shadows). PTAL and let me know if you think that'll suffice. Also, I want to callout that even though I'm not on IRC (because I do not have a system in place for reliably using it), I am happy to address any and all issues. I try to respond to stuff I've seen pop up in Reddit on r/asahi as well as r/gentoo when it shows up. So, long winded way of me saying, if there's issues or whatnot, I'm here to fix them :D Thanks!
- --Jared (talk) 02:16, 23 June 2024 (UTC)
- Just wanted to chime in to thank Jared for writing up their guide - always great to see anyone helping to take Gentoo new places :). And thanks Maff and Sam ofc, (as usual 🙂), for getting things cleared up to help users avoid getting confused :).
- Thanks everyone who brought the issue of of this slight "disconnect" (for the moment at least) between "official" instructions and this new guide to the attention of the #gentoo-wiki channel.
- Happy edititng Jared :D.
A few confusions during installation
Hi, Jared. Thanks for awesome guide, saved me a lot of time! But I also ended up wasting a lot of my time because I wasn't paying attention to logs :)
At first attempt I ended up with broken system because dracut failed to build initramfs and I didn't notice that and continued copying commands -_- The problem was in dracut --kver $(make -C /usr/src/linux -s kernelrelease) --force command. $(make ... -s kernelrelease) returns kernel version, but it's not garanteed to be equal to actual directory name with kernel modules. It follows package version. In my case kernel version was 6.9.7-asahi-dist, but modules was in 6.9.7-p1-asahi-dist and dracut failed because it couldn't find modules.
Dracut command could be modified like this to avoid the problem:
dracut --kver $(ls /lib/modules) --force
At all other attempts everything it looked like booting was stuck than failing to rescue after a while. Turns out system was just waiting for password to decrypt luks, but I didn't know that because there was plenty of boot logs after it and I didn't see it. Maybe it's a good idea to add quiet to GRUB_CMDLINE_LINUX to make ask for password more visible. Or add a warning that if your system stuck at boot, that's probably okay :) Aladmit (talk) 04:43, 22 July 2024 (UTC)
DTB issue
Hello Jared,
Thank you again for the guide. We've already been in touch before, and back then you really helped me out—thanks again for that.
However, I'm now encountering a problem during installation. As soon as I run the script ./install.sh, and even if I previously run emerge -1 --autounmask-write sys-apps/asahi-meta and then dispatch-conf, I keep running into this error:
/bin/ls: cannot access '/boot/dtbs/*': No such file or directory Reading m1n1 config from /etc/m1n1.conf: Mounted System ESP /dev/nvme0n1p4 at /run/.system-efi cat: /usr/lib/asahi-boot//m1n1.bin: No such file or directory cat: '/apple/*.dtb': No such file or directory
I've tried setting up the system three times and always end up at this point. At first, I thought I might have missed something in the guide—maybe I did. At which step should these resources actually be created? Any hint would already be a great help.
Thank you so much for your effort, and have a wonderful weekend.
Hennifant (talk) 07:54, 7 December 2024 (UTC)
- Hi User:Hennifant, any chance you can please pop on IRC server at #gentoo-arm (webchat) as we have an updated article that needs testing there.
- Immolo (talk) 10:18, 7 December 2024 (UTC)
- For posterity, we had chatted over email previously so I followed up real quick there. I don’t have a working laptop for the next week or so since I’ve been out of the country for three weeks, but I’m happy to help if there’s any need for anything from me that IRC wasn’t able to figure out (sent the email because there was no easy way to login here over mobile). Also, I’m super excited to learn more about the updated article mentioned here :)
- —Jared (talk) 11:02, 10 December 2024 (UTC)