On 28/06/2012 18:39, Scott Sullivan wrote:
On 06/28/2012 10:38 AM, Gordan Bobic wrote:
On 06/28/2012 03:15 PM, Adrian Hardy wrote:
When I first started out with this endeavour, I kept getting OOM errors
during compilation so I started hacking away at the SPEC.
No swap? Linking will be painful, but at least it won't OOM. Swapping to
the SD card is painful (and it will hammer the SD card into premature
death), but swapping onto an iSCSI block device works pretty well, at
least for me.
While I was
there, I started removing targets to try and speed the process up. I
eventually gave up, added some swap (using a memory stick) and let it
compile overnight.
Ouch. Try iSCSI over ethernet, if you have another Linux box running
nearby. It should make a large dent in your 25 hour compile time. :)
In the Fedora ARM build farm they haven't yet gotten iSCSI set up, and
That's OK, we're not talking about the Fedora build farm. I'm using it
on my build farm and the experience is pleasantly uneventful.
NFS was causing build failures because there wasn't 100% implementation
of all the file systems operations/methods that some builds need.
Indeed, but the total number of packages that fail to build due to this
is less than half a dozen. I built everything on NFS, and then rebuilt
the handful of packages that failed due to being built on NFS on iSCSI.
At
last I heard they are NFS mounting a directory with two filesystems
images (buildroot and SWAP if I recall) and then loop back mounted those
images on the build machine.
Sounds overcomplicated. I have iSCSI for swap on all the machines and
NFS for /var/mock. I haven't got koji in place yet but I don't expect
that to be a problem.
This by-passed the limitations of NFS and actually improved performance
as NFS IO was done in bulk to just two files. It also has the benefit of
avoiding the complexity of having to understand iSCSI.
I wouldn't call iSCSI configuration complex.
You put something like:
Target iqn.2012-06.com.example:builder1-swap
Lun 0
Path=/dev/zvol/data/builder1-swap,Type=fileio,IOMode=wb,BlockSize=4096
Alias builder1-swap
in /etc/iet/ietd.conf on the server.
On the client you do something like:
iscsiadm -m discovery -t sendtargets -p 192.168.1.2
iscsiadm -m node -T iqn.2012-06.com.example:builder1-swap -p
Where 192.168.1.2 is your server IP, and you get a /dev/sd? node appear
on the client that you can do whatever you want with.
As a "good enough" and "constructive laziness" solution, it's a rather
reasonable one.
There are such a thing as excessive laziness and ignorance, though. Too
far toward them, and you end up with sub-optimal bodges that are just as
complex.
Gordan
_______________________________________________
users mailing list
[email protected]
http://lists.redsleeve.org/mailman/listinfo/users