Hi there! While I found the installation process a bit weird (after dd’ing installer to SD card, and booting off of it, it overwrites the same SD card with the chosen installation… WHY?), I managed to get it done correctly, as well as transfer it to the eMMC, including LVM-on-LUKS and btrfs root. Long story short, it works, but I found the following minor issues:
After the kernel loads, the screen goes pitch black instead of showing a prompt to enter the LUKS password. This means I have to just know to type the password when the screen turns off. It’s a minor annoyance but I’d rather not have it do that.
When I reboot the Pinebook Pro, the WiFi adapter is missing, and I have to power off and back on for it to work again. I can consistently reproduce this, and would appreciate a solution.
The KDE systray shows an icon when the battery is being charged but not when the system is running off battery. How to work around it?
Booting off of the dd’ed SD card, does not overwrite the same SD card, it just adds to it. The dd’ed card contains a base image on which to install the desired Desktop Environment or Windows Manager. First Boot then launches Calamares which prompts for the desired DE / WM, timezone, language, username, and other information. Then it layers the base install with the chosen DE / WM and configures the final product. This allows us to offer a single image that supports 16 different DE / WM as opposed to 16 different images (one for each DE/WM) that would need support.
It is an ARM device, and ARM does not have a BIOS or UEFI. It has uboot or a similar bootloader installed on the motherboard in NVRAM (I think) which is immutable. The only way to change something is to flash an entire new binary bootloader to the device.
Well, the installer itself has few options, and it’s just a question of selecting the correct keyboard layout, locales etc., as well as providing a user name and password. The interesting part comes afterwards: transferring the newly installed system to eMMC. On a high level, I did the following:
Create boot partition with ext4 (the installer uses FAT32 but there is no need for that on the PBP)
Create LUKS volume, a LVM PV on that, and two LVM LVs (one for swap, one for the rest)
Format root LV with btrfs, and create subvolumes and directories as needed
Mount the whole tree under /mnt, and copy the system from the SD card
Make the necessary adjustments to /mnt/etc/fstab, /mnt/boot/extlinux/extlinux.conf, and /mnt/etc/mkinitcpio.conf (in the latter, you need to add encrypt and lvm2 hooks)
Unmount everything, and reboot to eMMC
It’s not difficult but somewhat tedious, and even though I have done similar things on several systems, it always takes a good hour or two until everything works right.
My best guess is that it is based on the vast majority of users who will use UEFI boot on x64. The UEFI spec requires the use of FAT32 for the EFI partition, and since that works for basically everyone else as well, it became the boot/EFI partition’s format.
Thank you for the clarification. An optional step of choosing the install target, unpacking the base image onto it, and adding the chosen DE/WM would work the same way, though; no need for a bunch of separate installers either.
Unfortunately I have to disagree because I installed Void Linux again from scratch, and when I reboot back into it, it always has the WiFi device, therefore it must be an EndeavourOS problem. Void has kernel 6.1.something.