Contribute
Register

Help booting systemd Arch EFI with clover

Status
Not open for further replies.
Don't know where my brain went on that script. Shows what happens when you try something when you are not awake yet.
I just did the bootctl install following the guide by Gloriouseggroll - installing by rote. Not familiar enough with Arch Linux to know what is installed by default and what needs installed separately. I did decide to keep the drive as is and explore what Arch offers as opposed to Debian or Ubuntu.
I do have the penguin icon as a result of the config.plist edit, but it will not boot yet - suspect I need that script run. Will try that when I get home from work today (gonna be a loooonnnggg 12 hours!)

A couple of things definitely need to change: the background and the lock screen pics are horrible.
I looked through the settings to see what I could change them to, but could find no way to add other pics - can I just drag and drop onto the selection window or is there a path to where they are stored you can give me?

I had the same thing happening to me where I could see the linux drive icon to boot after the .plist changes, the drive clover labeled it was called vmlinuz and it would show up, I would select it, then a black screen afterwards, no progress from there. After I ran created the efi boot entry with efibootmgr it was then labeled as "Arch Linux" by clover and booted after that. It's worth noting that I've been booting an Arch Linux drive for years without having to do any of this but all of that time I was using grub. So in my head I'm thinking that Grub creates a workable efi boot entry and that Clover will correctly scan for grub. I can't be sure exactly though because as I've said all documentation is super vague on what specifications Clover is actually looking for. The bootctl method uses the systemd bootloader rather than Grub which also means you're not getting the fallback kernel option in case a kernel update breaks the system. Something I haven't seen happen even after years of using Arch but this can seemingly be easily added with another boot entry option pointing to the fallback image. If I get that fallback image option working and do some more testing I'll do a proper writeup tutorial so I'm not just guessing at what works.

As far as wanting to change background and lockscreen pics... Are you referring to the Desktop Environment when you boot Linux? If so what Desktop Environment is it?

Edit: I just referenced the video that you said you followed, looks like he installed gnome as the Desktop Environment. I'm not super familiar with Gnome, I'm currently using Cinnamon. If you're not liking Gnome Desktop you can do a "sudo pacman -S cinnamon" to install the Cinnamon Environment and it should then be an option in your login settings to choose Cinnamon rather than Gnome.
 
I booted with the install USB and used your script to create an entry in the UEFI and I do indeed have one. When I hit F8 at power on post and select Arch Linux from the list, it boots Clover. Think I will just use the F8+select UEFI P3:HGST(model number of drive) when/if I want to boot Arch. I did install Cinnamon and it is better than Gnome IMHO.

Glad you found a way to get it working for you. :clap:
 
I was successful doing this with Arch, however when I replaced Arch with Antergos the same technique didn't work.

Code:
				<dict>					<key>AddArguments</key>
					<string>root=UUID=ef8869ef-402c-4d9b-9775-7ad899207a8e rw add_efi_memmap initrd=/initramfs-linux.img</string>
					<key>Disabled</key>
					<false/>
					<key>DriveImage</key>
					<string>EFI\CLOVER\themes\serenity\icons\os_icon_antergos.icns</string>
					<key>FullTitle</key>
					<string>Antergos Linux</string>
					<key>Hidden</key>
					<false/>
					<key>Hotkey</key>
					<string>4</string>
					<key>Ignore</key>
					<false/>
					<key>Image</key>
					<string>EFI\CLOVER\themes\serenity\icons\blank.icns</string>
					<key>Path</key>
					<string>vmlinuz-linux</string>
					<key>Type</key>
					<string>Linux</string>
					<key>Volume</key>
					<string>EFI</string>
					<key>VolumeType</key>
					<string>Internal</string>
				</dict>

I adjusted it to the UUID of the ext4 root partition. See anything wrong with the above?
 
Hey guys. I've been trying to get an Arch install booting and working, but when I put in my Arch partition's UUID in place of the one katiepea used in her config.plist it attempts to load the kernel, and then drops into an emergency/rescue prompt because it can't load that partition. I have the initrd, kernel and intel_unicode images all in the root of the EFI partition (of which to Clover I assume it'd be / ?) Any help?
 
Your "cheatsheet" is fairly close to what I followed, if a bit different in order and the swap partition was set up at the same time as the EFI, home and root. Also notice you use /dev/sda rather than the UUID on your boot loader options setup. If you move drives in and out of your system the /dev/sd id may change on you and cause problems - best to use the actual UUID here, yes?

So deleting your original boot loader and re-installing it new may have also been part of the fix?

Can you zip and post your Clover config.plist? Would like to do a comparison if possible. I am still not getting Clover to even see the drive at all.
Did you add scan kernels=all to yours? Tried that from a hint on another site - did not work.

This is what my Arch Linux EFI partition looks like:

View attachment 180768

How are you able to mount you Arch partition in OSX? I tried terminal (nothing happened) and the mounter tool where it doesnt show up.
 
Hey guys. I've been trying to get an Arch install booting and working, but when I put in my Arch partition's UUID in place of the one katiepea used in her config.plist it attempts to load the kernel, and then drops into an emergency/rescue prompt because it can't load that partition. I have the initrd, kernel and intel_unicode images all in the root of the EFI partition (of which to Clover I assume it'd be / ?) Any help?

Same thing is happening to me, did you ever find a fix?
 
I booted with the install USB and used your script to create an entry in the UEFI and I do indeed have one. When I hit F8 at power on post and select Arch Linux from the list, it boots Clover. Think I will just use the F8+select UEFI P3:HGST(model number of drive) when/if I want to boot Arch. I did install Cinnamon and it is better than Gnome IMHO.

Glad you found a way to get it working for you. :clap:

I GOT IT!!!

I know you are probably over this project, but maybe someone else like me will find this thread in 2020 - your welcome ;)

It's not ideal, but at least its a fallback. Switch your root=UUID (or root=PARTUUID) to your /dev/nvme1n1p5 (or wherever your root folder is). My boot tells me I fail "at cannot find an input interrupt point boot" - this is the black screen everyone is getting hung up on. Fortunately all of my nvme drives are under heat sinks their paths shouldnt change unless I make an effort to remove them.

I would try this and then move onto efibootmgr (not a base package, but available from: sudo yaourt -S efibootmgr). This worked for me, but I have a suspicion that this is not needed. And like katiepea mentioned before you, loose your fall back (I can no longer run arch and arch-lts, because there is no more systemd gui to pick a kernel. You will need to rerun efibootmgr and configure your clover config.plist set each time I want to switch. If it turns out this is needed here is the cmd that I ran for comparison:

efibootmgr -d /dev/nvme1n1 -p 3 -c -L “Arch Linux” -l /vmlinuz-linux-lts -u “root=UUID rw initrd=/intel-ucode.img initrd=/initramfs-linux-lts.img nvidia-drm.modeset=1”

Remove lts anywhere its listed if you're not running the lts kernel

My clover confif.plist for my Arch-LTS boot (the bold is the changes I made to katiepea, everything else is the same except form my blkid drive configuration)

<key>GUI</key>
<dict>
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>

<key>AddArguments</key>
<string>root=/dev/nvme1n1p5 rw initrd=\intel-ucode.img initrd=\initramfs-linux-lts.img nvidia-drm.modeset=1</string>
<key>Disabled</key>
<false/>
<key>Ignore</key>
<false/>
<key>Path</key>
<string>vmlinuz-linux-lts</string>
<key>Title</key>
<string>Arch Linux</string>
<key>Type</key>
<string>Linux</string>
<key>Volume</key>
<string>EFI</string>
<key>VolumeType</key>
<string>Internal</string>
</dict>
</array>
</dict>

PS: I'm sure nvme drives are common enough that people will recognize this, but nvmenx=fancy sdx
 
Last edited:
I had the same thing happening to me where I could see the linux drive icon to boot after the .plist changes, the drive clover labeled it was called vmlinuz and it would show up, I would select it, then a black screen afterwards, no progress from there. After I ran created the efi boot entry with efibootmgr it was then labeled as "Arch Linux" by clover and booted after that. It's worth noting that I've been booting an Arch Linux drive for years without having to do any of this but all of that time I was using grub. So in my head I'm thinking that Grub creates a workable efi boot entry and that Clover will correctly scan for grub. I can't be sure exactly though because as I've said all documentation is super vague on what specifications Clover is actually looking for. The bootctl method uses the systemd bootloader rather than Grub which also means you're not getting the fallback kernel option in case a kernel update breaks the system. Something I haven't seen happen even after years of using Arch but this can seemingly be easily added with another boot entry option pointing to the fallback image. If I get that fallback image option working and do some more testing I'll do a proper writeup tutorial so I'm not just guessing at what works.

As far as wanting to change background and lockscreen pics... Are you referring to the Desktop Environment when you boot Linux? If so what Desktop Environment is it?

Edit: I just referenced the video that you said you followed, looks like he installed gnome as the Desktop Environment. I'm not super familiar with Gnome, I'm currently using Cinnamon. If you're not liking Gnome Desktop you can do a "sudo pacman -S cinnamon" to install the Cinnamon Environment and it should then be an option in your login settings to choose Cinnamon rather than Gnome.

I just found the palm to the head option for this. From Arch: "sudo cp /boot/vmlinuz-linux /" This just puts a copy into your root. You can still access systemd via bios this way!!
 
Last edited:
Got it fixed today

here's the changes for the custom entry:

<key>GUI</key>
<dict>
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>
<key>AddArguments</key>
<string>root=UUID=7c147578-19c6-4283-8181-d4d0e7281b9c rw add_efi_memmap initrd=/initramfs-linux.img</string>
<key>Disabled</key>
<false/>
<key>Ignore</key>
<false/>
<key>Path</key>
<string>vmlinuz-linux</string>
<key>Title</key>
<string>Arch Linux</string>
<key>Type</key>
<string>Linux</string>
<key>Volume</key>
<string>EFI</string>
<key>VolumeType</key>
<string>Internal</string>
</dict>
</array>
</dict>
Some years later I succeeded with a Manjaro-Arch installation "on top" of an existing MacOS High Sierra one, used for years on my hp-2570p elitebook.

I'm a total newbie to Linux, my internal Atheros card just got broke, so I could not try efibootmgr (not on the live CD) tricks or download other SW …


Well, building on katiepea's plist (and others) I found these items essential for a successful install on my system:
  • "AddArguments" can either define root as "UUID", "PARTUUID" or "/dev/sdx".
  • "Volume" MUST use "EFI" as none of the above work – Clover otherwise doesn't even display a Linux button.
  • "Path" in my case was Manjaro's custom "vmlinuz-4.19-x86_64"
    ("Path" may use "\" or let it be … just as "Arguments" may have an "Add…" part – or not.)

  • Partitioning my (singular) SSD I had to format system drive as "ext3"/"ext4" (used: "/" & "[X] bootable")
  • Left the EFI partition unformatted but assigned it "/boot" and also used "[X] bootable"
  • Added a swap partition.

(Not sure if I copied system drive's "/etc" from a previous try with system drive formatted as NTFS or live CD.
Anyway: 1st tries went wrong but launched an emergency shell where I used "blkid" to get PART/UUIDs …)
  • - In "/etc/fstab" added PARTUUID for "/boot" (EFI partition, "/dev/sda1") and swap partition
  • - in "etc/mkinitcpiod/linux419.preset" changed "default_image=" to "/boot/initramfs-4.19-x86_64.img"
I never used efibootmgr, grub or pacman. I edited Clover's config.plist with PrefSetter, rest with TextEdit.

This Manjaro-XFCE installation gets to login in ~6s – my much larger MacOS takes 10-13s …
Good luck to anybody who wants to try!

UPDATE:
Once I'd got the above arrangement working it was easy to change (and probably: ADD another) Linux installation.

As I actually had installed Manjaro as an exercise to later install (the allegedly Windows-like) Mint on my wife's quite lame Win-10 notebook I decided to try a simple "re-branding" of my dual boot:
  • First, installed "Mint 19.1" over Manjaro's partition (deleting Manjaro) from a live DVD
  • Second, copied "vmlinuz-4.15.0-20-generic" and "initrd.img-4.15.0-20-generic" onto a USB stick
  • Third, restarted by choosing "linux" in Clover's startup screen – again to be sent into an emergency shell
  • Launched "blkid" and noted down /dev/sda4's UUID; "EFI" and "swap" remained the same
After launching into MacOS again I …
  • Mounted my "EFI" partition and replaced Manjaro's versions of vmlinuz and initrd.img with Mint's ones
  • Renamed /etc/mkinitcpio/linux….preset to "linux415.preset" and edited it accordingly
  • Edited /etc/fstab to contain /dev/sda4's new UUID
  • Finally edited /EFI/Clover/config.plist's "Path" and "Arguments" to "vmlinuz-4.15.0-20-generic" and new UUID
(Of course I made backups of all affected files previously! Thus it would be easy to re-change installations…)
 
Last edited:
I just installed Pop_OS which uses systemd. I know a solution that is quite simple: in the EFI folder change the name of "systemd" folder to "debian", then in that folder change the name of "systemd-bootx64.efi" file to "grubx64.efi". I did this and can confirm it works.
I found this post as I was searching if there are other ways to boot systemd with Clover, but I am surprised at all the complex solutions in this post. Is there a disadvantage to changing the file names, could it cause problems when I update Linux in the future?
 
Status
Not open for further replies.
Back
Top