Solved poudriere on ZFS: write failed, filesystem full

Hi,

I am a newbie to ZFS, but I've installed it on my laptop in order to learn about it (hey, it's a free country).

I am totatlly confused about what are the recommended poudriere.conf settings to use?

For example, there is the memory setting to use instead of TMPFS, but I configure TMPFS to be a memory device, with 512MB.

I couldn't build xorg with poudriere, because it failed building binutils, not using TMPFS.

Then I tried switching to TMPFS in poudriere.conf, and it kind of works.

But since the laptop's pretty quiet, I havent got a clue about the amount of reads and writes, and also don't know how to check the disk capacity ( df?) anymore.

I've googled but even the WIkipedia page on ZFS is, like, whaaaaat?

Any quick steps to properly setup ZFS/Poudriere?

CORE i3, 4 GB RAM, 500GB internal disk, 32GB USB partition to be added if possible, RAM to be upgraded at some point in the future.

Thanks
 
But since the laptop's pretty quiet, I havent got a clue about the amount of reads and writes, and also don't know how to check the disk capacity ( df?) anymore.
The traditional df(1) would still work.

A few other commands, specifically for ZFS, to remember:
zpool list
zfs list
zpool iostat

Any quick steps to properly setup ZFS/Poudriere?
Only set ZPOOL and perhaps ZROOTFS. Those are really the only ones that must be changed. Enabling tmpfs(5) is good, but you don't have a lot of RAM in this machine. It might end up being too small.
 
I did limit the ram in the config, that should fix out-of-memory problems, right? Swap space is 6G.

Regarding ZPOOL and ZROOTFS, the default value is "tank". I haven't got a clue what that value represents, since poudriere complained that there is no pool "tank".

So, I've put "zroot" in there. Probably a dumb thing to do, but that seemed like a sound dirty trick.

When configuration file comments refer to variables like $ZFSROOT, should they be defined in .profile? Same for CCACHE_DIR. There is a config for ccache, but do we need the environment variable as well?
 
I also would like to clean up after building the repo, whatever can be cleaned, but so as not to destroy common dependencies which will be sucked in by various packages ports. llvm, looking at you. What's the gist?
 
So, poudriere is just a port build automator with the ability to create pkg servers and make presets for combinations of ports and their options.

If I'm to learn it, I should first deal with building ports in the first place, and poudriere is just icing, right?

As for now, I will try to ignore the ZFS part, and act like I'm on UFS still. I'll comb through the Solaris documentation a bit, theirs is written very well.

It's just that my household is getting all CIA on me for having a brand new laptop for 4 days and had not even plugged the mouse in yet... :)
 
So, it took 4 hours to build llvm50 and now half of the other ports depend on llvm40.
 
Just for clarification: the poudriere.conf comments state the following:

[[...]] a memory device can be used to speedup the build. [[...]] TMPFS is generally faster [[than MFS]]

So which is the memory device? Because I have already set the /tmp as a memory device. Are they related?
 
Back
Top