bedrocklinux / bedrocklinux-website

This tracks website development for Bedrock Linux
https://bedrocklinux.org
64 stars 18 forks source link

Conversion exits with error even after removing Grub #62

Closed brainchild0 closed 2 years ago

brainchild0 commented 2 years ago

I have provisioned a Debian 11 bullseye system for "hijacking" conversion into a Bedrock system.

The system is QEMU/KVM guest running on a x86/64-bit host.

Not knowing about the limitations from the combination of Btrfs and Grub, I encountered an error when running the conversion script.

However, it was insufficient to eliminate this error even by achieving successful boot entirely through rEFInd.

In fact, each of the following increasingly more aggressive steps have failed to eliminate the error:

  1. Install rEFInd and achieve working boot entirely without Grub.
  2. Remove Grub system utilities from system.
  3. Same, but with purge command given to APT package manager utility.
  4. Remove file /boot/grub/grub.cfg.
  5. Remove entire directory /boot.
  6. Remove all Grub binaries from EFI partition.
  7. Include argument --force-update in invocation of conversion utility.

I am seeking advice on how to proceed.

I would also suggest an option for manually overriding the check. As long as the boot process is not dependent on Grub, and as long as the update routine would not set Grub as the default boot loader, then the mere presence of Grub should not cause problems. Ideally, drastic steps would not be necessary to proceed with system conversion, if a user chooses instead simply to force the conversion utility to proceed.

Presently, even after completing all steps listed above, the conversion utility proceeds as shown in the following output capture:

$ sudo sh ./bedrock-linux-0.7.28-x86_64.sh --hijack 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                                                               *
* Continuing will:                                              *
* - Move the existing install to a temporary location           *
* - Install Bedrock Linux on the root of the filesystem         *
* - Add the previous install as a new Bedrock Linux stratum     *
*                                                               *
* YOU ARE ABOUT TO REPLACE YOUR EXISTING LINUX INSTALL WITH A   *
* BEDROCK LINUX INSTALL! THIS IS NOT INTENDED TO BE REVERSIBLE! *
*                                                               *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Please type "Not reversible!" without quotes at the prompt to continue:
> Not reversible!

__          __             __      
\ \_________\ \____________\ \___  
 \  _ \  _\ _  \  _\ __ \ __\   /  
  \___/\__/\__/ \_\ \___/\__/\_\_\ 
          Bedrock Linux 0.7.28 Poki

[1/6 ( 16%)] Performing sanity checks
ERROR: Detected BTRFS mount and GRUB reference in /boot.  GRUB can get confused when updating its configuration in this scenario.  Either use another filesystem or another bootloader.

Yet, it is puzzling what is mean by the "GRUB reference in /boot".

Following represents the current contents of /boot:

~$ sudo find /boot -maxdepth 4
/boot
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/refind
/boot/efi/EFI/refind/refind_x64.efi
/boot/efi/EFI/refind/drivers_x64
/boot/efi/EFI/refind/keys
/boot/efi/EFI/refind/icons
/boot/efi/EFI/refind/refind.conf
/boot/efi/EFI/refind/BOOT.CSV
/boot/efi/EFI/refind/grubx64.efi
/boot/efi/EFI/refind/shimx64.efi
/boot/efi/EFI/refind/mmx64.efi
/boot/efi/EFI/refind/icons-backup
/boot/efi/EFI/refind/refind.conf-sample
/boot/efi/EFI/refind/shimx64.efi~
/boot/efi/EFI/refind/mmx64.efi~
/boot/efi/EFI/refind/refind.conf~
/boot/efi/EFI/tools
/boot/System.map-5.10.0-10-amd64
/boot/config-5.10.0-10-amd64
/boot/vmlinuz-5.10.0-10-amd64
/boot/initrd.img-5.10.0-10-amd64
/boot/System.map-5.10.0-19-amd64
/boot/config-5.10.0-19-amd64
/boot/vmlinuz-5.10.0-19-amd64
/boot/initrd.img-5.10.0-19-amd64
/boot/refind_linux.conf

Thank you for the support, and for considering the suggestion.

brainchild0 commented 2 years ago

Refiling into the proper tracker, for core development.