I have been playing with PureOS installation options (the ultimate goal is to install it dual boot with MacOS on a MacBook Air, but this is out of the scope of this question).
What I would like to see is how this “Boot loader location: Boot Partition (/boot)” option actually works behind the scenes (in particular, how it makes the Mac’s bootloader know where the /boot partition is, by “blessing”?):
I thought that digging through the source code of that installer should shed some light on what it does. I therefore went to see what is under the “Source Code” link on pureos.net, but it looks like a packages repo rather than source code.
Can somebody please point me directly to the source code behind the installer functionality mentioned above?
You should be able to get the source code from the same link you mentioned. I don’t see a “pureos-installer” package, but I think they just use the “debian-installer” package. You can download and unpack the compressed archives to inspect source code, like the .gz file here:
Admittedly, I don’t see what looks much like source code in the archive of that package, but I think that’s because it then pulls subsequent packages to compile. There’s at least a Makefile and README that you can work your way through to figure out what additional sources to download and inpsect (presumably, but I’m not going to go through the Makefile and README at the moment).
As a random example of actually finding some source code, though, I checked gnome-boxes, which indeed had several Vala files for inspection.
As a layman who’s never built a Linux distro from sources, my expectation was that I’d be able to:
- Download (or
git pull) the sources;
- Search through the files for the presence of the phrase “Boot Partition” (which perhaps would be in some kind of i18n files), and trace this back to the actual “Boot loader location” select box on the screenshot above;
- See what those select box options do when proceeded with.
Now I am stuck on step 2. You mentioned that subsequent packages need to be pulled, and so what I am after is probably somewhere in them. But isn’t there a more straightforward way to see the sources than setting up Linux build environment and running Makefiles?
Dug around a bit more. I couldn’t remember the name of the installer before, but then I remembered it was Calamares. Maybe this is what you’re looking for:
And in general, Purism’s GitLab is here: