Honey, I broke my ZFS USB SATA SSD 1 TB disk, Oops. What can I do to fix this ZFS to boot again?

 Honey, I broke my ZFS  USB SATA SSD 1 TB disk, Oops.  What can I do to fix this ZFS to boot again?

mountroot>  zfs:arm64pool/ROOT/default 

I do have a USB to 3.3V TTL serial port from a Linux computer running minicom 115200 baud connected to 3.3V pins serial port (UART0 or UART1) on Raspberry Pi 4B:
Pin    Function
6      Ground
8      RXD
10     TXD 

I have debug messages on.   It did mount the ZFS disk files, read-only, so we can not edit files like /boot/loader.conf  or  /etc/rc.conf  We can check the ZFS parameters.

root@:/ # df -h
Filesystem                Size    Used   Avail Capacity  Mounted on
arm64pool/ROOT/default    779G     23G    756G     3%    /
devfs                     1.0K      0B    1.0K     0%    /dev
root@:/ # mount
arm64pool/ROOT/default on / (zfs, local, noatime, read-only, nfsv4acls)
devfs on /dev (devfs)
root@:/ # mount / -u
mount: /-u: No such file or directory
root@:/ # umount /
umount: unmount of / failed: Invalid argument
root@:/ # cat /etc/fstab
/dev/gpt/rootfs  /         zfs     rw,noatime 1 1
/dev/gpt/esp     /boot/efi msdosfs rw,noatime 0 0
/dev/gpt/swapfs  none      swap    sw         0 0
root@:/ # camcontrol devlist
<Samsung SSD 870 QVO 1TB 4103>     at scbus0 target 0 lun 0 (da0,pass0)
root@:/ # geom disk list
Geom name: da0
Providers:
1. Name: da0
   Mediasize: 1000204886016 (932G)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e3
   descr: Samsung SSD 870 QVO 1TB
   lunname: Samsung SSD 870 QVO 1TB 333457EBD0F2
   lunid: 3033345752406200
   ident: 333457EBD0F2
   rotationrate: unknown
   fwsectors: 63
   fwheads: 255

root@:/ # gpart status
 Name  Status  Components
da0p1      OK  da0
da0p2      OK  da0
da0p3      OK  da0
root@:/ # gpart show -lp
=>        40  1953525088    da0  GPT  (932G)
          40        2008         - free -  (1.0M)
        2048     6291456  da0p1  efibootarm  (3.0G)
     6293504  1761607680  da0p2  zfs  (840G)
  1767901184    16777216  da0p3  swap  (8.0G)
  1784678400   168846728         - free -  (81G)

root@:/ # cat /etc/fstab
/dev/gpt/rootfs  /         zfs     rw,noatime 1 1
/dev/gpt/esp     /boot/efi msdosfs rw,noatime 0 0
/dev/gpt/swapfs  none      swap    sw         0 0
root@:/ # gpart show -rp
=>        40  1953525088    da0  GPT  (932G)
          40        2008         - free -  (1.0M)
        2048     6291456  da0p1  c12a7328-f81f-11d2-ba4b-00a0c93ec93b  (3.0G)
     6293504  1761607680  da0p2  516e7cba-6ecf-11d6-8ff8-00022d09712b  (840G)
  1767901184    16777216  da0p3  516e7cb5-6ecf-11d6-8ff8-00022d09712b  (8.0G)
  1784678400   168846728         - free -  (81G)

root@:/ # cp /etc/fstab /etc/fstab_original
cp: /etc/fstab_original: Read-only file system
root@:/ # zpool list
NAME        SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
arm64pool   832G  50.2G   782G        -         -     1%     6%  1.00x    ONLINE  -
root@:/ # zfs list
NAME                                              USED  AVAIL  REFER  MOUNTPOINT
arm64pool                                        50.2G   756G    96K  /arm64pool
arm64pool/ROOT                                   23.9G   756G    96K  none
arm64pool/ROOT/default                           23.9G   756G  23.0G  /
arm64pool/ROOT/freds_first                          8K   756G   982M  /
arm64pool/home                                     96K   756G    96K  /arm64pool/home
arm64pool/poudriere                              5.21G   756G   104K  /arm64pool/poudriere
arm64pool/poudriere/jails                        2.14G   756G    96K  /arm64pool/poudriere/jails
arm64pool/poudriere/jails/ghostbsd-13-2-aarch64  2.14G   756G  2.14G  /usr/local/poudriere/jails/ghostbsd-13-2-aarch64
arm64pool/poudriere/ports                        3.07G   756G    96K  /arm64pool/poudriere/ports
arm64pool/poudriere/ports/ghostbsd_ports         3.07G   756G  3.07G  /usr/local/poudriere/ports/ghostbsd_ports
arm64pool/tmp                                    10.0M   756G  10.0M  /tmp
arm64pool/usr                                    21.0G   756G    96K  /usr
arm64pool/usr/ports                              19.8G   756G  19.8G  /usr/ports
arm64pool/usr/src                                1.25G   756G  1.25G  /usr/src
arm64pool/var                                    1.06M   756G    96K  /var
arm64pool/var/audit                                96K   756G    96K  /var/audit
arm64pool/var/crash                                96K   756G    96K  /var/crash
arm64pool/var/log                                 508K   756G   508K  /var/log
arm64pool/var/mail                                192K   756G   192K  /var/mail
arm64pool/var/tmp                                  96K   756G    96K  /var/tmp
root@:/ #

 root@:/ # zfs get mounted,canmount,mountpoint arm64pool
NAME       PROPERTY    VALUE       SOURCE
arm64pool  mounted     no          -
arm64pool  canmount    off         local
arm64pool  mountpoint  /arm64pool  local
root@:/ #

Reference this Blogpost for details and items to check for proper booting

 https://ghostbsd-arm64.blogspot.com/2023/07/learning-zfs-on-root-setup-for.html

 

If you are not sure what is currently the default boot environment, you can use:

 root@:/ # zpool get bootfs arm64pool
NAME       PROPERTY  VALUE                   SOURCE
arm64pool  bootfs    arm64pool/ROOT/default  local

root@:/ # mount
arm64pool/ROOT/default on / (zfs, local, noatime, read-only, nfsv4acls)
devfs on /dev (devfs)
root@:/ # zfs mount
arm64pool/ROOT/default          /
root@:/ # zfs mount -a
failed to lock /etc/zfs/exports.lock: Read-only file system
root@:/ #
 

 So we will zpool export arm64pool and then 

zpool import -R /mnt -N -f arm64pool  

 zfs mount -a

 

 mountroot> ?

List of GEOM managed disk devices:
  gpt/swap gpt/zfs msdosfs/EFI gpt/efibootarm da0p3 da0p2 da0p1 da0

mountroot>

 

 

shutdown -r now

 

reboot with a USB Flash Disk Drive Stick

login: root
Password:
Oct 11 12:10:59 generic login[1463]: ROOT LOGIN (root) ON ttyu0
Last login: Fri Sep 22 14:00:17 on ttyu0
FreeBSD 14.0-CURRENT (GENERIC) #0 main-n263748-b95d2237af40: Thu Jun 22 11:10:50 UTC 2023

Welcome to FreeBSD!

Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/

Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.

Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier

To change this login announcement, see motd(5).
You have mail.
root@generic:~ # df -h
Filesystem          Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs      13G    2.9G    8.6G    25%    /
devfs               1.0K      0B    1.0K     0%    /dev
/dev/msdosfs/EFI     50M     29M     21M    58%    /boot/efi
tmpfs               9.0G    4.0K    9.0G     0%    /tmp
root@generic:~ # date
Wed Oct 11 12:13:18 UTC 2023
root@generic:~ #

 

Plug in the USB 3.0 1 TB Sata SSD disk,


root@generic:~ # date
Wed Oct 11 12:47:42 UTC 2023
root@generic:~ # df -h
Filesystem          Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs      13G    2.9G    8.6G    25%    /
devfs               1.0K      0B    1.0K     0%    /dev
/dev/msdosfs/EFI     50M     29M     21M    58%    /boot/efi
tmpfs               8.9G    4.0K    8.9G     0%    /tmp
root@generic:~ # mount
/dev/ufs/rootfs on / (ufs, local, soft-updates)
devfs on /dev (devfs)
/dev/msdosfs/EFI on /boot/efi (msdosfs, local, noatime)
tmpfs on /tmp (tmpfs, local)
root@generic:~ # ls -l /mnt/arm*
total 0
root@generic:~ # ls -l /mnt
total 20
drwxr-xr-x  2 root  wheel  512 Sep 19 16:49 arm64zfs
drwxr-xr-x  2 root  wheel  512 Jul  3 21:39 efibootarm
drwxr-xr-x  2 root  wheel  512 Sep 18 07:32 esp
drwxr-xr-x  2 root  wheel  512 Sep 18 07:40 rootfs
drwxr-xr-x  2 root  wheel  512 Sep 18 09:15 zfs
root@generic:~ # ls -l /mnt/arm*
total 0
root@generic:~ # ls -l /mnt/arm64zfs
total 0
root@generic:~ # zpool list
no pools available
root@generic:~ # zfs list
no datasets available
root@generic:~ # zpool import
   pool: arm64pool
     id: 9016811727597087920
  state: ONLINE
status: Some supported features are not enabled on the pool.
        (Note that they may be intentionally disabled if the
        'compatibility' property is set.)
 action: The pool can be imported using its name or numeric identifier, though
        some features will not be available without an explicit 'zpool upgrade'.
 config:

        arm64pool   ONLINE
          gpt/zfs   ONLINE

 

 

root@generic:~ # date
Wed Oct 11 12:47:42 UTC 2023
root@generic:~ # df -h
Filesystem          Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs      13G    2.9G    8.6G    25%    /
devfs               1.0K      0B    1.0K     0%    /dev
/dev/msdosfs/EFI     50M     29M     21M    58%    /boot/efi
tmpfs               8.9G    4.0K    8.9G     0%    /tmp
root@generic:~ # mount
/dev/ufs/rootfs on / (ufs, local, soft-updates)
devfs on /dev (devfs)
/dev/msdosfs/EFI on /boot/efi (msdosfs, local, noatime)
tmpfs on /tmp (tmpfs, local)
root@generic:~ # ls -l /mnt/arm*
total 0
root@generic:~ # ls -l /mnt
total 20
drwxr-xr-x  2 root  wheel  512 Sep 19 16:49 arm64zfs
drwxr-xr-x  2 root  wheel  512 Jul  3 21:39 efibootarm
drwxr-xr-x  2 root  wheel  512 Sep 18 07:32 esp
drwxr-xr-x  2 root  wheel  512 Sep 18 07:40 rootfs
drwxr-xr-x  2 root  wheel  512 Sep 18 09:15 zfs
root@generic:~ # ls -l /mnt/arm*
total 0
root@generic:~ # ls -l /mnt/arm64zfs
total 0
root@generic:~ # zpool list
no pools available
root@generic:~ # zfs list
no datasets available
root@generic:~ # zpool import
   pool: arm64pool
     id: 9016811727597087920
  state: ONLINE
status: Some supported features are not enabled on the pool.
        (Note that they may be intentionally disabled if the
        'compatibility' property is set.)
 action: The pool can be imported using its name or numeric identifier, though
        some features will not be available without an explicit 'zpool upgrade'.
 config:

        arm64pool   ONLINE
          gpt/zfs   ONLINE
root@generic:~ # zpool import -R /mnt -N -f arm64pool  
root@generic:~ # zpool list
NAME        SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
arm64pool   832G  50.2G   782G        -         -     1%     6%  1.00x    ONLINE  /mnt
root@generic:~ # zfs mount
root@generic:~ # mount
/dev/ufs/rootfs on / (ufs, local, soft-updates)
devfs on /dev (devfs)
/dev/msdosfs/EFI on /boot/efi (msdosfs, local, noatime)
tmpfs on /tmp (tmpfs, local)
root@generic:~ # df -h
Filesystem          Size    Used   Avail Capacity  Mounted on
/dev/ufs/rootfs      13G    2.9G    8.6G    25%    /
devfs               1.0K      0B    1.0K     0%    /dev
/dev/msdosfs/EFI     50M     29M     21M    58%    /boot/efi
tmpfs               8.9G    4.0K    8.9G     0%    /tmp
root@generic:~ #  -N -f arm64pool
-sh: -N: not found
root@generic:~ #
root@generic:~ # zfs mount -a
root@generic:~ # zfs mount
arm64pool/tmp                   /mnt/tmp
arm64pool/poudriere             /mnt/arm64pool/poudriere
arm64pool/home                  /mnt/arm64pool/home
arm64pool/poudriere/jails       /mnt/arm64pool/poudriere/jails
arm64pool/poudriere/ports       /mnt/arm64pool/poudriere/ports
arm64pool/poudriere/ports/ghostbsd_ports  /mnt/usr/local/poudriere/ports/ghostbsd_ports
arm64pool/var/audit             /mnt/var/audit
arm64pool/usr/ports             /mnt/usr/ports
arm64pool/poudriere/jails/ghostbsd-13-2-aarch64  /mnt/usr/local/poudriere/jails/ghostbsd-13-2-aarch64
arm64pool/var/tmp               /mnt/var/tmp
arm64pool/usr/src               /mnt/usr/src
arm64pool/var/mail              /mnt/var/mail
arm64pool/var/log               /mnt/var/log
arm64pool/var/crash             /mnt/var/crash
root@generic:~ #

Okay,  we now have the files mounted.  I can edit /mnt/etc/fstab file

 

zpool import -R /mnt -N -f arm64pool

mount -t zfs arm64pool/ROOT/default /mnt

root@generic:/mnt/etc # zfs mount
arm64pool/ROOT/default          /mnt
arm64pool/tmp                   /mnt/tmp
arm64pool/home                  /mnt/arm64pool/home
arm64pool/poudriere             /mnt/arm64pool/poudriere
arm64pool/usr/src               /mnt/usr/src
arm64pool/usr/ports             /mnt/usr/ports
arm64pool/poudriere/ports       /mnt/arm64pool/poudriere/ports
arm64pool/var/log               /mnt/var/log
arm64pool/var/mail              /mnt/var/mail
arm64pool/poudriere/jails/ghostbsd-13-2-aarch64  /mnt/usr/local/poudriere/jails/ghostbsd-13-2-aarch64
arm64pool/var/tmp               /mnt/var/tmp
arm64pool/var/crash             /mnt/var/crash
arm64pool/var/audit             /mnt/var/audit
arm64pool/poudriere/jails       /mnt/arm64pool/poudriere/jails
arm64pool/poudriere/ports/ghostbsd_ports  /mnt/usr/local/poudriere/ports/ghostbsd_ports
root@generic:/mnt/etc #
root@generic:/mnt/etc # date
Wed Oct 11 13:18:11 UTC 2023
root@generic:/mnt/etc #
 

vi /mnt/etc/fstab

 cat /mnt/etc/fstab
# /dev/gpt/rootfs  /         zfs     rw,noatime 1 1
/dev/gpt/esp     /boot/efi msdosfs rw,noatime 0 0
/dev/gpt/swapfs  none      swap    sw         0 0
 

root@generic:/mnt/etc # zpool get bootfs arm64pool
NAME       PROPERTY  VALUE                   SOURCE
arm64pool  bootfs    arm64pool/ROOT/default  local
root@generic:/mnt/etc # zfs get mounted,canmount,mountpoint arm64pool
NAME       PROPERTY    VALUE           SOURCE
arm64pool  mounted     no              -
arm64pool  canmount    off             local
arm64pool  mountpoint  /mnt/arm64pool  local
root@generic:/mnt/etc # zfs set canmount=noauto arm64pool
root@generic:/mnt/etc # zfs get mounted,canmount,mountpoint arm64pool
NAME       PROPERTY    VALUE           SOURCE
arm64pool  mounted     no              -
arm64pool  canmount    noauto          local
arm64pool  mountpoint  /mnt/arm64pool  local
root@generic:/mnt/etc #
 

 https://klarasystems.com/articles/manipulating-a-pool-from-the-rescue-system/  Manipulating a pool from the rescue system

 https://gist.github.com/jwatzman/8a53dcdd3084d595c6d5918f4a2a0527

 Shell Script for creating zfs file systems  Compare line by line each zfs file system created by the shell script with the actual file system on the USB SATA SSD disk.

vdev_geom_attach:219[1]: Attaching to msdosfs/EFI.
vdev_geom_attach:263[1]: Created geom and consumer for msdosfs/EFI.
vdev_geom_read_config:457[1]: Reading config from msdosfs/EFI...
vdev_geom_detach:315[1]: Detaching from msdosfs/EFI.
vdev_geom_detach:326[1]: Destroying consumer for msdosfs/EFI.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_geom_attach:219[1]: Attaching to gpt/efibootarm.
vdev_geom_attach:263[1]: Created geom and consumer for gpt/efibootarm.
vdev_geom_read_config:457[1]: Reading config from gpt/efibootarm...
vdev_geom_detach:315[1]: Detaching from gpt/efibootarm.
vdev_geom_detach:326[1]: Destroying consumer for gpt/efibootarm.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_geom_attach:219[1]: Attaching to da0.
vdev_geom_attach:263[1]: Created geom and consumer for da0.
vdev_geom_read_config:457[1]: Reading config from da0...
vdev_geom_detach:315[1]: Detaching from da0.
vdev_geom_detach:326[1]: Destroying consumer for da0.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_geom_open_by_path:799[1]: Found provider by name /dev/gpt/zfs.
vdev_geom_attach:219[1]: Attaching to gpt/zfs.
vdev_geom_attach:263[1]: Created geom and consumer for gpt/zfs.
vdev_geom_read_config:457[1]: Reading config from gpt/zfs...
vdev_geom_detach:315[1]: Detaching from gpt/zfs.
vdev_geom_detach:326[1]: Destroying consumer for gpt/zfs.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_attach_ok:696[1]: guids match for provider gpt/zfs.
vdev_geom_attach:219[1]: Attaching to gpt/zfs.
vdev_geom_attach:263[1]: Created geom and consumer for gpt/zfs.
vdev_geom_close_locked:352[1]: Closing access to gpt/zfs.
vdev_geom_detach:315[1]: Detaching from gpt/zfs.
vdev_geom_detach:326[1]: Destroying consumer for gpt/zfs.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_geom_open_by_path:799[1]: Found provider by name /dev/gpt/zfs.
vdev_geom_attach:219[1]: Attaching to gpt/zfs.
vdev_geom_attach:263[1]: Created geom and consumer for gpt/zfs.
vdev_geom_read_config:457[1]: Reading config from gpt/zfs...
vdev_geom_detach:315[1]: Detaching from gpt/zfs.
vdev_geom_detach:326[1]: Destroying consumer for gpt/zfs.
vdev_geom_detach:333[1]: Destroyed geom zfs::vdev.
vdev_attach_ok:696[1]: guids match for provider gpt/zfs.
vdev_geom_attach:219[1]: Attaching to gpt/zfs.
vdev_geom_attach:263[1]: Created geom and consumer for gpt/zfs.
zvol_os_create_minor:1396[1]: Creating ZVOL arm64pool/ROOT/freds_first...
Warning: no time-of-day clock registered, system time will not be set accurately
Dual Console: Serial Primary, Video Secondary
Setting hostuuid: 30303031-3030-3030-6633-303631333234.
Setting hostid: 0xc34c5039.
swapon: /dev/gpt/swapfs: No such file or directory
Starting file system checks:
fsck: exec fsck_zfs for /dev/gpt/rootfs in /sbin:/usr/sbin: No such file or directory
fsck: exec fsck_zfs for /dev/gpt/rootfs in /sbin:/usr/sbin: No such file or directory
Unknown error 1; help!
ERROR: ABORTING BOOT (sending SIGTERM to parent)!
1969-12-31T16:00:15.626261-08:00 - init 1 - - /bin/sh on /etc/rc terminated abnormally, going to single user mode
Enter full pathname of shell or RETURN for /bin/sh:
root@:/ # mount
arm64pool/ROOT/default on / (zfs, local, noatime, read-only, nfsv4acls)
devfs on /dev (devfs)
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime  arm64pool
NAME       PROPERTY    VALUE       SOURCE
arm64pool  mounted     no          -
arm64pool  canmount    noauto      local
arm64pool  mountpoint  /arm64pool  local
arm64pool  setuid      on          default
arm64pool  atime       off         local
root@:/ # zfs mount
arm64pool/ROOT/default          /
root@:/ # zfs list
NAME                                              USED  AVAIL  REFER  MOUNTPOINT
arm64pool                                        50.2G   756G    96K  /arm64pool
arm64pool/ROOT                                   23.9G   756G    96K  none
arm64pool/ROOT/default                           23.9G   756G  23.0G  /
arm64pool/ROOT/freds_first                          8K   756G   982M  /
arm64pool/home                                     96K   756G    96K  /arm64pool/home
arm64pool/poudriere                              5.21G   756G   104K  /arm64pool/poudriere
arm64pool/poudriere/jails                        2.14G   756G    96K  /arm64pool/poudriere/jails
arm64pool/poudriere/jails/ghostbsd-13-2-aarch64  2.14G   756G  2.14G  /usr/local/poudriere/jails/ghostbsd-13-2-aarch64
arm64pool/poudriere/ports                        3.07G   756G    96K  /arm64pool/poudriere/ports
arm64pool/poudriere/ports/ghostbsd_ports         3.07G   756G  3.07G  /usr/local/poudriere/ports/ghostbsd_ports
arm64pool/tmp                                    10.0M   756G  10.0M  /tmp
arm64pool/usr                                    21.0G   756G    96K  /usr
arm64pool/usr/ports                              19.8G   756G  19.8G  /usr/ports
arm64pool/usr/src                                1.25G   756G  1.25G  /usr/src
arm64pool/var                                    1.06M   756G    96K  /var
arm64pool/var/audit                                96K   756G    96K  /var/audit
arm64pool/var/crash                                96K   756G    96K  /var/crash
arm64pool/var/log                                 508K   756G   508K  /var/log
arm64pool/var/mail                                192K   756G   192K  /var/mail
arm64pool/var/tmp                                  96K   756G    96K  /var/tmp
root@:/ #

 

 https://wiki.freebsd.org/RootOnZFS/

https://wiki.freebsd.org/RootOnZFS/ZFSBootPartition 

https://jmmv.dev/2013/07/installing-freebsd-with-zfs-root-on.html G5 powerMac install FreeBSD with zfs root

https://www.leidinger.net/blog/2011/05/03/another-root-on-zfs-howto-optimized-for-4k-sector-drives/  With 4k sector drivers (like in a SSD from 2023)



inside file /boot/loader.conf  set these 5 lines

zfs_load="YES"

kern.geom.label.disk_ident.enable=0

kern.geom.label.gptid.enable=0

#vfs.root.mountfrom="zfs:zroot"

vfs.root.mountfrom="zfs:arm64pool"

inside file /etc/rc.conf  add/set this line

zfs_enable="YES”


Howto Change from ReadOnly to ReadWrite ZFS

root@:/ # zdb arm64pool | grep ashift                                                                                                                                          
zdb: can't open 'arm64pool': No such file or directory
root@:/ # zdb boot
zdb: can't open 'boot': No such file or directory

ZFS_DBGMSG(zdb) START:
ZFS_DBGMSG(zdb) END
root@:/ # zdb
cannot open '/etc/zfs/zpool.cache': No such file or directory
root@:/ # zfs get readonly arm64pool/ROOT/default
NAME                    PROPERTY  VALUE   SOURCE
arm64pool/ROOT/default  readonly  on      temporary
root@:/ # zfs set readonly=off arm64pool/ROOT/default
root@:/ #
 

https://docs.freebsd.org/en/books/handbook/zfs/  FreeBSD Handbook on ZFS

https://docs.zfsbootmenu.org/en/v2.2.x/ ZFS Bootmenu

https://wiki.archlinux.org/title/Install_Arch_Linux_on_ZFS iNSTALL Arch Linux on ZFS,  Good Reading for information

 

 Change /  root  arm64pool/ROOT/default  canmount from noauto to on


root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool/ROOT/default
NAME                    PROPERTY    VALUE       SOURCE
arm64pool/ROOT/default  mounted     yes         -
arm64pool/ROOT/default  canmount    noauto      local
arm64pool/ROOT/default  mountpoint  /           local
arm64pool/ROOT/default  setuid      on          default
arm64pool/ROOT/default  atime       off         inherited from arm64pool
arm64pool/ROOT/default  exec        on          default
root@:/ # zfs set canmount=on arm64pool/ROOT/default
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool/ROOT/default                                                                                        
NAME                    PROPERTY    VALUE       SOURCE
arm64pool/ROOT/default  mounted     yes         -
arm64pool/ROOT/default  canmount    on          local
arm64pool/ROOT/default  mountpoint  /           local
arm64pool/ROOT/default  setuid      on          default
arm64pool/ROOT/default  atime       off         inherited from arm64pool
arm64pool/ROOT/default  exec        on          default
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool/ROOT
NAME            PROPERTY    VALUE       SOURCE
arm64pool/ROOT  mounted     no          -
arm64pool/ROOT  canmount    on          default
arm64pool/ROOT  mountpoint  none        local
arm64pool/ROOT  setuid      on          default
arm64pool/ROOT  atime       off         inherited from arm64pool
arm64pool/ROOT  exec        on          default
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool
NAME       PROPERTY    VALUE       SOURCE
arm64pool  mounted     no          -
arm64pool  canmount    noauto      local
arm64pool  mountpoint  /arm64pool  local
arm64pool  setuid      on          default
arm64pool  atime       off         local
arm64pool  exec        on          default
root@:/ # zfs set canmount=noauto arm64pool/ROOT                                                                                                                               
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool
NAME       PROPERTY    VALUE       SOURCE
arm64pool  mounted     no          -
arm64pool  canmount    noauto      local
arm64pool  mountpoint  /arm64pool  local
arm64pool  setuid      on          default
arm64pool  atime       off         local
arm64pool  exec        on          default
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool/ROOT
NAME            PROPERTY    VALUE       SOURCE
arm64pool/ROOT  mounted     no          -
arm64pool/ROOT  canmount    noauto      local
arm64pool/ROOT  mountpoint  none        local
arm64pool/ROOT  setuid      on          default
arm64pool/ROOT  atime       off         inherited from arm64pool
arm64pool/ROOT  exec        on          default
root@:/ # zfs get mounted,canmount,mountpoint,setuid,atime,exec  arm64pool/ROOT/default
NAME                    PROPERTY    VALUE       SOURCE
arm64pool/ROOT/default  mounted     yes         -
arm64pool/ROOT/default  canmount    on          local
arm64pool/ROOT/default  mountpoint  /           local
arm64pool/ROOT/default  setuid      on          default
arm64pool/ROOT/default  atime       off         inherited from arm64pool
arm64pool/ROOT/default  exec        on          default
root@:/ #
 

Comments

Popular posts from this blog

FreeBSD 14.0 Compiling kernel for Raspberry Pi 4B

HDMI Audio sound patches into GhostBSD source code /usr/ghost14/ghostbsd-src SOLVED Jan20 2024

How to install GhostBSD-Arm64 into a USB Flash Drive stick April 24, 2024 update edition.