Gentoo Logo
Gentoo Spaceship

Installation:
Gentoo Handbook
Installation Docs

Documentation:
Home
Listing
About Gentoo
Philosophy
Social Contract

Resources:
Bug Tracker
Developer List
Discussion Forums
Gentoo BitTorrents
Gentoo Linux Enhancement Proposals
IRC Channels
Mailing Lists
Mirrors
Name and Logo Guidelines
Online Package Database
Security Announcements
Staffing Needs
Supporting Vendors
View our CVS

Graphics:
Logos and themes
Icons
ScreenShots

Miscellaneous Resources:
Gentoo Linux Store
Gentoo-hosted projects
IBM dW/Intel article archive




List Archive: gentoo-soc
Navigation:
Lists: gentoo-soc: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-soc@g.o
From: Fabian Groffen <grobian@g.o>
Subject: Re: Online Image builder Proposal
Date: Sat, 4 Apr 2009 12:17:38 +0200
On 02-04-2009 20:32:21 +0000, ethankhall@... wrote:
> Online Image Builder
> 
> Objective: To provide the ability for the Gentoo users to have
> installable images built by a web server that would contact them when
> it was ready to be downloaded.
> 
> Abstract:  Using example front ends create a way to deliver a generic
> Gentoo system without having to have a user there to do the
> installation.  The delivery would then be provided in several formats
> (zip, tar.bz, bootable iso).  The user would be expected to install
> their own kernel, a genkernel will be shipped with the installation
> image but will not be suitable for every user so they *should* go and
> recompile it with their own options.

Just in case you don't have enough work.  The "prefix" files on
tinderbox.d.g.o do not come with a kernel or libc, as they are no
standalone systems.  Though you still can build an image out of them,
mounted/extracted to a given place (/var/tmp?).  They are even
unprivileged by default, so no root rights involved.

> Deliverable's:
> 
>   • A website (in PHP or Python) with the ability to take orders from
>     users, que them, and notify users when their build is ready to be
>     downloaded. 

Do you think of AJAX based strategies, or e.g. notification per e-mail
for busy times?  It's a waste if a user reloads or never picks up the
generated image that hold up others in your queue, of course.

>   • User documentation in an easy to understand format.
>   • A modular design so new things can be put into place with ease.
>   • A generic base system for x86 and amd64 (server and desktop of
>     each).
> 
> 
> Timeline:
> May 10th - 24th:
> 
>   • Get a standard set of use flags that will be applied to every
>     package (will be different for each system).

USE-flags are not really within your control, IMO.  You can only use the
USE-flags as used in each individual binpkg.  The most you can do is to
suggest default USE-flags for the builders.  In that area I see some
opportunities to spend some time, since you'll have to trade-off
usefullness of a package against how many you're going to need (and
possible unwanted features/dependencies).  Nice example is PHP which
might not be really usefull with most flags turned off.

>   • Get a standard set of packages that will be installed on each
>     system.

@system perhaps?

>   • Decide on standard CFLAGS to be used, most likly CFLAGS="-O2 -march
>     =i686 -pipe"

You will *have* to use very modest flags since you target a generic
arch.  So your example is fine, I think catalyst/portage-make.conf comes
with some sane defaults for the other arches.

>   • Begin work on Python script to do the install.
>   • Decide what platform will do the building.

Something fast, probably x86_64 ;)

> May 24th - June 8th:
> 
>   • Have Python script done and work on debugging it.
>   • Have the finalized set of packages that will be available to be
>     installed though the online tool.

Doesn't that depend on what is available to you (or what you can get
built)

>   • Begin work on the que system.
>   • Begin front end mock up/decide what mock up to use.
> 
> June 8th - June 22nd:
> 
>   • Do a build via the online (protected) front end and debug w/ que
>     utility.
>   • Decide what to include with each delivery.
>   • Prepare a bootable iso template.
>   • Have everything that is build saved in a binary form (to save time
>     for each build).
> 
> June 22nd - 29th:
> 
>   • Flex time for unanticipated problems.
> 
> June 29th - July 20th:
> 
>   • Have multiple people build systems concurrently(while website still
>     protected).  Test system tax's.
>   • Work out any bugs on the delivery system's.
>   • Find and fix system bottlenecks.
> 
> July 20th - August 10th:
> 
>   • Have the site open to the gentoo population with a request for
>     error's that happen on build.
>   • Fix error's.
>   • Generate a time from request to delivery time sample.
>   • Be able to predict (withing an hour or two) when a user's build
>     will be ready.
>   • Find and fix system bottlenecks.
> 
> August 10th - Onward:
> 
>   • Improve delivery system.
>   • Find and fix system bottlenecks.
>   • Fix error's.
>   • Make build system portable (so it can be taken to different
>     location ie. university, and have builds done by there servers with
>     even more customizability).

The coolest thing of course would be when you could select a predefined
image to be created for your arch, which then allows you to download a
preconfigured Gentoo installation that runs the image builder website :)


-- 
Fabian Groffen
Gentoo on a different level


References:
Online Image builder Proposal
-- ethankhall@...
Navigation:
Lists: gentoo-soc: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Online Image builder Proposal
Next by thread:
fast boot, again
Previous by date:
Re: Re: Gentoo stats server/client,
Next by date:
Re: About "Create and release a Gentoo stats server/client"


Updated Jun 17, 2009

Donate to support our development efforts.

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

php|architect

php|architect

Copyright 2001-2007 Gentoo Foundation, Inc. Questions, Comments? Email www@gentoo.org.