Difference between revisions of "Install"
Line 209: | Line 209: | ||
If you ever want to uninstall, follow the instructions for uninstalling a "make-install installation" [[uninstall|here]]. | If you ever want to uninstall, follow the instructions for uninstalling a "make-install installation" [[uninstall|here]]. | ||
− | == Installing | + | == Installing an Unofficial Disk Image (.dmg) for Testers == |
+ | |||
+ | == Pseudo-Installing for Development == |
Revision as of 07:01, 14 March 2014
Contents
Installing the Official Release
Installing from Source
(Adapted from an article by ZeroBSD.)
If you have any other implementation of ZFS installed, you must uninstall it and reboot before proceeding further.
We'll need to fetch the latest source from the repository on GitHub and then compile it.
For this, we'll need some prerequisites:
- Xcode (from Mac App Store or https://developer.apple.com/downloads/index.action)
- Xcode Command Line Tools (https://developer.apple.com/downloads/index.action)
- Homebrew (or MacPorts)
To install Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Paste that at a Terminal prompt.
Once Homebrew is installed, we need a couple of things first:
brew install automake libtool gawk
Create two folders in your home directory.
mkdir ~/Developer mkdir ~/bin
Add the ~/bin directory to your PATH.
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
and update your environment by sourcing your profile.
source ~/.bash_profile
To acquire the sources and build ZFS, we'll need the zfsadm script found here.
cd ~/Developer/ git clone https://gist.github.com/7713854.git zfsadm-repo cp zfsadm-repo/zfsadm ~/bin/ chmod +x ~/bin/zfsadm
All set. Let's go cloning and building ZFS:
zfsadm
Now let it work. This should take a few minutes depending on the speed of your machine.
Before using ZFS, we need to actually install it.
cd ~/Developer/zfs sudo make install cd ~/Developer/spl sudo make install
You can check to see if the kernel extensions loaded automatically with
sudo kextstat | grep lundman
You should see something similar to
137 1 0xffffff803f61a800 0x20c 0x20c net.lundman.kernel.dependencies (10.0.0) 144 1 0xffffff7f82720000 0xd000 0xd000 net.lundman.spl (1.0.0) <137 7 5 4 3 1> 145 0 0xffffff7f8272d000 0x202000 0x202000 net.lundman.zfs (1.0.0) <144 13 7 5 4 3 1>
If not, make sure kextd is aware of them.
sudo touch /System/Library/Extensions sudo killall -HUP kextd
And check again.
sudo kextstat | grep lundman
If not, you can load the kexts manually.
cd /System/Library/Extensions sudo kextload spl.kext sudo kextload -d spl.kext zfs.kext
Now add /usr/local/sbin to your PATH. This is where you will find the command binaries (zpool, zfs, zdb, etc.).
echo 'export PATH=$PATH:/usr/local/sbin' >> ~/.bash_profile
and update your environment by sourcing your profile again.
source ~/.bash_profile
Try running
sudo zpool
to see if everything is installed and configured properly.
You can go ahead and create your pools at this point.
When you want to get the latest commits from the GitHub, here's a quick overview of things you need to run.
First make sure you have exported all of your pools.
sudo zpool list
For every pool listed, run
sudo zpool export $poolname
in order to prevent a kernel panic when the kexts are unloaded.
Make sure they have exported successfully.
sudo zpool status
It should say, "no pools available."
Now you should be able to upgrade your ZFS installation safely.
cd ~/Developer cd spl make clean cd .. cd zfs make clean cd .. zfsadm # Assuming the build completed successfully, # unload the kexts. If you did not export all of # your pools this will panic: zfsadm -u # Now install the upgrade. cd spl sudo make install cd .. cd zfs sudo make install # And verify they reloaded automatically sudo kextstat | grep lundman # If not, make sure kextd is aware of them sudo touch /System/Library/Extensions sudo killall -HUP kextd # and check again sudo kextstat | grep lundman # if they they still have not loaded automatically cd /System/Library/Extensions sudo kextload spl.kext sudo kextload -d spl.kext zfs.kext
If net.lundman.kernel.dependencies has been updated (quite rare) a reboot would be necessary.
If you ever want to uninstall, follow the instructions for uninstalling a "make-install installation" here.