Difference between revisions of "ZFS Installation"

From ArchWiki
Jump to: navigation, search
m (A little script to build these automatically)
Line 63: Line 63:
rsync -auvxP $CHROOTPATH/chroot64/root/repo/ "$REPO"
rsync -auvxP $CHROOTPATH/root/repo/ "$REPO"

Revision as of 18:57, 22 October 2013

Summary help replacing me
This article provides several options for the installation of the requisite ZFS software packages.
Installing Arch Linux on ZFS
Playing with ZFS

Building from AUR

The ZFS kernel module are related utils are available in the AUR; all are required:

Note: The ZFS and SPL (Solaris Porting Layer is a Linux kernel module which provides many of the Solaris kernel APIs) kernel modules are tied to a specific kernel version. It would not be possible to apply any kernel updates until updated packages are uploaded to AUR or the archzfs repository.

Should you wish to update the core/linux package before the AUR/zfs and AUR/spl packages' dependency lists are updated, a possible work-around is to remove (uninstall) spl and zfs packages (the respective modules and file system may stay in-use), update the core/linux package, build + install zfs and spl packages - just do not forget to edit PKGBUILD and correct the core/linux version number in "depends" section to match the updated version). Finally, the system may be rebooted. [ This is only for the situation, when ZFS is not used for root filesystem. ]

A little script to build these automatically

The build order of the above is important due to nested dependencies. One can automate the entire process, including downloading the packages with the following shell script. The only requirements for it to work are:

Be sure to add the local repo to /etc/pacman.conf like so:

$ tail /etc/pacman.conf
SigLevel = Optional TrustAll
Server = file:///path/to/localrepo/defined/below
# ZFS Builder

# define the temp space for building here

# create this dir and chown it to your user
# this is the local repo which will store your zfs packages

[[ -f ~/.config/clean-chroot-manager.conf ]] &&
. ~/.config/clean-chroot-manager.conf || exit 1

[[ ! -d $"REPO" ]] && exit 1

cd "$WORK"
for i in spl-utils spl zfs-utils zfs; do
  [[ -d $i ]] && rm -rf $i
  cower -d $i

for i in spl-utils spl zfs-utils zfs; do
  cd $WORK/$i
  sudo ccm s

rsync -auvxP $CHROOTPATH/root/repo/ "$REPO"

Unofficial Repository

For fast and effortless installation and updates, the "archzfs" signed repository is available to add to your pacman.conf:

Server = http://demizerone.com/$repo/$arch

The repository and packages are signed with the maintainer's PGP key which is verifiable here: http://demizerone.com. This key is not trusted by any of the Arch Linux master keys, so it will need to be locally signed before use. See pacman-key.

Add the maintainer's key,

# pacman-key -r 0EE7A126

and locally sign to add it to the system's trust database,

# pacman-key --lsign-key 0EE7A126

Once the key has been signed, it is now possible to update the package database,

# pacman -Syyu

and install ZFS packages:

# pacman -S archzfs

Archiso Tracking Repository

ZFS can easily be used from within the archiso live environment by using the special archiso tracking repository for ZFS. This repository makes it easy to install Arch Linux on a root ZFS filesystem, or to mount ZFS pools from within an archiso live environment using an up-to-date live medium. To use this repository from the live environment, add the following server line to pacman.conf:

Server = http://demizerone.com/$repo/$arch

This repository and packages are also signed, so the key must be locally signed following the steps listed in the previous section before use. For a guide on how to install Arch Linux on to a root ZFS filesystem, see Installing Arch Linux on ZFS.