tested under virtualbox, do not forget to enable EFI options.
boot obarun ISO, with EFI the boot take time, just be patient.
Log on with obarun user.
open a terminal, and launch gparted with sudo
$ sudo gparted
create, format partition as it (only an example here, update it to suit your needs)
partition filesystem size flags
/dev/sda1 fat32 450M boot,esp (no legacy_boot here)
/dev/sda2 ext4 8G
/dev/sda3 ext4 rest of the disk
where :
/dev/sda1 is the ESP partition
/dev/sda2 is the root partition
/dev/sda3 is the home partition
exit from gparted
then mount the partition :
# sudo mount /dev/sda2 /mnt
# sudo mkdir /mnt/{boot,home}
# sudo mount /dev/sda1 /mnt/boot
# sudo mount /dev/sda3 /mnt/home
then launch obarun-install and update it.
STOP the script and relaunch it after the update (do not update it again when it ask you to do it)
make the installation
INSTALL syslinux when it ask you with the default options(meaning -iam) and EDIT the syslinux.cfg when it ask you to change
the append line to suit your need (in our case).
APPEND root=/dev/sda2 ro
all this step it's just to have a syslinux.cfg on the system, it will be copied later(see below).
when the installation is fully finished, enter on chroot with the number 10
now verify that the efivars partition is mounted, it should be already mounted.
# mount | grep efivars
if it's not the case mount it with classic way
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
verify that you have the good package installed
# pacman -Qs efivar refind-efi efibootmgr
if those package are not installed, install it
# pacman -S efivar efibootmgr refind-efi
according to the syslinux archwiki :
# mkdir -p /boot/EFI/syslinux
# cp -r /usr/lib/syslinux/efi64/* /boot/EFI/syslinux/
# efibootmgr -c -d /dev/sda -p 1 -l /EFI/syslinux/syslinux.efi -L "My fucking menu with EFI shit"
# cp /boot/syslinux/syslinux.cfg /boot/EFI/syslinux/
for refind
# refind-install
edit the /boot/refind_linux.conf (with mcedit or nano, it's up to you) to suit your need in our case :
"boot with minimal options" "ro root=/dev/sda2"
remake the /etc/fstab to mount at every boot the efivars
# pacman -S arch-install-script
# genfstab -p / > /etc/fstab
exit form the chroot
exit from the script
reboot
If i did not forgot something, this should works.