Solved How to add efi part to my gmirror

Hello.

I try to make RAID1 with
zfs and gmirror

What I have:
Code:
root@cpkio:/home/sailorsamoor # gpart show
=>       40  500118112  ada0  GPT  (238G)
         40     532480     1  efi  (260M)
     532520       1024     2  freebsd-boot  (512K)
     533544        984        - free -  (492K)
     534528    4194304     3  freebsd-swap  (2.0G)
    4728832  495388672     4  freebsd-zfs  (236G)
  500117504        648        - free -  (324K)

=>       40  500118112  ada1  GPT  (238G)
         40     532480     1  efi  (260M)
     532520       1024     2  freebsd-boot  (512K)
     533544        984        - free -  (492K)
     534528    4194304     3  freebsd-swap  (2.0G)
    4728832  495388672     4  freebsd-zfs  (236G)
  500117504        648        - free -  (324K)
root@cpkio:/home/sailorsamoor #
Code:
zpool status -v
zroot        236G  49.6G   186G        -         -     0%    21%  1.00x    ONLINE  -
  mirror-0   236G  49.6G   186G        -         -     0%  21.0%      -    ONLINE
    ada0p4   236G      -      -        -         -      -      -      -    ONLINE
    ada1p4   236G      -      -        -         -      -      -      -    ONLINE
root@cpkio:/home/sailorsamoor #
Code:
root@cpkio:/home/sailorsamoor # gmirror status
       Name    Status  Components
mirror/boot  COMPLETE  ada0p2 (ACTIVE)
                       ada1p2 (ACTIVE)
mirror/swap  COMPLETE  ada0p3 (ACTIVE)
                       ada1p3 (ACTIVE)
root@cpkio:/home/sailorsamoor #
Code:
root@cpkio:/home/sailorsamoor # ls /dev/mirror/
boot    swap
root@cpkio:/home/sailorsamoor #
Code:
root@cpkio:/home/sailorsamoor # cat /etc/fstab
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/gpt/efiboot0               /boot/efi       msdosfs rw              2       2
/dev/mirror/swap                none    swap    sw              0       0
root@cpkio:/home/sailorsamoor #
I do not see 'efi' part. If I try do, I get accordingly this:
Code:
root@cpkio:/home/sailorsamoor # gmirror label -vb round-robin efi /dev/ada0p1
gmirror: Can't store metadata on /dev/ada0p1: Operation not permitted.
root@cpkio:/home/sailorsamoor #
and accordingly I get
Code:
root@cpkio:/home/sailorsamoor # gmirror insert efi /dev/ada1p1
gmirror: No such device: efi.
root@cpkio:/home/sailorsamoor #

What was I wrong about? Thank you.
 
gmirror wants to store metadata on the last block of the providers
it probably wont't do it if the provider is mounted (also its a bit risky to have it overwrite a fs because it can be overwritten again in the future)
so you may backup ada0p1, umount it, create mirror newfs msdos it and restore, fix fstab, etc
 
From the man page,

Code:
gmirror label -v -b split -s 2048 data da0 da1 da2
newfs /dev/mirror/data
gmirror label -v -b round-robin data da0
gmirror insert data da1
 
Mirroring the EFI System Partition with gmirror(8) is a bad idea. You can only create problems for yourself if you do that. The EFI partitions very rarely change. You can keep both of them the same manually, by always applying the changes you do to one of them also to the other.

Similarly, mirroring the freebsd-boot partitions is a bad idea. They are also rarely updated and when you update one of them, you can also update the other.
 
I tried to do my best. No matter what I did, the system booted from only one disk. The only thing that helped was: dd if=/dev/gpt/efiboot0 of=/dev/gpt/efiboot1
https://www.reddit.com/r/freebsd/comments/1do5gm8/freebsd_141_efi_boot_loader_update_on_zfs_mirror/
Now I have two SSD:
Code:
sailorsamoor@cpkio:~ $ gpart show
=>       40  500118112  ada0  GPT  (238G)
         40     532480     1  efi  [bootme]  (260M)
     532520       2008        - free -  (1.0M)
     534528    4194304     2  freebsd-swap  (2.0G)
    4728832  495388672     3  freebsd-zfs  (236G)
  500117504        648        - free -  (324K)

=>       40  500118112  ada1  GPT  (238G)
         40     532480     1  efi  [bootme]  (260M)
     532520       2008        - free -  (1.0M)
     534528    4194304     2  freebsd-swap  (2.0G)
    4728832  495388672     3  freebsd-zfs  (236G)
  500117504        648        - free -  (324K)

sailorsamoor@cpkio:~ $ gmirror status
       Name    Status  Components
mirror/swap  COMPLETE  ada0p2 (ACTIVE)
                       ada1p2 (ACTIVE)
sailorsamoor@cpkio:~ $ zpool status -v
  pool: zroot
 state: ONLINE
  scan: resilvered 708K in 00:00:00 with 0 errors on Mon Aug 11 16:00:20 2025
config:

NAME        STATE     READ WRITE CKSUM
zroot       ONLINE       0     0     0
  mirror-0  ONLINE       0     0     0
    ada0p3  ONLINE       0     0     0
    ada1p3  ONLINE       0     0     0

errors: No known data errors
 
Back
Top