On Sun, 12 May 2019 23:15:33 +0200 "Carlos E. R." <robin.listas@telefonica.net> wrote:
On 12/05/2019 22.33, Stephen Berman wrote:
On Sun, 12 May 2019 20:15:33 +0200 "Carlos E. R." <robin.listas@telefonica.net> wrote:
On 12/05/2019 16.29, Stephen Berman wrote:
On Sun, 12 May 2019 01:55:06 -0400 Felix Miata <mrmazda@earthlink.net> wrote:
Stephen Berman composed on 2019-05-12 00:53 (UTC+0200):
As I wrote, I also have /boot/efi mounted in Leap 15.0. Does that mean Leap is using UEFI to boot?
I'm pretty sure no astute Linux reseller is going to configure a new system to use the legacy MBR system unless specifically requested to do so, so yes. :-)
If so, how can I get Tumbleweed to use it as well? As I also wrote in my followup to Carlos E.R., I was unable to do this during the Tumbleweed installation. Should it be possible and if so, how?
A possibly relevant datapoint: When I compare the /boot directories in my Leap and Tumbleweed installations, in addition to /boot in Tumbleweed lacking the efi subdirectory, I see that, while in both installations the grub2 subdirectory contains the subdirectory x86_64-efi, in Leap it is filled with 267 *.mod files, while in Tumbleweed it is empty (both installations also contain the directory i386-pc under grub2; in Leap it contains 277 *.mod files, in Tumbleweed 278). Is this another indication that the bootloader (in Leap) is using UEFI?
Absolutely!
Check if you have /etc/default/grub on your TW. If it's there, then change
GRUB_DISTRIBUTOR="opensuse"
to
GRUB_DISTRIBUTOR="opensusetw"
or whatever suits your fancy to make them distinguishable where there would otherwise be conflict. I filed a bug last summer requesting this ability be included at installation time: https://bugzilla.opensuse.org/show_bug.cgi?id=1101756
Here on both Leap and TW it's unset, which according to the preceding comment in the file means "determine the value from /etc/os-release"; the latter files assign values to NAME, VERSION, ID, PRETTY_NAME, CPE_NAME and ID_LIKE that are distinct in both systems. Do you nevertheless recommend setting GRUB_DISTRIBUTOR?
When several grubs are installed, it is convenient to use different names for each, yes.
I can't tell from your answer whether this means I should set GRUB_DISTRIBUTOR differently in Leap and TW or let it be set by /etc/os-release, since most of the entries there differ between Leap and TW. But installing "several grubs" into /boot (wherever it is), seems to run counter to what you say below: "Each distribution must have their own separate /boot partition or directory." Please clarify.
Each "linux install" should have its own /boot directory (which some times is also a different partition), and in there just one grub. And each one should use a different name (distributor) so that when you boot one you know which one it is.
Ok.
It is very weird nowdays to have a separate /boot partition. There many be reasons, like when using LVM or some raid modes or perhaps encryption. But you have not mentioned any of that.
I've never used a separate /boot partition till now, and if the machine hadn't come that way, I probably wouldn't have made one myself. (I did tell them when I ordered the machine that I intended to install TW and other Linux-based systems beside Leap but didn't ask for a specific partition scheme; that was probably a mistake. I suppose I could just delete the entire disk and start from scratch. Maybe that's the best way to go...)
Possibly... but I would make a backup of what the shop installed, just in case.
I already did that before repartitioning the Leap root partition and installing TW.
Also, don't confuse the EFI partition with the /boot partition or the BIOS BOOT partition. Each one is different. And nowdays, /boot is usually a directory of "/". In fact, if you partition "/" as btrfs, you must not use a separate boot partition, or reverting to a previous snapshot will not be able to boot the previous kernel.
Are you sure? If so, why does openSUSE propose a separate /boot partition but also btrfs for the root partition?
Absolutely sure. And you must be confused: the installer did not propose a separate /boot partition. It wanted a bios partition and an efi partition.
I didn't write down or photograph what was on the screen during the installation, but I have a very clear memory that it proposed a separate /boot partition, and have no memory of an efi partition. I think it referred to there being no BIOS partition when I tried to use the existing /boot partition, and also when I tried to make an new /boot partition. If and when I reinstall, I will capture what's on the screen.
(the proper filesystem for /boot, if it exists, is ext2).
I seem to recall that advice from older installations; is it still considered valid?
The EFI partition is formatted as vfat, and is mounted inside /boot. There is only one per disk. It is however very strange to have Leap using bios mode and TW using EFI mode.
By strange do you mean unusual but not otherwise dangerous or do you mean it increases the risk of not being able to boot?
It should not happen. Not dangerous, but possibly unbootable.
Ok.
When you do not know how to create the bios partition, just look at the initial proposal, and replicate the choices for that partition on a different spot. It doesn't use any filesystem, it is raw. And it is tiny, 8..16 mega bytes.
That's what I first did, as I wrote in my OP, but to everything I tried the installer said there was no bootable partition. If there is some way during installation to create a bios partition without accepting the intaller's proposal, it remained hidden to me.
Then it was referring to something else I don't see.
I don't see the BIOS partition in your layout. Anyway, IIRC that partition is only used when Grub is installed in the MBR in BIOS mode, which is not your case. However, the installer will not be happy till you make it "just in case" you change your mind one day and want to put grub in the mbr. It is a real tiny partition, so it doesn't matter to have it.
It looks like this in fdisk:
lesar:~ # fdisk -l /dev/sdc Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors Disk model: ST4000DM004-2CV1 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 1C7EE0A7...
Device Start End Sectors Size Type /dev/sdc1 2048 32767 30720 15M BIOS boot <====== /dev/sdc2 32768 1261567 1228800 600M Linux filesystem
I was confused by the installer's and your references to the BIOS boot partition, and now I understand why: "The BIOS boot partition is a partition on a data storage device that GNU GRUB uses on legacy BIOS-based personal computers in order to boot an operating system, when the actual boot device contains a GUID Partition Table (GPT)." (https://en.wikipedia.org/wiki/BIOS_boot_partition) Prior to this new computer I'd never installed on a machine with a GPT.
If I remember correctly, there is some point at the partitioner where you can choose which partitions to overwrite and which to leave intact, and then ask the installer to make a new proposal.
Yes, I think I tried that but the installer said something like the partition scheme I wanted was unsupported.
It certainly failed to boot...
That's misleading; I installed no bootloader in TW, but there's no problem booting TW from the GRUB2 installed in Leap.
If what you said is correct, that the computer came with "/boot, / (root) and swap", then for sure it was booting in BIOS mode, even if the disk is GPT. I see on bootinfo that you have "Syslinux GPTMBR (4.04-5.01) is installed in the MBR of /dev/nvme0n1"n which confirms it.
In this setting, when installing another system, choose to leave the existing protective MBR intact.
It's hard for me to decide how to proceed when knowledgeable people (e.g. you and Felix Miata) firmly offer conflicting advice...
Felix uses a complicated setup with many linuxes installed :-)
Basically, you decide ONE Linux to be the ruler. This one writes the MBR, the rest should leave it intact.
Then, in BIOS mode you can change which one has the "legacy boot flag" active, and that's the one that will boot by default.
EFI is different.
Note that when I open the Boot Loader module in Leap, it shows GRUB2 as the boot loader, and "Boot from Partition", "Set active Flag in Partition Table for Boot Partition" and "Write generic Boot Code to MBR" are checked and "Protective MBR flag" is set to "do not change". Is this display expected even if the bootloader is using EFI?
It is not using EFI, IMO. The settings are what I would do on a BIOS machine.
Your current setup is, I think, that Leap os-prober found the TW partition and added entries for it in its own grub. You have currently no way to boot by default the second grub - in bios mode. If you switch the computer to EFI mode, it is possible that Leap will not boot, and the the TW boot was incomplete and might not boot. The latter is just a feeling.
You should check your bios, what mode it is in.
The BIOS has UEFI CSM support enabled "to support a legacy PC boot process."
So, you are in BIOS mode, I think. :-??
Either that or the computer sees there is no proper EFI boot system and defaults to Legacy.
Maybe it is some sort of dual mode, TW detected EFI and tried to install in EFI mode... :-?
(confused)
You're not the only one who's confused. You're previous reply had almost convinced me that the system was booting in legacy mode (despite what Felix said), and that BIOS setting seems to confirm that. But then I found this (http://www.rodsbooks.com/linux-uefi/): "You should verify an EFI-mode boot by dropping to a Linux shell and typing ls /sys/firmware/efi. If you see a list of files and directories, you've booted in EFI mode [...]". And indeed, this is in the running Leap: steve@linux-tuxedo:~> ls -l /sys/firmware/efi/ total 0 -r--r--r-- 1 root root 4096 May 12 23:44 config_table drwxr-xr-x 2 root root 0 May 12 15:12 efivars drwxr-xr-x 3 root root 0 May 12 23:44 esrt -r--r--r-- 1 root root 4096 May 12 23:44 fw_platform_size -r--r--r-- 1 root root 4096 May 12 23:44 fw_vendor -r--r--r-- 1 root root 4096 May 12 23:44 runtime drwxr-xr-x 13 root root 0 May 12 23:44 runtime-map drwxr-xr-x 2 root root 0 May 12 23:44 secret-key -r-------- 1 root root 4096 May 12 23:44 systab drwxr-xr-x 96 root root 0 May 12 23:44 vars
And since that is enabled, that permits configuring "whether to enable the UEFI or legacy option ROM for the storage device controller" and also "for the PCI device controller other than the LAN, storage device, and graphics controllers"; both are set to enable "UEFI option ROM only."
If you are going to install again, disable legacy and go for pure EFI, and wipe the disk. Just install then Leap but not using the entire disk to leave space for TW.
With everything I've understood you to have said before, this advice surprises me. Why pure EFI? Legacy seems much simpler, and it's worked fine for me till now for booting multiple systems installed on the same machine. Or is it really inadvisable to keep CSM support enable in the BIOS, installing Leap and TW using EFI but leaving the option of legacy booting for other systems that may not support EFI the was openSUSE does?
And if you don't have another computer, make sure to have the XFCE aka Rescue image installed in an USB stick (4GB suffices) and boot it at least once to know it works. Even if you have another computer :-)
I'm using the SSD for system installation only; all my data are on other disks and I have installation media on USB and DVDs. Steve Berman -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org