Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Sep 2024 13:02:03 +0200
From:      Ludovit Koren <ludovit.koren@gmail.com>
To:        Karl Vogel <vogelke@pobox.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: ZFS boot devices specification
Message-ID:  <8634md11w4.fsf@gmail.com>
In-Reply-To: <ZtqauS9lqXPBosBR@furbag.my.domain> (Karl Vogel's message of "Fri, 6 Sep 2024 02:01:29 -0400")
References:  <86y146zbef.fsf@gmail.com> <ZtqauS9lqXPBosBR@furbag.my.domain>

next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> Karl Vogel <vogelke@pobox.com> writes:

    >>> On Thu, 05 Sep 2024 05:40:43 -0400,
    >>> Ludovit Koren <ludovit.koren@gmail.com> may have said:

    >> I cannot find the recommended way to specify the devices to boot
    >> from on 13.4-STABLE FreeBSD 13.4-STABLE stable/13-n258224-f702110bc4bc.
    >> I am using internal disks for the system and external for data.

    >> The problem occurs when the disks from data array are assigned to
    >> /dev/da0 and /dev/da1.  The booting process starts and finishes on
    >> remounting root RW, because it cannot find root file system.
    >> It depends on the order of hardware initialization.

    >> What is the recommended way of specifying internal disks in ZFS,
    >> something like disks uid? The mount process tries to mount ZFS
    >> gpt/zfs0 and gpt/zfs1 (which are shown in zpool status), but they are
    >> not on /dev/da0 and /dev/da1.

    > When I installed 13.2, I had a problem finding the root filesystem.
    > I got this far, did the reboot thing...

    >     Install FreeBSD Handbook?       yes (requires network)
    >         Language (en)               <empty>

    >     Final configuration             Exit
    >     Open shell                      No
    >     Complete                        Reboot

    > ...and I ran into this:

    >     Mount from zroot/ROOT/default failed with error 6
    mountroot> 

    > The default setting was vfs.root.mountfrom=zfs:zroot/ROOT/default

    > I fired up Live CD and ran gpart to see where things wound up -- abbreviated
    > for readability:

    >     root# gpart list
    >     Geom name: ada0

    >         Providers:
    >         1. Name: ada0p1
    >            Mediasize: 272629760 (260M)
    >            label: efiboot0
    >            type: efi

    >         2. Name: ada0p2
    >            Mediasize: 524288 (512K)
    >            label: gptboot0
    >            type: freebsd-boot

    >         3. Name: ada0p3
    >            Mediasize: 4294967296 (4.0G)
    >            label: swap0
    >            type: freebsd-swap

    >         4. Name: ada0p4
    >            Mediasize: 995635494912 (927G)
    >            label: zfs0
    >            type: freebsd-zfs

    >         Consumers:
    >         1. Name: ada0
    >            Mediasize: 1000204886016 (932G)
    >            Sectorsize: 512
    >            Mode: r3w3e6

    >     Geom name: ada1

    >         Providers:
    >         1. Name: ada1p1
    >            Mediasize: 272629760 (260M)
    >            label: efiboot1
    >            type: efi

    >         2. Name: ada1p2
    >            Mediasize: 524288 (512K)
    >            label: gptboot1
    >            type: freebsd-boot

    >         3. Name: ada1p3
    >            Mediasize: 4294967296 (4.0G)
    >            label: swap1
    >            type: freebsd-swap

    >         4. Name: ada1p4
    >            Mediasize: 995635494912 (927G)
    >            label: zfs1
    >            type: freebsd-zfs

    >         Consumers:
    >         1. Name: ada1
    >            Mediasize: 1000204886016 (932G)

    >     Geom name: ada2                 [this is from the previous OS]

    >         Providers:
    >         1. Name: ada2p1
    >            label: (null)
    >            type: linux-lvm

    >         Consumers:
    >         1. Name: ada2
    >            Mediasize: 3000592982016 (2.7T)

    >     Geom name: ada3

    >         Providers:
    >         1. Name: ada3p1
    >            Mediasize: 209715200 (200M)
    >            label: efiboot3
    >            type: efi

    >         2. Name: ada3p2
    >            Mediasize: 2147483648 (2.0G)
    >            label: swap3
    >            type: freebsd-swap

    >         3. Name: ada3p3
    >            Mediasize: 2998234251264 (2.7T)
    >            label: zfs3
    >            type: freebsd-zfs

    >         Consumers:
    >         1. Name: ada3
    >            Mediasize: 3000592982016 (2.7T)

    >     Geom name: da0      [This is my SSD]

    >         Providers:
    >         1. Name: da0p1
    >            Mediasize: 272629760 (260M)
    >            label: efiboot2
    >            type: efi

    >         2. Name: da0p2
    >            Mediasize: 524288 (512K)
    >            label: gptboot2
    >            type: freebsd-boot

    >         3. Name: da0p3
    >            Mediasize: 4294967296 (4.0G)
    >            label: swap2
    >            type: freebsd-swap

    >         4. Name: da0p4
    >            Mediasize: 995635494912 (927G)
    >            label: zfs2
    >            type: freebsd-zfs

    >         Consumers:
    >         1. Name: da0
    >            Mediasize: 1000204886016 (932G)

    > Turns out that "zpool import" can use the gpart stuff to import existing
    > pools for use:

    >     root# zpool import
    >       pool: zroot
    >      state: ONLINE
    >     action: can be imported using pool name or numeric ID

    >     config:
    >          NAME        STATE
    >          zroot       ONLINE
    >            mirror-0  ONLINE
    >              ada0p4  ONLINE
    >              ada1p4  ONLINE
    >              da0p4   ONLINE

    > I tried "zpool import zroot" but the system said the a pool with that
    > name already exists.  Running "zpool list" crashed immediately.

    mountroot> zfs:zroot/ada0p4

    > also failed.  Booted from DVD and used a different pool name:

    mountroot> cd9660:/dev/cd0 ro
    >     (press return for /bin/sh)

    >     # zpool import newroot

    > When booting from DVD, you can also go to Shell and run this:

    >     # zfs mount newroot/ROOT/default

    > It mounted as /, which conflicted with the DVD but at least let me modify
    > files.  I editied /boot/loader.conf and added the mountfrom= line:

    >     root# cp /boot/loader.conf /boot/loader.conf.orig
    >     root# vi /boot/loader.conf

    >     root# cat /boot/loader.conf
    >     kern.geom.label.disk_ident.enable="0"
    >     kern.geom.label.gptid.enable="0"
    >     cryptodev_load="YES"
    >     zfs_load="YES"
    >     vfs.root.mountfrom="zfs:newroot/ROOT/default"

    > After that, the system came up without problems.  Hope this helps.

Hello Kurt,

both

kern.geom.label.disk_ident.enable="0"
kern.geom.gptid.enable="0"

I already had in /boot/loader.conf. So these kernel variable settings do
not solve the problem.

Regards,

lk



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8634md11w4.fsf>