Trying to boot from a zfs external disk

Eduardo Lemos de Sa eduardo.lemosdesa at gmail.com
Tue May 30 16:49:51 UTC 2017


Dear Fabien

On Tue, May 30, 2017 at 11:19 AM, Fabian Keil <freebsd-listen at fabiankeil.de>
wrote:

> Eduardo Lemos de Sa <eduardo.lemosdesa at gmail.com> wrote:
>
> > I installed FreeBSD-10.3-RELEASE in a internal hard disk (named, that
> > time, as ada0) in a zpool called zeeroot. Now, I move this hard disk to
> > a case (so, it is a external drive now) and it is recognized as da0.
> > When I tried to boot it, the process start normally but stopped at the
> > moment to mount partitions. Later, I used to solve problems like this
> > (in UFS/UFS2 file systems) booting in a live system (memory stick or CD)
> > and editing /etc/fstab, renaming devices. But now, there is only in
> > my /etc/fstab:
> >
> > # Device        Mountpoint    FStype    Options        Dump    Pass#
> > #/dev/ada0p2        none    swap    sw        0    0
> > md99                    none    swap    sw,file=/usr/swap0,late 0       0
> >
> > I read https://wiki.freebsd.org/ZFSQuickStartGuide and
> > https://wiki.illumos.org/display/illumos/ZFS, further FreeBSD Handbook.
> >
> > In the two first, there is no mention about problems in boot stage using
> > zfs.
> >
> > Further, I tried to find files under /etc/ called zfs.conf or zpool.conf
> > or other mentions to ada0 (grep -r -i ada0 *): nothing.
>
> In case of ZFS the root pool is specified in /boot/loader.conf
> with a line like:
> vfs.root.mountfrom="zfs:tank"
>
> ZFS is supposed to figure out the location of the disk(s) itself.
>
> > Thus, I do not how can solve this mount booting problem. Please, could
> > you give some hint about?
>
> This bug could explain why booting fails when you use an external disk:
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208882
>
> Fabian
>

Thank you very much for share your expertise.
Please, forgive me to ask one more thing: I searched (using grep) where a
"mountfrom" is located or nomitade in a another 10.3-RELEASE. The result
was:

defaults/loader.conf:#vfs.root.mountfrom=""        # Specify root partition
in a way the
Binary file kernel/kernel matches
Binary file kernel.old/kernel matches
Binary file loader matches
Binary file loader.efi matches
Binary file loader.old matches
menu-commands.4th:    s" set
menu_caption[1]=${bemenu_current}${vfs.root.mountfrom}" evaluate
menu-commands.4th:    s" set
ansi_caption[1]=${beansi_current}${vfs.root.mountfrom}" evaluate
menu-commands.4th:    dup s" set vfs.root.mountfrom=${bootenv_root[E]}" 38
+c! evaluate
menu-commands.4th:    s" set currdev=${vfs.root.mountfrom}:" evaluate
Binary file pxeboot matches
Binary file userboot.so matches
Binary file zfsloader matches
Binary file zfsloader.old matches


In this machine, zroot (the name of zpool) is mounted in /dev/ada0 (p3,
mainly), but this information is not avaliable in ASCII files (apparently,
it is in one or more binary files (zfsloader, as example). Thus, how to
booting system "knows" where root shoud be mount?

I will try to mount this hard disk, edit loader.conf and explicitly specify

vfs.root.mountfrom="zfs:zeeroot"

Thank you again.

My best regards

Eduardo

-- 
Eduardo Lemos de Sa
Professor Titular
Dep. Quimica da Universidade Federal do Paraná
fone: +55(41)3361-3300
fax:   +55(41)3361-3186


More information about the freebsd-questions mailing list