Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jun 2022 11:35:01 -0700
From:      David Christensen <dpchrist@holgerdanske.com>
To:        freebsd-questions@freebsd.org
Subject:   BIOS/MBR drive enumeration order, FreeBSD dev nodes, GELI ZFS root, and ZFS boot
Message-ID:  <ebcf14da-016f-3906-34be-2a24a1b71aa5@holgerdanske.com>

next in thread | raw e-mail | index | archive | help
freebsd-questions:


I have a desktop computer:

     Intel DQ67SW motherboard
     Intel Core i7-2600S processor
     Corsair CMV8GX3M2A1333C9 2 @ 4 GB memory module kit
     Intel 520 Series SSD 60 GB


EFI is disabled in CMOS Setup.


FreeBSD was installed onto the SSD with a USB flash drive containing:

     FreeBSD-12.3-RELEASE-amd64-memstick.img


As follows:

     FreeBSD - Welcome to FreeBSD        Boot Multi user
     FreeBSD Installer - Welcome Install
     Keymap Selection            Continue with default keymap
     Set Hostname                        f4.tracy.holgerdanske.com
     Distribution Selection              <unselect all options>
     Partitioning                        Auto (ZFS)
         Pool Type/Disks         stripe: 1 disk
                                     ada0 INTEL SSDSC2CW060A3
         Pool Name                       f4_zroot
         Force 4K Sectors                YES
         Encrypt Disks           YES
         Partition Scheme                MBR (BIOS)
         Swap Size                       2g
         Mirror Swap                     YES
         Encrypt Swap            YES
         >>> Install                     Proceed with installation
     ZFS Configuration
         Last Chance!            YES
         Enter a strong passphrase       ********
         Re-enter password               ********
     Root - New Password         ********
     Retype New Password         ********
     Network Configuration               em0
     Configure IPv4                      Yes
     Use DHCP                    Yes
     Configure IPv6                      No
     Search                              tracy.holgerdanske.com
     IPv4 DNS #1                 192.168.5.1
     IPv4 DNS #2                 208.67.222.222
     CMOS clock set to UTC               Yes
     Time Zone
         Region                  America -- North and South
         Country or region               United States of America
         Zone                    Pacific
     Time & Date - month, year, day      <verify>
     Time & Data - time          <verify>
     Services to start at boot   sshd, ntpdate, ntpd, powerd
     System hardening options    <none>
     Add users                   No
     Final configuration         Exit
     Open shell                  No
     Complete                    Reboot


On May 29, 2022, I upgraded to:

     2022-06-20 10:48:55 toor@f4 ~
     # freebsd-version ; uname -a
     12.3-RELEASE-p5
     FreeBSD f4.tracy.holgerdanske.com 12.3-RELEASE-p5 FreeBSD 
12.3-RELEASE-p5 GENERIC  amd64


When I boot the machine, I see a prompt:

     GELI Passphrase:


If I enter the correct passphrase, boot succeeds.


If I enter an incorrect passphrase, I see another prompt later in boot:

     Enter passphrase for ada0s1d:


Note that "ada0" corresponds to the device node name of the SSD when 
FreeBSD was installed.


If I enter the correct passphrase, boot continues and succeeds.


I would now like to use the computer to examine an EIDE HDD.


I have installed a HBA:

     Promise Technology Ultra 133 TX2


Connected the HDD to the HBA:

     Maxtor 6L200P0


And set the CMOS Setup boot order so that the SSD is before the HDD.


When I boot the machine I see the first prompt:

     GELI Passphrase:


No matter what passphrase I enter, I always see the second prompt:

     Enter passphrase for ada1s1d:


Note that "ada1" no longer corresponds to the device node name of the 
SSD when FreeBSD was installed.  (I suspect the HDD is "ada0".)


No matter what passphrase I enter at the second prompt, it is always 
rejected.  FreeBSD will not boot.


It appears that GELI and/or ZFS for the root partition is tied to the 
FreeBSD device node name "ada0s1d" (?), which is tied to the BIOS drive 
numbering.  When I insert the HBA, the BIOS drive numbering changes, the 
root partition device node changes to "ada1s1d", GELI and/or ZFS breaks, 
and boot fails (?).


CMOS Setup does not appear to provide a mechanism for influencing BIOS 
drive enumeration order.


The HBA does not appear to have a POST hotkey/ setup program.


I recall encountering this device node name issue when cloning FreeBSD 
installations between SSD's (device node names "adaN") and USB flash 
drives (device node names "daN"), and that the work-around was to boot 
FreeBSD installation media into a rescue shell, mount the boot 
filesystem, and delete zfs/zpool.cache (?).


I would prefer a work-around that involves entering configuration 
settings during FreeBSD boot.


Please advise.


TIA,

David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ebcf14da-016f-3906-34be-2a24a1b71aa5>