```
# sysctl kern.features.geom_part_ebr_compat kern.geom.part.ebr.compat_aliases
kern.features.geom_part_ebr_compat: 1
kern.geom.part.ebr.compat_aliases: 1
# mdconfig -a -t swap -s 200
md0
# gpart create -s mbr md0
md0 created
# gpart add -t ebr -i 4 md0
md0s4 added
# gpart create -s ebr md0s4
md0s4 created
# gpart add -t freebsd md0s4
md0s4+00000001 added
# ls -l /dev/md0s*
crw-r----- 1 root operator 0, 59 May 21 21:39 /dev/md0s4
crw-r----- 1 root operator 0, 60 May 21 21:42 /dev/md0s4+00000001
lrwxr-xr-x 1 root wheel 14 May 21 21:42 /dev/md0s5 -> md0s4+00000001
```
Splitting a middle EBR partition:
```
# gpart show
...
=> 1 199 md0 MBR (100K)
1 199 4 ebr (100K)
=> 0 199 md0s4 EBR (100K)
0 2 1 freebsd (512B)
2 50 3 freebsd (25K)
52 50 53 freebsd (25K)
102 50 103 freebsd (25K)
152 47 153 freebsd (23K)
# ls -l /dev/md0s*
crw-r----- 1 root operator 0, 59 May 21 21:39 /dev/md0s4
crw-r----- 1 root operator 0, 60 May 21 21:58 /dev/md0s4+00000001
crw-r----- 1 root operator 0, 62 May 22 07:14 /dev/md0s4+00000003
crw-r----- 1 root operator 0, 64 May 22 07:14 /dev/md0s4+00000053
crw-r----- 1 root operator 0, 96 May 22 07:14 /dev/md0s4+00000103
crw-r----- 1 root operator 0, 99 May 22 07:14 /dev/md0s4+00000153
lrwxr-xr-x 1 root wheel 14 May 21 21:58 /dev/md0s5 -> md0s4+00000001
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s6 -> md0s4+00000003
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s7 -> md0s4+00000053
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s8 -> md0s4+00000103
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s9 -> md0s4+00000153
# gpart delete -i 3 md0s4
md0s4+00000003 deleted
# ls -l /dev/md0s*
...
lrwxr-xr-x 1 root wheel 14 May 21 21:58 /dev/md0s5 -> md0s4+00000001
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s7 -> md0s4+00000053
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s8 -> md0s4+00000103
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s9 -> md0s4+00000153
# gpart add -t freebsd -s 25 md0s4
g_dev_taste: make_dev_alias_p() failed (name=md0s9, error=17) # <<< our alias unit number does not utilize g_part's built-in index uniqueing.
md0s4+00000003 added
# gpart add -t freebsd -s 25 md0s4
md0s4+00000028 added
# ls -l /dev/md0s*
...
lrwxr-xr-x 1 root wheel 14 May 21 21:58 /dev/md0s5 -> md0s4+00000001
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s7 -> md0s4+00000053
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s8 -> md0s4+00000103
lrwxr-xr-x 1 root wheel 14 May 22 07:14 /dev/md0s9 -> md0s4+00000153
lrwxr-xr-x 1 root wheel 14 May 22 07:19 /dev/md0s10 -> md0s4+00000028
# N.B., no symlink for EBR partition +03 and the numbering for +28 is out of order. This is mildly ugly but I figure it is not a regression with compat mode, as compat mode never allowed editing the part table. And the non-compat mode never had the compat symlinks.
```
"Reboot" by saving the `md` image and restoring it.
```
# dd if=/dev/md0 of=./md0.ebr.img
# mdconfig -d -u 0
# ls /dev/md0*
ls: cannot access '/dev/md0*': No such file or directory
# mdconfig -a -f ./md0.ebr.img
g_dev_taste: make_dev_alias_p() failed (name=md0s0, error=17) # Mmm, these are bugs.
g_dev_taste: make_dev_alias_p() failed (name=md0s0, error=17)
g_dev_taste: make_dev_alias_p() failed (name=md0s0, error=17)
g_dev_taste: make_dev_alias_p() failed (name=md0s0, error=17)
g_dev_taste: make_dev_alias_p() failed (name=md0s0, error=17)
md0
# gpart show
=> 0 199 md0s4 EBR (100K)
0 2 1 freebsd (512B)
2 25 3 freebsd (12K)
27 25 28 freebsd (12K)
52 50 53 freebsd (25K)
102 50 103 freebsd (25K)
152 47 153 freebsd (23K)
# ls -l /dev/md0*
rwxr-xr-x 1 root wheel 14 May 22 07:25 /dev/md0s0 -> md0s4+00000001
crw-r----- 1 root operator 0, 59 May 22 07:25 /dev/md0s4
crw-r----- 1 root operator 0, 60 May 22 07:25 /dev/md0s4+00000001
crw-r----- 1 root operator 0, 62 May 22 07:25 /dev/md0s4+00000003
crw-r----- 1 root operator 0, 63 May 22 07:25 /dev/md0s4+00000028
crw-r----- 1 root operator 0, 64 May 22 07:25 /dev/md0s4+00000053
crw-r----- 1 root operator 0, 93 May 22 07:25 /dev/md0s4+00000103
crw-r----- 1 root operator 0, 96 May 22 07:25 /dev/md0s4+00000153
```
So that is totally wrong, will fix. But the expected fixed output is md0s6 -> +003, s7 -> +028, s8 -> +053, etc.