gentoo low-power binary-package server

I want to setup a low-power device like the Pi perhaps, to compile and distribute gentoo packages to other computers on the local network at home. Almost all devices are mobile/laptop devices, much more powerful than the Pi, but only online occasionally.

This thought has been circulating in my head for a while now. And again I'm flushing my thoughts here.. and perhaps make them more coherent later.

A slower Pi might take a week to compile what might take a day or much less on other systems, but it consumes minimal power. A 24x7 low-power system might not be that much of a concern. Whereas, a 24x7 gas-guzzler would be a major concern.

Unless an update is needed right away, this would also make all devices more efficient. Devices can be powered up and down as needed, and need not be distracted by any ongoing compiles. Neither would they need gentoo build dependencies to be installed on each.

It is vastly inefficient for each device to compile everything all over again, particularly when each boots up only when necessary. Compiles are often interrupted before they finish. Compiles also suck in resources, and distract these devices from their immediate function. Perhaps I could have everything compiled on one central device, and allow all others to pull these compiled binary packages as and when they want.

Let's call this central device as Binary-Package Server, to serve binary packages as opposed to source packages.

I want this server to be low-power because I don't want the most power consuming device to be on all the time. My requirements are very minimal and can wait.

Since this server is probably the least powerful of the other devices, I want to share the load whenever possible. Server could offload some processing to any other device which connects in. This could become significantly more efficient, as more systems come online. Server will continue processing, when devices disconnect and/or go off.

If I decide on Pi, I need to consider it might not have an x86 chip, like all my other devices. I would also need to consider cross-compiling for different processors and different architectures.

Another advantage of this would be a lean & clean gentoo binary distribution on each device. No build-time dependencies needed on every device. Each device would be configured to install only binary packages from the server.

In effect, what I am proposing is to create a customised binary distribution, perhaps just like any other binary distro. Except, we don't install these binary packages from some distro's servers. So, what's the difference? We have a highly customised & efficient gentoo on each working device, without worrying each about any compiles etc.


http://wiki.gentoo.org/wiki/binary_package_guide
http://wiki.gentoo.org/wiki/distcc/Cross-Compiling

No comments:

Post a Comment

most viewed