zfsonlinux / pkg-zfs

Native ZFS packaging for Debian and Ubuntu
https://launchpad.net/~zfs-native/+archive/daily
308 stars 55 forks source link

Debian jessie: no zfs 0.6.5.3 #181

Closed Pentium100MHz closed 8 years ago

Pentium100MHz commented 8 years ago

Hi, The latest version available for Debian Jessie is 0.6.5.2-2. 0.6.3 Was released some time ago, why isn't it in the repository?

FransUrbo commented 8 years ago

Because I've been busy with moving and personal issues and haven't got a new home for my development environment yet.

I'm working on it, and with a little bit of luck, I'll get something in the next few weeks.

amitie10g commented 8 years ago

Regarding 0.6.5.3, keep in mind https://github.com/zfsonlinux/spl/issues/490 (spl-dkms build error with linux 2.6.32, under RHEL/Fedora/Centos).

Ubuntu users have 0.6.5.3 available in PPA already. Please test and report any issues (don't forget to make snapshots!).

amitie10g commented 8 years ago

There is another problem by releasing spl-dkms 0.6.5.3 but not zfs-dkms 0.6.5.3 together. I accidentally updated spl-dkms, and I noticied that when zfs-dkms 0.6.5.2 failed to build. So, I needed to downgrade spl-dkms and the both spl-dkms and zfs-dkms 0..6.5.2 built successfuly.

As I mentioned in other issues, DON'T update dkms packages if the both spl-dkms and zfs-dkms don't have the same version available, and always make snapshots!

@FransUrbo, do the best you can do, but please fix this issue as soon as possible.

ggzengel commented 8 years ago

@FransUrbo how are you? What's about your DevEnv?

mailinglists35 commented 8 years ago

@FransUrbo any ETA of packaging & releasing 0.6.5.4? I see just four issues with milestone 0.6.5.4 (in zfs; spl have none) and all they seem to have a patch merged in master.

behlendorf commented 8 years ago

@mailinglists35 0.6.5.4 isn't quite tagged yet, but it should be soon. As for the Debian packaging it's my understanding that @FransUrbo's development environment isn't currently available so you may need to roll your own 0.6.5.4 when it's tagged.

FransUrbo commented 8 years ago

It doesn't look like it's going to happen in the forceable future :(

I'm still in the process of migrating to the UK and all my stuff (especially the computer/development hardware) is in storage. I had a small chance of having parts of it at a friends house, but that didn't happen, so I'll have to wait until the move is complete. How long that will take in practice, is anyones guess and mine is "hopefully no longer than six months, at the worst a year"… :(

So don't hold your breath for a new version :(

Besides, Debian GNU/Linux is hopefully soon going to release it into the repository, so with a little luck, we'll have it in the correct repository "soon".

It's finally migrated to the "New" queue (after laying in "Incoming" for years :) - https://ftp-master.debian.org/new.html. Since the two major showstoppers (the license and the package names) have been resolved, "The General Opinion™) is that it will now be accepted as soon as the FTP maintainers have time to review it. How long THAT will take is anyones guess (considering that they took two years to deal with it, which they really didn't - "The Leader" had to step in and more or less force it into "New").

Also have a look at the official ticket about getting ZoL into Debian GNU/Linux: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447 (it's long and full of "opinions" and "conjectures" - some of them wrong IMO, but it's something).

Considering that it will NEVER be accepted into Jessie (it's released and no new software is going in there), I MIGHT be supporting Jessie in the ZoL name/repositories once my hardware is up and running again, but that'll be a decision I'll take when that day comes…

FYI, IF someone in the South West UK (London and/or surroundings) have an interest to sponsor this job (providing server space and 'Net access for my servers so I can keep doing packages), I'm all for discussing the issue (do this in private if so). Otherwise, everyone just have to wait until I've solved it myself.

lnxbil commented 8 years ago

Only for reference to others and until something official is available:

I switched to use the ZFS packages provided by Proxmox, which is an addition to Debian Jessie (amd64 only) using their Ubuntu LTS 4.2 kernel. It only adds a few packages and works great.

FransUrbo commented 8 years ago

Version 0.6.5.4-1 was accepted into Unstable on January 10.

Eventually, I might do a couple of Jessie packages, but don't hold your breath. I'm still in the process of relocating to the UK, and I don't expect to be up and running before summer :(.

kernelOfTruth commented 8 years ago

I feel ya,

moving is a PITA, just did a move at the end of December and things still aren't working as before :/

tobox commented 8 years ago

@FransUrbo I cannot find any 0.6.5.4 packages in Debian Unstable for amd64. Were you talking about Ubuntu Unstable? Or am I doing something wrong?

ggzengel commented 8 years ago

Only spl-linux is in unstable and now testing. The most problematic package zfs-linux is still waiting.

https://qa.debian.org/developer.php?login=pkg-zfsonlinux-devel@lists.alioth.debian.org

@behlendorf @happyaron Isn't it possible to put the packages from Aron XU inside ZoL repository?

mailinglists35 commented 8 years ago

@FransUrbo is it difficult to transfer the know-how to somebody else? or did you not find someone to replace you during this period? it's quite frustrating to know the packaging depends on a single person and that person is going to be unavailable for such a long time...

fajarnugraha commented 8 years ago

Try http://list.zfsonlinux.org/pipermail/zfs-discuss/2016-January/024430.html

Note that it's only intended as temporary workaround

markdesouza commented 8 years ago

@FransUrbo feel for you, moving let alone immigrating is a long and painful process.

With regard to the packaging, I might be missing something but couldn't the building of packages just be done on EC2? From memory archive.zfsonlinux.org is already hosted on S3. Whilst slow, a micro.t2 instance should be able to package and upload the package in a reasonable timeframe and is free for a year.

Also if the debian packages are not going to be upgraded in the short term, it might be a good idea to put a note on http://zfsonlinux.org/debian.html

amitie10g commented 8 years ago

So, I'm trying the packages from PPA (0.6.5.4-1). I'll tell if them work properly.

FransUrbo commented 8 years ago

I've said it before, but I'll say it again: ANYONE caught using the Ubuntu (or any other package not intended to Debian GNU/Linux proper) packages will be completely on their own!! I just can't stress that enough!! I will not in any way help when problems occurs!

happyaron commented 8 years ago

I can help on putting my package on zol.org, just want to know how the binaries are published. Well I'm currently trying hard to push the package into Debian's official repo but it appears the work isn't progressing well.

nikil commented 8 years ago

Aron - I see that the the ZFS package is no longer listed under "new" in the Debian master FTP. Is that because it was rejected? If so can you say why?

FransUrbo if you could assist Aron is publishing his packages that would be great. I hope your move is going OK.

happyaron commented 8 years ago

Debian FTP Team found some files are licensed under BSD license but those ones were not included in debian/copyright file, so it was rejected.

nikil commented 8 years ago

Sounds like fun! But that doesn't sound like fundamental a blocking issue? It's just a matter of jumping through all their hoops? Granted it took them 3 weeks to find this issue...

AceSlash commented 8 years ago

@FransUrbo Very sorry about your issues. In the meantime, do you have some instruction on how you made the builds/test for the Debian packages? Or can you tell us what do you need to generate the packages? If the issue is server environment only, maybe we could give you access to some hardware.

mailinglists35 commented 8 years ago

Does anyone else finds this ridiculous that the packaging depends on one person who happens to be unavailable for a long time and he has no replacement nor has published his work so anyone can take over until he recovers?!

Sent using CloudMagic [https://cloudmagic.com/k/d/mailapp?ct=pi&cv=7.2.19&pv=8.4] On Mon, Feb 8, 2016 at 11:37 pm, AceSlash notifications@github.com wrote: @FransUrbo [https://github.com/FransUrbo] Very sorry about your issues. In the meantime, do you have some instruction on how you made the builds/test for the Debian packages? Or can you tell us what do you need to generate the packages? If the issue is server environment only, maybe we could give you access to some hardware.

— Reply to this email directly or view it on GitHub [https://github.com/zfsonlinux/pkg-zfs/issues/181#issuecomment-181523451] .[https://github.com/notifications/beacon/AB9YnjvtFDfMQKN3OB2gnYsEirvMe38tks5piPQLgaJpZM4GaFDR.gif]

nikil commented 8 years ago

@happyaron I believe this page has some instructions as to how the packages are published: https://github.com/zfsonlinux/pkg-zfs

@FransUrbo Please help Aron with uploading his packages. If it may take months before a) they are accepted into Debian, or b) you can personally build and upload a new version of Debian ZFS, it would really help out your users to assist Aron with getting his already built packages out sooner.

markdesouza commented 8 years ago

@mailinglists35 Whilst I do agree with that the situation is not ideal, I think we should thank @FransUrbo for the work he has done in the past.

@behlendorf Is there a reason why Debian packaging is handled out of the make branch. Can deb packaging not be included in the main project?

lnxbil commented 8 years ago

@behlendorf That is a really good question. Normally it only consists of a directory named debian.

FransUrbo commented 8 years ago

I've created a PR for this, but it was shut down.

fajarnugraha commented 8 years ago

it depends on project leader's policy. Some software (e.g. freeradius) maintain their own debian directory (so users can build packages easily on their own), while others (e.g. lxc) doesn't.

I've also seen complains from debian FR package maintainers though, since they have to delete upstream's debian directory (since some recipes/files in debian official were different from upstream).

In the case of lxc, the devs have a separate github repo for debian packaging (which includes the debian directory), maintained by the same people that manage the main repo

amitie10g commented 8 years ago

I mentioned that I'll update from PPA... Don't even try it under Debian!, because:

Therefore, this is a huge problem, because Linux 4.3 reached the EOL (at 4.3.6) and the zfs-dkms and spl-dkms have errors when built against Linux 4.4.2 (custom-configured Vanilla Kernel)! So, these packages should be updated as soon as possible, or, at least, add support for Linux 4.4.

This is the output of ´dkms autoinstall -k 4.4.2-custom´: https://gist.github.com/Amitie10g/ce2fba68e12e76cff267

And this is the output of /var/lib/dkms/zfs/0.6.5.2/build/make.log:

DKMS make.log for zfs-0.6.5.2 for kernel 4.4.2-custom (x86_64)
dom feb 21 21:39:46 CLT 2016
make: *** No targets specified and no makefile found.  Stop.
AceSlash commented 8 years ago

No news on this issue?

ZoL 0.6.5.5 is out, Debian is now 3 releases behind. I don't know about other users, but I use ZoL on production servers and I trusted ZoL to maintain those great packages.

What is the advice of the devs to the end user on Debian? Don't use Debian anymore? Package ZoL ourselves? Stay on 0.6.5.2?

markdesouza commented 8 years ago

@behlendorf is there a way that pkg-zfs can be brought into the main zfs project and have deb kept up to date? Is there a reason for debian / ubuntu being treated separately?

ggzengel commented 8 years ago

@FransUrbo is it possible for you to use OBS (http://openbuildservice.org)? I think they have all you need.

fajarnugraha commented 8 years ago

@ggzengel : I believe it needs more than just "having a build environment". You also need to dedicate some time to maintain it.

@markdesouza : ubuntu packages have an active maintainer

@AceSlash : try https://github.com/debian-zfs/zfs/blob/pkg-0.6.5.5/INSTALL-DEBIAN.md . I've tested compile, install, and boot on existing (0.6.4) stretch zfs root.

Usual disclaimer: the above is an UNOFFICIAL packaging, works for me, use at YOUR OWN RISK.

FransUrbo commented 8 years ago

I now have all the machinery unpacked in the correct place. I just miss a couple of British power cables and -adapters. They've been ordered and according to Amazon should be delivered early this week.

So I'll most/very likely be doing updates this weekend. As long as the machines survived the two, three month of storage and the 1000km move that is…

hostingnuggets commented 8 years ago

@FransUrbo :+1: looking forward to your build, good luck setting things up in the UK btw

fallenguru commented 8 years ago

Having ZoL in Debian proper'll be great, if I do live to see it, but that doesn't solve the jessie situation or jessie-to-stretch / zfsonlinux.org-to-Debian upgrades down the line. What's the plan on the upgrade path? Keep the jessie packages current on zfsonlinux.org, point to Debian repo for stretch+? Use backports for the jessie packages as soon as the Debian ones hit unstable? Is seamless switching to the Debian packages even a goal (on the Debian side of things)?

As a ZoL-user I'd feel a lot better if maybe @FransUrbo and @happyaron could get together and hash this out, maybe co-maintain the zfsonlinux.org packages. It would surely ease the transition and take some pressure off @FransUrbo. Perhaps even result in a new release every now and then. I'm as conservative as they come (using stable after all), but things like the hole_birth-bug I'd sleep better having fixed.

FransUrbo commented 8 years ago

but that doesn't solve the jessie situation or jessie-to-stretch / zfsonlinux.org-to-Debian upgrades down the line.

I don't know what "that" is, but the upgradability is taken care of and already there. What's the plan on the upgrade path? Keep the jessie packages current on zfsonlinux.org, point to Debian repo for stretch+? Use backports for the jessie packages as soon as the Debian ones hit unstable?

Don't know about that. Doing Jessie packages would fall on me, in the name of ZoL. We'll see how interested I am in doing that once we have official packages in Debian GNU/Linux. And how old Jessie is by then :) Is seamless switching to the Debian packages even a goal (on the Debian side of things)?

Oh, absolutly! I don't know if anyone have actually tested it, but it's definitely high up of things! As a ZoL-user I'd feel a lot better if maybe @FransUrbo and @happyaron could get together and hash this out, maybe co-maintain the zfsonlinux.org packages.

We already do, and we already co-maintain the official Debian GNU/Linux packages and much (some - I haven't had time to actually look :) of the official packages is from my ZoL packages.

I've stayed out the last couple of months, because Aron have it all covered and it's better that ONE person deals with the FTP masters, than all of us...

fallenguru commented 8 years ago

Seems like stretch+ will be taken care of, thank you!

I don't know what "that" is, [...] I meant that even if/when ZoL gets into Debian that in itself won't help current jessie installs any. Stable users don't need the latest bells and whistles but we do need critical bug fixes and security updates. Doing Jessie packages would fall on me, in the name of ZoL. We'll see how interested I am in doing that [...] So there is no plan on if and how jessie (= current zfsonlinux.org-users) will be supported in future (yet). Hm.

behlendorf commented 8 years ago

@FransUrbo glad to hear you're settling in after the move.

I've updated the Debian page to reflect my understanding that these packages are moving in to Debian proper. There may still be updates at @FransUrbo's discretion but users shouldn't depend on it. If this isn't an accurate description then by all means let's update the site accordingly.

These packages are no longer actively maintained and will not be updated as new releases are tagged. The Debian project has announced their intention to ship ZFS in Debian and that work is currently ongoing.

markdesouza commented 8 years ago

@behlendorf I assume the following should also be removed from the page

If you wish to use the Debian GNU/Linux ZoL snapshot packages (pre-releases), you will need to uncomment the line(s) related to the 'dailies' repository (at the end of the /etc/apt/sources.list.d/zfsonlinux.list file) by removing the hash mark at the beginning of the line.

I assume that if the releases are not being built then the daily snapshots are definitely not.

It might also be worth linking to http://zfsonlinux.org/generic-deb.html so that people know how to produce the packages themselves.

FransUrbo commented 8 years ago

@behlendorf No, I think that is a correct interpretation.

I can't promise I'll continue, on a regular basis, to create packages for ZoL. I'll do my best to at least give them (our users) the latest (both released and daily) as soon as I got all the cables I need (hopefully this weekend).

Beyond that, I can't make any promises. I think the wording could need some work, but I'm fine with it - it says everything that needs to be said on the issue. So lets leave the page as-is for now.

richard-scott commented 8 years ago

Is it a difficult build process for creating the DKMS debs? Perhaps something I could help automate? I did try following this but didn't get anywhere ;-(

I gave up on that, and I wrote a script to automate building the KMOD debs the other day, and then decided I wanted to stick with DKMS so aborted that idea.

Pentium100MHz commented 8 years ago

I can't seem to find master/debian/jessie branch, there is only one for wheezy? Are debian packages built from the same branch for both wheezy and jessie?

azeemism commented 8 years ago

@markdesouza @richard-scott the GIT tags are missing the additional files (such as service and init files etc), so the tarballs or .deb's created from the GIT tags will not yield working services whatever instructions you follow: https://github.com/zfsonlinux/pkg-zfs http://zfsonlinux.org/generic-deb.html

This means that the following will not work as expected:

# systemctl enable zed.service
# systemctl enable zfs-import-cache.service
# systemctl enable zfs-import-scan.service
# systemctl enable zfs-mount.service
# systemctl enable zfs-share.service
# systemctl enable zfs.target
root@vbox1:~# systemctl enable zed.service
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
root@vbox1:~# systemctl enable zfs-import-cache.service
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
root@vbox1:~# systemctl enable zfs-import-scan.service
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
root@vbox1:~# systemctl enable zfs-mount.service
Synchronizing state for zfs-mount.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d zfs-mount defaults
insserv: Service zfs-import has to be enabled to start service zfs-mount
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
*** Error in `systemctl': double free or corruption (fasttop): 0x00007fd9f5943bf0 ***
Aborted
root@vbox1:~# systemctl enable zfs-share.service
Synchronizing state for zfs-share.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d zfs-share defaults
insserv: Service zfs-mount has to be enabled to start service zfs-share
insserv: Service zfs-zed has to be enabled to start service zfs-share
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
*** Error in `systemctl': double free or corruption (fasttop): 0x00007f35a78b2bf0 ***
Aborted
root@vbox1:~# systemctl enable zfs.target
root@vbox1:~# systemctl status 'zed*'
● zed.service - ZFS Event Daemon (zed)
   Loaded: loaded (/lib/systemd/system/zed.service; static)
   Active: failed (Result: exit-code) since Fri 2016-03-18 13:37:11 PDT; 21min ago
     Docs: man:zed(8)
 Main PID: 671 (code=exited, status=203/EXEC)

Mar 18 13:37:11 vbox1 systemd[671]: Failed at step EXEC spawning /usr/sbin/zed: No such file or directory
Mar 18 13:37:11 vbox1 systemd[1]: zed.service: main process exited, code=exited, status=203/EXEC
Mar 18 13:37:11 vbox1 systemd[1]: Unit zed.service entered failed state.

root@vbox1:~# systemctl status 'zfs*'
● zfs-mount.service - Mount ZFS filesystems
   Loaded: loaded (/lib/systemd/system/zfs-mount.service; static)
   Active: failed (Result: exit-code) since Fri 2016-03-18 13:37:11 PDT; 21min ago
 Main PID: 440 (code=exited, status=203/EXEC)

Mar 18 13:37:11 vbox1 systemd[1]: zfs-mount.service: main process exited, code=exited, status=203/EXEC
Mar 18 13:37:11 vbox1 systemd[1]: Failed to start Mount ZFS filesystems.
Mar 18 13:37:11 vbox1 systemd[1]: Unit zfs-mount.service entered failed state.

● zfs-share.service - ZFS file system shares
   Loaded: loaded (/lib/systemd/system/zfs-share.service; static)
   Active: inactive (dead)

Mar 18 13:37:11 vbox1 systemd[1]: Dependency failed for ZFS file system shares.

● zfs-import-cache.service - Import ZFS pools by cache file
   Loaded: loaded (/lib/systemd/system/zfs-import-cache.service; static)
   Active: inactive (dead)
           start condition failed at Fri 2016-03-18 13:37:11 PDT; 21min ago

● zfs-import-scan.service - Import ZFS pools by device scanning
   Loaded: loaded (/lib/systemd/system/zfs-import-scan.service; static)
   Active: failed (Result: exit-code) since Fri 2016-03-18 13:37:11 PDT; 21min ago
 Main PID: 438 (code=exited, status=203/EXEC)

Mar 18 13:37:11 vbox1 systemd[1]: zfs-import-scan.service: main process exited, code=exited, status=203/EXEC
Mar 18 13:37:11 vbox1 systemd[1]: Failed to start Import ZFS pools by device scanning.
Mar 18 13:37:11 vbox1 systemd[1]: Unit zfs-import-scan.service entered failed state.

● zfs.target - ZFS startup target
   Loaded: loaded (/lib/systemd/system/zfs.target; enabled)
   Active: inactive (dead)

Mar 21 15:25:38 vbox1 systemd[1]: Dependency failed for ZFS startup target.
azeemism commented 8 years ago

The method below is a KMOD package install for ZFS v0.6.5.5-1 using service from v0.6.5.2-2 (official ZoL .deb's). I am no Guru, so for the Gurus out there, please provide your feedback/suggestions especially if you have tried/used/updated this method.

There are some errors in the make & make check, but these look to be related to additional files (such as service and init files etc) not included in the Debian (Jessie) ZoL GIT releases. See #197. So I am assuming these are safe to push through.

It would appear that adding the additional files is a large undertaking and falls under a feature request which is the reason for opening #197. ...I don't think there is such a thing as a simple script for the end user to solve everything on their own, so please don't hate on anyone especially @FransUrbo who has been giving the community official .deb's in the first place. It would be great if Debian could handle making official .deb's, but it may take 2 or more year. While there may be some momentum, I don't believe all the legal concerns have been addressed conclusively. In the interim, I am certainly not holding my breath. Having solid alternatives is essential not only for the end user, but also for ZoL IMO...or many users from a popular distro would automatically be excluded. ...And that is not something desirable for anyone.

@FransUrbo please advise if this interim method is a suitable workaround, provide any suggestions and outline any pros/cons? Also advise if services from v0.6.5.2-2 can be used for successive ZFS versions...and for how long (what is/are the limiting factor(s) to look for)? Thanks.

Uninstall DKMS: zpool status zpool export

apt-get remove --purge debian-zfs

apt-get remove --purge libnvpair1 libuutil1 libzfs2 libzpool2 spl zfsutils dkms spl-dkms zfs-dkms zfs-initramfs zfsonlinux

Comment all line in (or delete) file: nano /etc/apt/sources.list.d/zfsonlinux.list

apt-get update reboot

Check startup log: cat /var/log/daemon.log | grep ZFS

Check version of ZFS module: dmesg | grep ZFS

To see nicely formatted output, type: lsmod

(If needed | not tried) uninstall from compile for both: zfs spl

make uninstall dpkg -P spl

Begin KMOD Install:

Verify the following dependences are installed:

http://www.graymatterboundaries.com/?p=496 apt-get install git autoconf libtool zlib1g-dev uuid-dev linux-headers-$(uname -r)

http://zfsonlinux.org/generic-deb.html apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r) apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux1-dev parted lsscsi wget

mkdir /root/zol cd ~/zol mkdir v0.6.5.5 cd v0.6.5.5

Download the zfs ans spl tarballs: wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.5/spl-0.6.5.5.tar.gz wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.6.5.5/zfs-0.6.5.5.tar.gz

Unpack the tarballs: tar -zxvf zfs-0.6.5.5.tar.gz tar -zxvf spl-0.6.5.5.tar.gz

Rename the directories (is need): mv zfs-zfs-0.6.3-1.2 zfs mv spl-spl-0.6.3-1.2 spl

Move into the spl directory: cd s*

Create the configure script (use the second one: (used the second one instead) ./autogen.sh ./autogen.sh --prefix=/usr

Check the linux header versions: ls -l /lib/modules/uname -r/ ls -l /boot uname -r

3.16.0-4-amd64

Run the configure script: ./configure --with-linux=/usr/src/linux-headers-3.16.0-4-common --with-linux-obj=/usr/src/linux-headers-3.16.0-4-amd64 --prefix=/usr

Compile the package by running make make

root@vbox1:~/zol/v0.6.5.5/spl-0.6.5.5# make
make  all-recursive
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5'
Making all in include
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
Making all in fs
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/fs'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/fs'
Making all in linux
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/linux'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/linux'
Making all in rpc
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/rpc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/rpc'
Making all in sharefs
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sharefs'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sharefs'
Making all in sys
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
Making all in fm
make[4]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fm'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fm'
Making all in fs
make[4]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fs'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fs'
Making all in sysevent
make[4]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/sysevent'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/sysevent'
make[4]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
Making all in util
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/util'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/util'
Making all in vm
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/vm'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/vm'
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
Making all in rpm
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
Making all in generic
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/generic'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/generic'
Making all in redhat
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/redhat'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/redhat'
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
Making all in lib
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/lib'
  CC       list.lo
  CCLD     libcommon.la
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/lib'
Making all in cmd
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/cmd'
  CC       splat.o
  CCLD     splat
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/cmd'
Making all in man
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
Making all in man1
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man1'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man1'
Making all in man5
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man5'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man5'
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
Making all in scripts
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/scripts'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/scripts'
Making all in module
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/module'
make -C /usr/src/linux-headers-3.16.0-4-amd64 SUBDIRS=`pwd`  O=/usr/src/linux-headers-3.16.0-4-amd64 CONFIG_SPL=m modules
make[3]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-proc.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-kmem.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-kmem-cache.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-vmem.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-thread.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-taskq.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-rwlock.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-vnode.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-err.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-kobj.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-generic.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-atomic.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-mutex.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-kstat.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-condvar.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-xdr.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-cred.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-tsd.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl-zlib.o
  LD [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-ctl.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-kmem.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-taskq.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-random.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-mutex.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-condvar.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-thread.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-rwlock.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-time.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-vnode.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-kobj.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-atomic.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-list.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-generic.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-cred.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-zlib.o
  CC [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat-linux.o
  LD [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat.o
  Building modules, stage 2.
  MODPOST 2 modules
  CC      /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl.mod.o
  LD [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/spl/spl.ko
  CC      /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat.mod.o
  LD [M]  /root/zol/v0.6.5.5/spl-0.6.5.5/module/splat/splat.ko
make[3]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/module'
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5'
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5'

Test the results of the compiled package: make check

root@vbox1:~/zol/v0.6.5.5/spl-0.6.5.5# make check
Making check in include
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
Making check in fs
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/fs'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/fs'
Making check in linux
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/linux'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/linux'
Making check in rpc
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/rpc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/rpc'
Making check in sharefs
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sharefs'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sharefs'
Making check in sys
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
Making check in fm
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fm'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fm'
Making check in fs
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fs'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/fs'
Making check in sysevent
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/sysevent'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys/sysevent'
make[3]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/sys'
Making check in util
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/util'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/util'
Making check in vm
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/vm'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include/vm'
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/include'
Making check in rpm
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
Making check in generic
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/generic'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/generic'
Making check in redhat
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/redhat'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm/redhat'
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/rpm'
Making check in lib
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/lib'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/lib'
Making check in cmd
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/cmd'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/cmd'
Making check in man
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
Making check in man1
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man1'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man1'
Making check in man5
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man5'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man/man5'
make[2]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/man'
Making check in scripts
make[1]: Entering directory '/root/zol/v0.6.5.5/spl-0.6.5.5/scripts'
scripts/check.sh
/bin/bash: scripts/check.sh: No such file or directory
Makefile:478: recipe for target 'check' failed
make[1]: *** [check] Error 127
make[1]: Leaving directory '/root/zol/v0.6.5.5/spl-0.6.5.5/scripts'
Makefile:579: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1

Assume push through the errors as script files are not in the tarball.

Create the .deb packages: make deb-utils deb-kmod

View packages created: ls -l | grep .deb

Install .deb files: dpkg -i -R *.deb

OR: dpkg -i \ kmod-spl-3.16.0-4-amd64_0.6.5.5-1_amd64.deb \ kmod-spl-devel_0.6.5.5-1_amd64.deb \ kmod-spl-devel-3.16.0-4-amd64_0.6.5.5-1_amd64.deb \ spl_0.6.5.5-1_amd64.deb

Open the ZFS directory: cd /root/zol/v0.6.5.5/zfs-0.6.5.5

(If reconfiguration is needed) run: make clean make clean distclean

Create the configure script: (used the second one instead) # ./autogen.sh ./autogen.sh --prefix=/usr

Run the configuration script: ./configure --with-spl=/root/zol/v0.6.5.5/spl-0.6.5.5 --with-spl-obj=/root/zol/v0.6.5.5/spl-0.6.5.5 --with-linux=/usr/src/linux-headers-3.16.0-4-common --with-linux-obj=/usr/src/linux-headers-3.16.0-4-amd64 --prefix=/usr

Compile the program from source: make

Check the compile: make check

==================================== ZTEST ====================================

5 vdevs, 7 datasets, 23 threads, 300 seconds...
loading space map for vdev 0 of 1, metaslab 6 of 14 ...
loading space map for vdev 0 of 1, metaslab 8 of 14 ...
Pass   1, Complete,   0 ENOSPC, 21.9% of  304M used,  25% done,    3m45s to go
loading space map for vdev 0 of 1, metaslab 18 of 19 ...
67.2M completed (  22MB/s) estimated time remaining: 34172hr 50min 38sec        Pass   2,  SIGKILL,   0 ENOSPC, 10.0% of  752M used,  31% done,    3m27s to go
loading space map for vdev 2 of 3, metaslab 0 of 14 ....
68.5M completed (  22MB/s) estimated time remaining: 0hr 00min 00sec        Pass   3,  SIGKILL,   0 ENOSPC, 11.5% of  752M used,  41% done,    2m56s to go
loading space map for vdev 2 of 3, metaslab 2 of 14 ....
72.5M completed (  14MB/s) estimated time remaining: 0hr 00min 00sec        Pass   4,  SIGKILL,   0 ENOSPC, 11.5% of  976M used,  53% done,    2m20s to go
loading space map for vdev 3 of 4, metaslab 0 of 14 ....
 105M completed (  17MB/s) estimated time remaining: 0hr 00min 00sec        Pass   5,  SIGKILL,   0 ENOSPC, 12.5% of 1.17G used,  75% done,    1m16s to go
loading space map for vdev 4 of 5, metaslab 0 of 14 ....
 149M completed (  18MB/s) estimated time remaining: 0hr 00min 00sec        Pass   6,  SIGKILL,   0 ENOSPC, 12.1% of 1.17G used,  80% done,      59s to go
loading space map for vdev 4 of 5, metaslab 1 of 14 ....
 144M completed (  23MB/s) estimated time remaining: 0hr 00min 00sec        Pass   7,  SIGKILL,   0 ENOSPC, 12.2% of 1.17G used,  90% done,      29s to go
loading space map for vdev 4 of 5, metaslab 2 of 14 ....
 124M completed (  20MB/s) estimated time remaining: 0hr 00min 01sec        Pass   8,  SIGKILL,   0 ENOSPC, 12.2% of 1.17G used,  94% done,      16s to go
loading space map for vdev 4 of 5, metaslab 3 of 14 ....
 145M completed (  20MB/s) estimated time remaining: 0hr 00min 00sec        Pass   9, Complete,   0 ENOSPC, 12.6% of 1.17G used, 100% done,       0s to go
loading space map for vdev 4 of 5, metaslab 4 of 14 ....
 127M completed (  18MB/s) estimated time remaining: 0hr 00min 01sec        7 killed, 2 completed, 78% kill rate

=================================== ZCONFIG ===================================

1    persistent zpool.cache             Pass
2    scan disks for pools to import     Pass
3    zpool import/export device         Fail (4)
Makefile:857: recipe for target 'check' failed
make[1]: *** [check] Error 4
make[1]: Leaving directory '/root/zol/v0.6.5.5/zfs-0.6.5.5/scripts'
Makefile:674: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
root@vbox1:~/zol/v0.6.5.5/zfs-0.6.5.5#

Assume push through the errors as script files are not in the tarball.

Make the .deb install packages: make deb-utils deb-kmod

Install .deb files: dpkg -i -R *.deb

OR: ls -l | grep .deb

dpkg -i \ kmod-zfs-3.16.0-4-amd64_0.6.5.5-1_amd64.deb \ kmod-zfs-devel_0.6.5.5-1_amd64.deb \ kmod-zfs-devel-3.16.0-4-amd64_0.6.5.5-1_amd64.deb \ libnvpair1_0.6.5.5-1_amd64.deb \ libuutil1_0.6.5.5-1_amd64.deb \ libzfs2_0.6.5.5-1_amd64.deb \ libzfs2-devel_0.6.5.5-1_amd64.deb \ libzpool2_0.6.5.5-1_amd64.deb \ zfs_0.6.5.5-1_amd64.deb \ zfs-dracut_0.6.5.5-1_amd64.deb \ zfs-initramfs_0.6.5.5-1_amd64.deb \ zfs-test_0.6.5.5-1_amd64.deb

Update the RAM file: cd /boot update-initramfs -c -k all

Copy files from: cp -av /root/zol/v0.6.5.5/zfs-0.6.5.5/etc/systemd/system/50-zfs.preset /lib/systemd/system-preset/50-zfs.preset

See: [Feature Request] Add additional files (such as service and init files etc) for Debian (Jessie) into the ZoL GIT releases https://github.com/zfsonlinux/pkg-zfs/issues/197

For the KMOD install am using the service files from the v0.6.5.2-2

Uncomment the following two line in the file: nano /etc/apt/sources.list.d/zfsonlinux.list

deb [arch=amd64] http://archive.zfsonlinux.org/debian jessie main
deb-src http://archive.zfsonlinux.org/debian jessie main

Download the packages(without installing it) cd /root/zol/tmp apt-get download zfsutils

root@vbox1:~/zol/tmp# apt-get download zfsutils
Get:1 http://archive.zfsonlinux.org/debian/ jessie/main zfsutils amd64 0.6.5.2-2 [383 kB]
Fetched 383 kB in 1s (216 kB/s)

http://askubuntu.com/questions/463380/difference-between-apt-get-d-install-apt-get-download By default apt-get -d install will save .deb in /var/cache/apt/archives and apt-get download in current directory

Unpack the debs: dpkg -x zfsutils_0.6.5.2-2_amd64.deb /tmp/zol

Copy the service files: cp -av /tmp/zol/lib/systemd/system/* /lib/systemd/system/

http://superuser.com/questions/138587/how-to-copy-symbolic-links I use cp -av for most of my heavy copying. That way, I can preserve everything - even recursively - and see the output.

root@vbox1:~# ls -l /lib/systemd/system | grep 'zfs*'
-rw-r--r-- 1 root root  342 Oct  2 05:37 zfs-import-cache.service
-rw-r--r-- 1 root root  343 Oct  2 05:37 zfs-import-scan.service
lrwxrwxrwx 1 root root    9 Oct  2 05:37 zfs-import.service -> /dev/null
-rw-r--r-- 1 root root  353 Oct  2 05:37 zfs-mount.service
-rw-r--r-- 1 root root  294 Oct  2 05:37 zfs-share.service
-rw-r--r-- 1 root root  152 Oct  2 05:37 zfs.target
-rw-r--r-- 1 root root  179 Oct  2 05:37 zfs-zed.service

Enable the services: systemctl enable zfs-zed.service systemctl enable zfs-import-cache.service systemctl enable zfs-import-scan.service systemctl enable zfs-mount.service systemctl enable zfs-share.service systemctl enable zfs.target

Comment all lines in zfsonlinux.list: nano /etc/apt/sources.list.d/zfsonlinux.list apt-get update

reboot

Check the status of services (note no pool was created at this point so there is no cache):

root@vbox1:~# systemctl status 'zfs*'
● zfs-mount.service - Mount ZFS filesystems
   Loaded: loaded (/lib/systemd/system/zfs-mount.service; static)
   Active: active (exited) since Mon 2016-03-21 18:44:19 PDT; 1min 9s ago
  Process: 445 ExecStart=/sbin/zfs mount -a (code=exited, status=0/SUCCESS)
 Main PID: 445 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/zfs-mount.service

● zfs-share.service - ZFS file system shares
   Loaded: loaded (/lib/systemd/system/zfs-share.service; static)
   Active: active (exited) since Mon 2016-03-21 18:44:19 PDT; 1min 9s ago
  Process: 716 ExecStart=/sbin/zfs share -a (code=exited, status=0/SUCCESS)
  Process: 676 ExecStartPre=/bin/rm /etc/dfs/sharetab (code=exited, status=0/SUCCESS)
 Main PID: 716 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/zfs-share.service

● zfs-zed.service - ZFS Event Daemon (zed)
   Loaded: loaded (/lib/systemd/system/zfs-zed.service; static)
   Active: active (running) since Mon 2016-03-21 18:44:19 PDT; 1min 9s ago
     Docs: man:zed(8)
 Main PID: 677 (zed)
   CGroup: /system.slice/zfs-zed.service
           └─677 /sbin/zed -F

Mar 21 18:44:19 vbox1 zed[677]: ZFS Event Daemon 0.6.5.5-1 (PID 677)
Mar 21 18:44:19 vbox1 zed[677]: Processing events since eid=0

● zfs-import-cache.service - Import ZFS pools by cache file
   Loaded: loaded (/lib/systemd/system/zfs-import-cache.service; static)
   Active: inactive (dead)
           start condition failed at Mon 2016-03-21 18:44:19 PDT; 1min 9s ago
           ConditionPathExists=/etc/zfs/zpool.cache was not met

● zfs-import-scan.service - Import ZFS pools by device scanning
   Loaded: loaded (/lib/systemd/system/zfs-import-scan.service; static)
   Active: active (exited) since Mon 2016-03-21 18:44:19 PDT; 1min 9s ago
  Process: 443 ExecStart=/sbin/zpool import -d /dev/disk/by-id -aN (code=exited, status=0/SUCCESS)
  Process: 362 ExecStartPre=/sbin/modprobe zfs (code=exited, status=0/SUCCESS)
 Main PID: 443 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/zfs-import-scan.service

Mar 21 18:44:19 vbox1 zpool[443]: no pools available to import

root@vbox1:~# systemctl status 'zfs.target'
● zfs.target - ZFS startup target
   Loaded: loaded (/lib/systemd/system/zfs.target; enabled)
   Active: active since Mon 2016-03-21 18:44:19 PDT; 2min 17s ago

Check startup log: cat /var/log/daemon.log | grep ZFS

root@vbox1:~# cat /var/log/daemon.log | grep ZFS
Mar 21 18:44:19 vbox1 zed[677]: ZFS Event Daemon 0.6.5.5-1 (PID 677)

View installed zfs packages:

root@vbox1:~# dpkg -l | grep zfs
ii  kmod-zfs-3.16.0-4-amd64        0.6.5.5-1                   amd64        zfs kernel module(s) for 3.16.0-4-amd64
ii  kmod-zfs-devel                 0.6.5.5-1                   amd64        zfs kernel module(s) devel common
ii  kmod-zfs-devel-3.16.0-4-amd64  0.6.5.5-1                   amd64        zfs kernel module(s) devel for 3.16.0-4-amd64
ii  libzfs2                        0.6.5.5-1                   amd64        Native ZFS filesystem library for Linux
ii  libzfs2-devel                  0.6.5.5-1                   amd64        Development headers
ii  zfs                            0.6.5.5-1                   amd64        Commands to control the kernel modules and libraries
ii  zfs-dracut                     0.6.5.5-1                   amd64        Dracut module
ii  zfs-initramfs                  0.6.5.5-1                   amd64        Initramfs module
ii  zfs-test                       0.6.5.5-1                   amd64        Test infrastructure
azeemism commented 8 years ago

@richard-scott what criteria is guiding your decide to use DKMS over KMOD?

fajarnugraha commented 8 years ago

@Pentium100MHz : you should be able to get source for latest available package with "apt-get source". That is, assuming you've comment-out deb-src line in the revelant list file (/etc/apt/sources.list.d/*)

@azeemism : if you've been using the debian package and just want to upgrade, and are capable of compiling your own, see https://github.com/zfsonlinux/pkg-zfs/issues/181#issuecomment-195247281 . Or adjust from latest available source pacakge yourself, which should give the same result. That should be less-intrusive compared to uninstalling-current-dkms-debs-and-switch-to-kmod

@richard-scott : creating the debs aren't that hard. Adapting it to newer versions is also easy enough. But they DO take time, even more so if you're also going to add new features along the way.

miipekk commented 8 years ago

I have now created a new DKMS package of SPL and ZFS version 0.6.5.5 for Debian Jessie. Debs can be found at: http://ihme.org/~miipekk/zfs/

Please be careful when testing out these new packages. There could be something I haven't done right because this is the first time I have built these packages. When installing/upgrading, you should upgrade both spl and zfs debs at the same time. Not tested with zfs root filesystem, might work or not. Tested only on one system so far. No guarantees of anykind. Please report back how it works.

root@vmh:~# dmesg | egrep '(ZFS|SPL)' [ 7.296862] SPL: Loaded module v0.6.5.5-1 [ 7.627027] ZFS: Loaded module v0.6.5.5-1, ZFS pool version 5000, ZFS filesystem version 5 -- Miika Pekkarinen miipekk+github@ihme.org

richard-scott commented 8 years ago

@azeemism - DKMS seems to be the default install method when using the ZoL Repo files, so I wanted to stick with that.

@miipekk - Nice work on building the .debs :smile: ...Is it worth documenting and distributing your build process so it can be verified that nothing is missing?

doctorjames commented 8 years ago

@azeemism, @richard-scott DKMS makes using new kernels (e.g. from testing or backports) much easier as the new module is built automatically.