Date: Thu, 20 Mar 2014 09:30:33 -0500 From: Karl Denninger <karl@denninger.net> To: freebsd-stable@freebsd.org Subject: Re: Can ZFS boot from other than the root of a pool? Message-ID: <532AFB89.6060203@denninger.net> In-Reply-To: <CAPS9%2BSti9F0waFjgCfXtkxz5zW8sDp8=rv=HZujovpp_wg4cmQ@mail.gmail.com> References: <532AF77A.9010204@denninger.net> <CAOjFWZ7xy01UXkPrB2wfN3=YMn9ToHL81a4SHzToa5sDV0YUqA@mail.gmail.com> <CAOjFWZ7=ZczHsjrLo2cLjQYAdwhD7wc3kz37GXarbMLeciMySA@mail.gmail.com> <CAPS9%2BSti9F0waFjgCfXtkxz5zW8sDp8=rv=HZujovpp_wg4cmQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On 3/20/2014 9:27 AM, Andreas Nilsson wrote: > On Thu, Mar 20, 2014 at 3:19 PM, Freddie Cash <fjwcash@gmail.com> wrote: > >> Forgot to include the list in the original reply. >> >> Typos and terseness brought to you by the LG G2 running SlimKat. >> ---------- Forwarded message ---------- >> From: "Freddie Cash" <fjwcash@gmail.com> >> Date: Mar 20, 2014 7:17 AM >> Subject: Re: Can ZFS boot from other than the root of a pool? >> To: "Karl Denninger" <karl@denninger.net> >> Cc: >> >> >> On Mar 20, 2014 7:13 AM, "Karl Denninger" <karl@denninger.net> wrote: >>> For a number of reasons having to do with backup strategy I want to mount >> a ZFS root from "poolname/root" instead just "poolname." >>> That works ok; I can set in /boot/loader.conf: >>> vfs.root.mountfrom="zfs:zroot/root" >>> >>> But -- I cannot actually boot from there. Unless the /boot directory is >> in zfs:/zroot the system cannot find it, and I see no obvious way to >> "teach" the loader that I want it to look in the filesystem under the top >> level. >>> This isn't a terrible pain as I can simply mount zroot on /mnt and then >> copy zroot/root/boot over to zroot/boot whenever I make changes to the >> kernel or boot environment (which is infrequent) but I'm wondering if I'm >> missing something that would make booting directly from the filesystem >> where root is specified to be possible. >>> (Obviously until the loader.conf file is found the system doesn't know >> where root is either, so this does look at first blush to be a "chicken and >> egg" problem.) >> >> Read up on Boot Environments, install the beadm port, set the bootfs >> property on the pool itself, and you'll be off to the races. >> > Yes. For quite some time. It is a bit easier on 9.2 and 10.0 and newer > where there is no strict need for /boot/zfs/zpool.cache for the mount of / > to succeed. > > I'm booting from tank/ROOT/10-STABLE-140310 om my workstation for example. > To set it up (given the pool tank exists) > zfs create -o mountpoint=none tank/ROOT > zfs create tank/ROOT/yourpreferedname > zpool set bootfs tank/ROOT/yourpreferedname tank > make sure tank/ROOT/yourpreferedname has a "complete" install. > > Best regards > Andreas It LOOKS to me like this will work too: zpool set bootfs tank/bootfs ... and in loader.conf (in /boot/loader.conf on tank/bootfs) set the root SOMEWHERE ELSE. That has certain advantages, particularly if you want a GELI-encrypted root. I'll play with this a bit.... (the ability to make upgrades much less dangerous in that an immediate-revert becomes pretty easy helps too) -- -- Karl karl@denninger.net [-- Attachment #2 --] 0 *H 010 + 0 *H O0K030 *H 010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1/0- *H customer-service@cudasystems.net0 130824190344Z 180823190344Z0[10 UUS10UFlorida10UKarl Denninger1!0 *H karl@denninger.net0"0 *H 0 bi՞]MNԿawx?`)'ҴcWgR@BlWh+ u}ApdCF JVй~FOL}EW^bچYp3K&ׂ(R lxڝ.xz?6&nsJ +1v9v/( kqĪp[vjcK%fϻe?iq]z lyzFO'ppdX//Lw(3JIA*S#՟H[f|CGqJKooy.oEuOw$/섀$삻J9b|AP~8]D1YI<"""Y^T2iQ2b yH)] Ƶ0y$_N6XqMC 9 XgώjGTP"#nˋ"Bk1 00 U0 0 `HB0U0, `HB OpenSSL Generated Certificate0U|8 ˴d[20U#0]Af4U3x&^"408 `HB+)https://cudasystems.net:11443/revoked.crl0 *H gBwH]j\x`( &gW32"Uf^. ^Iϱ k!DQA g{(w/)\N'[oRW@CHO>)XrTNɘ!u`xt5(=f\-l3<@C6mnhv##1ŃbH͍_Nq aʷ?rk$^9TIa!kh,D -ct1 00010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1/0- *H customer-service@cudasystems.net0 + ;0 *H 1 *H 0 *H 1 140320143033Z0# *H 1sٴ6x?zǜuO0l *H 1_0]0 `He*0 `He0 *H 0*H 0 *H @0+0 *H (0 +710010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1/0- *H customer-service@cudasystems.net0*H 1010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1/0- *H customer-service@cudasystems.net0 *H *ׅQsCno6DZGuDF+Rsd[|~ q@̛Rޟ_ *~B!pp`PZǖ@3ғz*r?[5ޚ7 WnbxǯpEpK}_}ʍ݂Jbx?M|avþ4ũHNp-J\h$M{BklF;oA Pޚ8{84Ԋ{@b]S %ǃ;!Cwbjlu\0 MܜzÀAS IM}*?r18npo۽0!pRqwFGT)?:tq¯V&C[Xl&3箴3wwl "x&/y]yg=L!J79)e6ncYE+.Kk]jo-A9K- T8 fg:۰j.*/ C>" bxwT
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?532AFB89.6060203>
