site  contact  subhomenews

Multi-booting Buster, Pyro and Windows on new PC

March 21, 2020 — BarryK

I have posted about the new Lenovo "mini tower" desktop PC:

https://bkhome.org/news/202003/how-many-cores-does-an-intel-i3-cpu-have.html

https://bkhome.org/news/202003/mke2fs-created-wrong-block-size.html

There is a 256GB NVME SSD with Windows 10 Home installed, decided to leave that alone for now. The new 8TB hard drive has these partitions:

sda1 6.3TB ext4
sda2 32GB swap
sda3 1.3GB fat32 ESP
sda4 48GB ext4
sda5 48GB ext4
etc

The fat32 partition is the EasyOS boot-partition. I copied the "EFI" folder off the Buster 2.2.12 USB-stick, and created two folders, named "sda4" and "sda5". I copied Buster files 'vmlinuz', 'initrd' and 'easy.sfs' from the USB-stick to folder "sda4", and ditto from the Pyro USB-stick to folder "sda5".

Of course, the usual thing is to click on 'initrd' and fix the 'BOOT_SPECS' file inside it. In the case of Buster, this is what mine looks like:

BOOT_UUID='F633-E6AC'
BOOT_DIR='sda4/'
WKG_UUID='e4e45c2c-199a-4e9c-96f8-3b29f12c38f5'
WKG_DIR='easyos/'

...I could have named that folder "buster" instead of "sda4" -- or anything else. The working-partition is sda4, and it is nice and tidy if all the EasyOS folders are kept in a subdirectory, so I set WKG_DIR to "easyos/" -- that is nice, because the rest of the partition can be used for anything else without getting confused with the EasyOS-specific folders.

I edited /EFI/BOOT/refind.conf:

timeout 10
textonly on
textmode 0
showtools shutdown,reboot,firmware
#scan_all_linux_kernels off
#scanfor manual,internal
scanfor manual
menuentry "EasyOS Buster normal bootup (wkg part. sda4)" {
loader /sda4/vmlinuz
initrd /sda4/initrd
ostype linux
options rw
}
menuentry " Filesystem check" {
loader /sda4/vmlinuz
initrd /sda4/initrd
ostype linux
options "rw qfix=fsck"
}
menuentry " Commandline only, do not start X" {
loader /sda4/vmlinuz
initrd /sda4/initrd
ostype linux
options "rw qfix=nox"
}
menuentry " Rollback to last saved session" {
loader /sda4/vmlinuz
initrd /sda4/initrd
ostype linux
options "rw qfix=bak"
}
menuentry " Copy session to RAM & disable drives" {
loader /sda4/vmlinuz
initrd /sda4/initrd
ostype linux
options "rw qfix=cap2 lockdown=confidentiality"
}
menuentry "EasyOS Pyro normal bootup (wkg part. sda5)" {
loader /sda5/vmlinuz
initrd /sda5/initrd
ostype linux
options rw
}
menuentry " Filesystem check" {
loader /sda5/vmlinuz
initrd /sda5/initrd
ostype linux
options "rw qfix=fsck"
}
menuentry " Commandline only, do not start X" {
loader /sda5/vmlinuz
initrd /sda5/initrd
ostype linux
options "rw qfix=nox"
}
menuentry " Rollback to last saved session" {
loader /sda5/vmlinuz
initrd /sda5/initrd
ostype linux
options "rw qfix=bak"
}
menuentry "Windows 10" {
volume SYSTEM
loader \EFI\Microsoft\Boot\bootmgfw.efi
#disabled
}

Detailed information how to setup 'refind.conf' is here:

https://www.rodsbooks.com/refind/configfile.html

This is what it looks like:

img1

reFind has one big flaw, it does not recognise ext4 partitions with the "encrypt" flag set. I had earlier run this:

# tune2fs -O encrypt /dev/sda4
# tune2fs -O encrypt /dev/sda5

Notice above, the Windows volume name "SYSTEM" is specified. Unfortunately, this cannot be done for sda4 and sda5. But no problem, I made the fat32 partition big enough to hold the bootup files for both Buster and Pyro.

If more Linux distributions are to be installed, Slackware for example into sda6, it is OK to use the "volume" specifier, as reFind will recognise a normal ext4 partition. So 'vmlinuz' for Slackware can be in sda6.

Note, although Pyro has been retired, I still use it sometimes (current version is 1.3, might even do a new release sometime). For example, to compile my fork of OpenEmbedded, which is getting a bit old, I get many Python errors when tried to do it in Buster. Unfortunately, Python is a moving target. 

EDIT 2020-03-22:
Here are further instructions for setting up reFind to boot an EasyPup frugal installation, other puppies and any other Linux distribution:

https://bkhome.org/news/202003/booting-easypup-frugal-installation-with-refind.html 

Tags: easy