k3sh4v
I have a gpt disk in which my current setup is as follows :-
.
sda
-----sda1 -> EFI for /boot/efi {Formatted as fat 32}
-----sda2 -> SWAP
-----sda3 -> ext4{64bit feature off} for /boot of 1st obarun install so that syslinux would work properly.
-----sda4 -> ext4 for mounting / for 1st obarun install
-----sda5 -> ext4 {64bit feature off} for /boot of 2nd obarun install so that syslinux would work properly.
-----sda6 -> ext4 for mounting / for 2nd obarun install
-----sda7 -> ext4 for common file sharing and media storing
.
I made separate boot partitions because of two reasons :-
1. I wish to test many custom compiled kernels.
2. Syslinux would properly function without "64bit" feature. If i would have not a dedicated partition for /boot, i would have to format sda4 with 64bit feature disabled which is not desirable here.
.
I wish to use rEFInd as main boot manager that will chainload to
syslinux in particular linux installation.
.
What i've done so far :-
1. Installed Obarun at sda4. Chrooted in installation.
2. Installed syslinux using pacman but not using obarun-install menu. Not configured syslinux yet.
2. Installed rEFInd and efibootmgr using pacman.
3. Copied /usr/share/refind to ESP/refind.
(have not registered refind_x64.efi using efibootmgr yet).
.
My doubt is how to chainload rEFInd to syslinux of particular obarun install
(i will make many more obarun installations). I know i have to register refind_x64.efi
using efibootmgr but what about syslinux ?
.
I read on Syslinux arch wiki that
1. Syslinux-install script doesn't work on UEFI installations.
2. /usr/lib/syslinux directory needs to be copied at ESP
and then register syslinux.efi using efibootmgr.
.
rEFInd page by Rod Smith says that rEFInd detects other linux bootloaders but do i have to
register them with efibootmgr or just paste their directory and rEFInd will detect them ??
.
NOTE :-
Syslinux needs kernel and initramfs in same directory as syslinux so if i copied all files in
/usr/lib/syslinux to ESP/obarun, will kernel files and initramfs files also need to be copied at esp ??
If i do this, i will be left with two copies of kernel and initramfs for a particular kernel which is also not good.
.
I am confused but I have tried to explain my situation as clear as possible. Please help me with the same.
eric
currently doing some test and i come back here for feedback
eric
i think that the solution can be :
/dev/sda1 # ESP
/dev/sda2 # general boot partition
/dev/sda3 # obarun system with e.g. linux
/dev/sda4 # obarun system with e.g linux-lts
/dev/sda5 # shared partition
mount sda3 in mnt
mount sda2 in /mnt/boot
mount sda1 in /mnt/boot/efi
make the installation, install syslinux
follow syslinux archwiki for EFI installation (copy /lib/syslinux/efi64, register entry for EFI with efibootmgr...)
rename the /boot/initramfs-linux.img and vmlinuz-linux as you want
umount the thing
mount sda4 in /mnt
mount sda2 in /mnt/boot
mount sda1 /mnt/boot/efi
make the installation, do not install syslinux(already did)
rename the /boot/initramfs-linux.img and vmlinuz-linux as you want
change the /boot/efi/EFI/syslinux/syslinux.cfg file with two menu entry to find the good / partition and good kernel
k3sh4v
This solution removes the chainload step which i also thought would complicate things a little. Well, i'll try it and will come back to report the result. I kinda like this idea. Its more clean and elegant. ☺️
k3sh4v
I think the approach i mentioned above in the question should also work but i'm still a little lost as of how to do it. I'll try to find out about it as much as possible. If i succeed, i'll post it here so that others would also benefit from it. Till then, i'll use your suggested approach. ☺️