Date: Sun, 25 Jul 2010 13:45:50 +0300 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-fs@freebsd.org Subject: zfs loader: allow access to any filesystem in a pool Message-ID: <4C4C15DE.1030802@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
This is a ZFS boot patch that I would like to present you for review and testing: http://people.freebsd.org/~avg/zfsboot.diff Currently in zfsloader you can only switch between pools, but you can only access one predetermined filesystem within a pool - wither root dataset of a pool or a filesystem pointed to by bootfs pool property. With this patch it is possible to access any filesystem in a pool and, thus, to boot kernel and modules from an alternative filesystem. This is another stepping stone in so called Boot Environments support. An example. You can boot kernel from a different filesystem by doing the following at the loader prompt: set currdev=zfs:tank/some/fs: (note the trailing colon). This is a breakdown of device name format: "zfs" - is type of a device "tank" - is a sample pool name "some/fs" - is a sample name of a filesystem within the pool You can access an individual file e.g. like this: load zfs:tank/some/fs:boot/kernel/module.ko "boot/kernel/module.ko" is a path within the specified filesystem (from its root). As an additional feature, default filesystem (either root dataset or the one pointed to by bootfs) is resolved to its name, so currdev and loaddev will be in the format shown above. Thank you in advance for any feedback! -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C4C15DE.1030802>