Opened 4 years ago

Closed 21 months ago

#345 closed System Defect (fixed)

Cannot create /tmp as mountpoint inside ZFS pool during 8.1 installation

Reported by: gja Owned by: kris
Priority: major Milestone:
Component: Installer Version: 8.1
Keywords: Cc: trac-bugs@…

Description

Installing PCBSD 8.1 from x64 DVD.

Used the GUI to set up the following custom partitioning on ad1s1:

  • UFS 1G for /boot
  • SWAP of 8G
  • 'basic' ZFS of the rest for /home, /var, /tmp, /, /usr and /Programs

(arguably a not-unreasonable configuration so one can later set separate ZFS quotas on each mountpoint's file system)

Installer correctly creates tank0/, tank0/usr, tank0/home, etc, and then proceeds through "pc-sysinstall: Starting Extraction" and "pc-sysinstall: Extraction Finished" steps.

However, during final tidying up and resetting of ZFS mountpoints, installation fails with "encountered an error and has been halted, do you want to generate an error report?" with only "Yes/No?" as options (i.e. missing the "Show details..." option I expected to see).

I said "Yes", but no error log was created. Instead, the GUI installer simply asked if I wanted to reboot now.

Short version: It appears that when the installer back-end attempted "zfs set mountpoint=/tmp tank0/tmp" (while tidying up the zfs mountpoints) it mounted over the top of the active /tmp, which then caused the installer to loose its little brain ;) Things go bad.

Long version: Rather than reboot, I switched back to 2nd console (ctl-alt-F1, then alt-F2) logged in as root and was able to extract the following "zfs list" output:

NAME             USED  AVAIL  REFER  MOUNTPOINT
tank0           5.68G  62.2G   230M  /mnt
tank0/Programs    18K  62.2G    18K  /mnt/Programs
tank0/home      4.28M  62.2G  4.28M  /mnt/home
tank0/tmp       25.5K  62.2G  25.5K  /tmp
tank0/usr       5.41G  62.2G  5.41G  /usr
tank0/var       42.6M  62.2G  42.6M  /var

This suggests to me (although I'm not expert) that the installer barfed in the middle of resetting zfs mountpoints away from /mnt and onto their "correct" locations, and that /tmp was the last one appropriately reset.

Output from "df -h" supports the hypothesis:

Filesystem             Size    Used   Avail Capacity  Mounted on
/dev/ufs/ROOTFS         26M     18M    6.0M    75%    /
devfs                  1.0K    1.0K      0B   100%    /dev
/dev/md6               7.5M     78K    6.8M     1%    /tmp
/dev/md2               118M    114M   -6.0M   106%    /uzip
/dev/md7.uzip          998M    291M    628M    32%    /usr
/root/SysInstaller      26M     18M    6.0M    75%    /usr/PCBSD/SysInstaller
/root/pc-sysinstall     26M     18M    6.0M    75%    /usr/PCBSD/pc-sysinstall
tank0                   62G    230M     62G     0%    /mnt
tank0/Programs          62G     18K     62G     0%    /mnt/Programs
tank0/home              62G    4.3M     62G     0%    /mnt/home
/dev/acd0              3.3G    3.3G      0B   100%    /cdmnt-install
/dev/ad0s2a            989M    152M    758M    17%    /mnt/boot-mount
tank0/tmp               62G     27K     62G     0%    /tmp

Notice that tank0/tmp and tmpfs are both mounted on /tmp.

Ultimately, the backend installer should figure out a safe way for the user to nominate /tmp as a valid ZFS mountpoint (which would be my preference), or the GUI frontend should check for anyone attempting this configuration and warn them it wont work (before the long extracting process is underway).

Hope this feedback is of some help.

cheers,
gja

Change History (2)

comment:1 Changed 4 years ago by gja

Irrelevant typo in my original description, I was installing PCBSD onto ad0s2 rather than ad1s1 as originally stated.

comment:2 Changed 21 months ago by joshms

  • Resolution set to fixed
  • Status changed from new to closed

This version is now obsolete and shouldn't be an issue so i'm going to close the ticket. Please reopen the ticket if you have any other trouble going forward. Thanks!

Note: See TracTickets for help on using tickets.