Current status: Fixed it. Hooking up the serial-to-USB diag cable while booting up yielded a bunch of module errors. I had forgotten that I'd run updates AFTER making my image backup, and the whole space problem was caused by a 5.15 kernel update coming in - so the modules on the backed-up root filesystem were now out of sync with the running kernel in /boot! D'oh!!
So, I replaced the entire contents of /boot with the /boot files from my image backup and now the phone works as it should. (Well, as it was working before anyway.)
Then I went ahead and installed the 6.1 kernel with plenty of space left on /boot for future kernel updates. Was it worth the aggravation? Are there any current advantages to running 6.1 at this time? Beats me, time will tell. But it's likely that at some point the small /boot partition would be a problem.
At least now I know it is possible to expand /boot when using full disk encryption with this method. It was just a bit less trouble than pulling teeth but knowing the "gotchas" now it would not take as long to do it again. Still, if you don't have a highly customized installation it might be faster and easier to just reinstall from scratch.
Steps are basically the following, done from a desktop Linux system or booted from an SD card:
1. Make image backup of eMMC. Make sure you can mount the root filesystem in the image.
2. Record UUIDs of the existing root LUKS partition and ext4 filesystem.
3. Delete root partition from eMMC
4. Expand /boot partition on the eMMC to desired size (I used Gparted and set the size to 512MB which is a bit of overkill. Might want to be more conservative with space on a 16GB eMMC.)
5. Create LUKS partition on remaining eMMC space using cryptsetup. Set UUID to be the same as the old LUKS partition.
6. Open the LUKS partition with cryptsetup and create an ext4 filesystem. Set UUID to be the same as the old filesystem and mount it. (I think it was the same as the UUID of the LUKS partition. At least that's the way it is now.)
7. From a root shell, "cp -a /old/root/filesystem /new/root/filesystem
8. Umount and close the new root filesystem on the eMMC and reboot.
Test the phone - if it works immediately make an image backup of the new setup!
![Cry Cry](https://forum.pine64.org/images/smilies/cry.png)
So, I replaced the entire contents of /boot with the /boot files from my image backup and now the phone works as it should. (Well, as it was working before anyway.)
Then I went ahead and installed the 6.1 kernel with plenty of space left on /boot for future kernel updates. Was it worth the aggravation? Are there any current advantages to running 6.1 at this time? Beats me, time will tell. But it's likely that at some point the small /boot partition would be a problem.
At least now I know it is possible to expand /boot when using full disk encryption with this method. It was just a bit less trouble than pulling teeth but knowing the "gotchas" now it would not take as long to do it again. Still, if you don't have a highly customized installation it might be faster and easier to just reinstall from scratch.
![Big Grin Big Grin](https://forum.pine64.org/images/smilies/biggrin.png)
Steps are basically the following, done from a desktop Linux system or booted from an SD card:
1. Make image backup of eMMC. Make sure you can mount the root filesystem in the image.
2. Record UUIDs of the existing root LUKS partition and ext4 filesystem.
3. Delete root partition from eMMC
4. Expand /boot partition on the eMMC to desired size (I used Gparted and set the size to 512MB which is a bit of overkill. Might want to be more conservative with space on a 16GB eMMC.)
5. Create LUKS partition on remaining eMMC space using cryptsetup. Set UUID to be the same as the old LUKS partition.
6. Open the LUKS partition with cryptsetup and create an ext4 filesystem. Set UUID to be the same as the old filesystem and mount it. (I think it was the same as the UUID of the LUKS partition. At least that's the way it is now.)
7. From a root shell, "cp -a /old/root/filesystem /new/root/filesystem
8. Umount and close the new root filesystem on the eMMC and reboot.
Test the phone - if it works immediately make an image backup of the new setup!