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: "ethankhall@..." <ethankhall@...>
Subject: Online Image builder Proposal
Date: Thu, 02 Apr 2009 20:32:21 +0000
I've shared a document with you called "Online Image builder": <BR><a href="http://docs.google.com/Doc?id=dh224f9_13d9btp4c2&invite=1199440422">http://docs.google.com/Doc?id=dh224f9_13d9btp4c2&invite=1199440422</a><BR><BR>It's not an attachment -- it's stored online at Google Docs. To open this document, just click the link above. <BR>---<BR><BR>Here is my proposal for the Online Image Builder.  Any comments or though would be greatly appreciated.   A copy of the document is included along with an invitation on Google Doc's for any changes that you see are necessary.<BR><BR><div style="padding-bottom: 10px">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<base target="_top">
<style type="text/css">
  

/* default css */

table {
  font-size: 1em;
  line-height: inherit;
  border-collapse: collapse;
}


tr {
  
  text-align: left;
  
}


div, address, ol, ul, li, option, select {
  margin-top: 0px;
  margin-bottom: 0px;
}

p {
  margin: 0px;
}


pre {
  font-family: Courier New;
  white-space: pre-wrap;
  margin:0;
}

body {
  margin: 6px;
  padding: 0px;
  font-family: Verdana, sans-serif;
  font-size: 10pt;
  background-color: #ffffff;
}


img {
  -moz-force-broken-image-icon: 1;
}

@media screen {
  html.pageview {
    background-color: #f3f3f3 !important;
  }

  

  body {
    min-height: 1100px;
    
    counter-reset: __goog_page__;
  }
  * html body {
    height: 1100px;
  }
  .pageview body {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: 2px solid #bbb;
    border-bottom: 2px solid #bbb;
    width: 648px !important;
    margin: 15px auto 25px;
    padding: 40px 50px;
  }
  /* IE6 */
  * html {
    overflow-y: scroll;
  }
  * html.pageview body {
    overflow-x: auto;
  }
  /* Prevent repaint errors when scrolling in Safari. This "Star-7" css hack
     targets Safari 3.1, but not WebKit nightlies and presumably Safari 4.
     That's OK because this bug is fixed in WebKit nightlies/Safari 4 :-). */
  html*#wys_frame::before {
    content: '\A0';
    position: fixed;
    overflow: hidden;
    width: 0;
    height: 0;
    top: 0;
    left: 0;
  }
  
  

  
    .writely-callout-data {
      display: none;
      *display: inline-block;
      *width: 0;
      *height: 0;
      *overflow: hidden;
    }
    .writely-footnote-marker {
      background-image: url('images/footnote_doc_icon.gif');
      background-color: transparent;
      background-repeat: no-repeat;
      width: 7px;
      overflow: hidden;
      height: 16px;
      vertical-align: top;

      
      -moz-user-select: none;
    }
    .editor .writely-footnote-marker {
      cursor: move;
    }
    .writely-footnote-marker-highlight {
      background-position: -15px 0;
      -moz-user-select: text;
    }
    .writely-footnote-hide-selection ::-moz-selection, .writely-footnote-hide-selection::-moz-selection {
      background: transparent;
    }
    .writely-footnote-hide-selection ::selection, .writely-footnote-hide-selection::selection {
      background: transparent;
    }
    .writely-footnote-hide-selection {
      cursor: move;
    }

    
    .editor .writely-comment-yellow {
      background-color: #FF9;
      background-position: -240px 0;
    }
    .editor .writely-comment-yellow-hover {
      background-color: #FF0;
      background-position: -224px 0;
    }
    .editor .writely-comment-blue {
      background-color: #C0D3FF;
      background-position: -16px 0;
    }
    .editor .writely-comment-blue-hover {
      background-color: #6292FE;
      background-position: 0 0;
    }
    .editor .writely-comment-orange {
      background-color: #FFDEAD;
      background-position: -80px 0;
    }
    .editor .writely-comment-orange-hover {
      background-color: #F90;
      background-position: -64px 0;
    }
    .editor .writely-comment-green {
      background-color: #99FBB3;
      background-position: -48px 0;
    }
    .editor .writely-comment-green-hover {
      background-color: #00F442;
      background-position: -32px 0;
    }
    .editor .writely-comment-cyan {
      background-color: #CFF;
      background-position: -208px 0;
    }
    .editor .writely-comment-cyan-hover {
      background-color: #0FF;
      background-position: -192px 0;
    }
    .editor .writely-comment-purple {
      background-color: #EBCCFF;
      background-position: -144px 0;
    }
    .editor .writely-comment-purple-hover {
      background-color: #90F;
      background-position: -128px 0;
    }
    .editor .writely-comment-magenta {
      background-color: #FCF;
      background-position: -112px 0;
    }
    .editor .writely-comment-magenta-hover {
      background-color: #F0F;
      background-position: -96px 0;
    }
    .editor .writely-comment-red {
      background-color: #FFCACA;
      background-position: -176px 0;
    }
    .editor .writely-comment-red-hover {
      background-color: #FF7A7A;
      background-position: -160px 0;
    }

    .editor .writely-comment-marker {
      background-image: url('images/markericons_horiz.gif');
      background-color: transparent;
      padding-right: 11px;
      background-repeat: no-repeat;
      width: 16px;
      height: 16px;
      -moz-user-select: none;
    }

    .editor .writely-comment-hidden {
      padding: 0;
      background: none;
    }
    .editor .writely-comment-marker-hidden {
      background: none;
      padding: 0;
      width: 0;
    }
    .editor .writely-comment-none {
      opacity: .2;
      filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);
      -moz-opacity: .2;
    }
    .editor .writely-comment-none-hover {
      opacity: .2;
      filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);
      -moz-opacity: .2;
    }
  


  
  .br_fix br:not(:-moz-last-node):not(:-moz-first-node) {
    
    position:relative;
    
    left: -1ex
    
  }
  
  .br_fix br+br {
    position: static !important
  }
}

h6 { font-size: 8pt }
h5 { font-size: 8pt }
h4 { font-size: 10pt }
h3 { font-size: 12pt }
h2 { font-size: 14pt }
h1 { font-size: 18pt }

blockquote {padding: 10px; border: 1px #DDD dashed }

a img {border: 0}

.pb {
  border-width: 0;
  page-break-after: always;
  /* We don't want this to be resizeable, so enforce a width and height
     using !important */
  height: 1px !important;
  width: 100% !important;
}

.editor .pb {
  border-top: 1px dashed #C0C0C0;
  border-bottom: 1px dashed #C0C0C0;
}

div.google_header, div.google_footer {
  position: relative;
  margin-top: 1em;
  margin-bottom: 1em;
}


/* Table of contents */
.editor div.writely-toc {
  background-color: #f3f3f3;
  border: 1px solid #ccc;
}
.writely-toc > ol {
  padding-left: 3em;
  font-weight: bold;
}
ol.writely-toc-subheading {
  padding-left: 1em;
  font-weight: normal;
}
/* IE6 only */
* html writely-toc ol {
  list-style-position: inside;
}
.writely-toc-none {
  list-style-type: none;
}
.writely-toc-decimal {
  list-style-type: decimal;
}
.writely-toc-upper-alpha {
  list-style-type: upper-alpha;
}
.writely-toc-lower-alpha {
  list-style-type: lower-alpha;
}
.writely-toc-upper-roman {
  list-style-type: upper-roman;
}
.writely-toc-lower-roman {
  list-style-type: lower-roman;
}
.writely-toc-disc {
  list-style-type: disc;
}

/* Ordered lists converted to numbered lists can preserve ordered types, and
   vice versa. This is confusing, so disallow it */
ul[type="i"], ul[type="I"], ul[type="1"], ul[type="a"], ul[type="A"] {
  list-style-type: disc;
}

ol[type="disc"], ol[type="circle"], ol[type="square"] {
  list-style-type: decimal;
}

/* end default css */


  /* default print css */
  
  @media print {
    body {
      padding: 0;
      margin: 0;
    }

    div.google_header, div.google_footer {
      display: block;
      min-height: 0;
      border: none;
    }

    div.google_header {
      flow: static(header);
    }

    /* used to insert page numbers */
    div.google_header::before, div.google_footer::before {
      position: absolute;
      top: 0;
    }

    div.google_footer {
      flow: static(footer);
    }

    /* always consider this element at the start of the doc */
    div#google_footer {
      flow: static(footer, start);
    }

    span.google_pagenumber {
      content: counter(page);
    }

    span.google_pagecount {
      content: counter(pages);
    }


    callout.google_footnote {
      
      display: prince-footnote;
      footnote-style-position: inside;
      /* These styles keep the footnote from taking on the style of the text
         surrounding the footnote marker. They can be overridden in the
         document CSS. */
      color: #000;
      font-family: Verdana;
      font-size: 10.0pt;
      font-weight: normal;
    }

    /* Table of contents */
    #WritelyTableOfContents a::after {
      content: leader('.') target-counter(attr(href), page);
    }

    #WritelyTableOfContents a {
      text-decoration: none;
      color: black;
    }
  }

  @page {
    @top {
      content: flow(header);
    }
    @bottom {
      content: flow(footer);
    }
    @footnotes {
      border-top: solid black thin;
      padding-top: 8pt;
    }
  }
  /* end default print css */


/* custom css */


/* end custom css */

/* ui edited css */

body {
  font-family: Verdana;
  
  font-size: 10.0pt;
  line-height: normal;
  background-color: #ffffff;
}
/* end ui edited css */


/* editor CSS */
.editor a:visited {color: #551A8B}
.editor table.zeroBorder {border: 1px dotted gray}
.editor table.zeroBorder td {border: 1px dotted gray}
.editor table.zeroBorder th {border: 1px dotted gray}


.editor div.google_header, .editor div.google_footer {
  border: 2px #DDDDDD dashed;
  position: static;
  width: 100%;
  min-height: 2em;
}

.editor .misspell {background-color: yellow}

.editor .writely-comment {
  font-size: 9pt;
  line-height: 1.4;
  padding: 1px;
  border: 1px dashed #C0C0C0
}


/* end editor CSS */

</style>

  
  <title>Online Image builder</title>

</head>

<body
    
    
    revision="dh224f9_13d9btp4c2:46">

    
    
    
<font size=4><b>Online Image Builder</b></font><br>
<br>
<b>Objective:</b> 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.<br>
<br>
<b>Abstract:</b>&nbsp; Using example front ends create a way to deliver a generic Gentoo system without having to have a user there to do the installation.&nbsp; The delivery would then be provided in several formats (zip, tar.bz, bootable iso).&nbsp; 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.<br>
<br>
<b>Deliverable's</b><b>:</b><br>
<ul>
  <li>
    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.&nbsp;
  </li>
  <li>
    User documentation in an easy to understand format.
  </li>
  <li>
    A modular design so new things can be put into place with ease.
  </li>
  <li>
    A generic base system for x86 and amd64 (server and desktop of each).<br>
  </li>
</ul>
<br>
<b>Timeline:</b><br>
May 10th - 24th:<br>
<ul>
  <li>
    Get a standard set of use flags that will be applied to every package (will be different for each system).
  </li>
  <li>
    Get a standard set of packages that will be installed on each system.
  </li>
  <li>
    Decide on standard CFLAGS to be used, most likly CFLAGS="-O2 -march=i686 -pipe"<br>
  </li>
  <li>
    Begin work on Python script to do the install.
  </li>
  <li>
    Decide what platform will do the building.<br>
  </li>
</ul>
May 24th - June 8th:<br>
<ul>
  <li>
    Have Python script done and work on debugging it.
  </li>
  <li>
    Have the finalized set of packages that will be available to be installed though the online tool.
  </li>
  <li>
    Begin work on the que system.
  </li>
  <li>
    Begin front end mock up/decide what mock up to use.
  </li>
</ul>
June 8th - June 22nd:<br>
<ul>
  <li>
    Do a build via the online (protected) front end and debug w/ que utility.
  </li>
  <li>
    Decide what to include with each delivery.
  </li>
  <li>
    Prepare a bootable iso template.
  </li>
  <li>
    Have everything that is build saved in a binary form (to save time for each build).
  </li>
</ul>
June 22nd - 29th:<br>
<ul>
  <li>
    Flex time for unanticipated problems.
  </li>
</ul>
June 29th - July 20th:<br>
<ul>
  <li>
    Have multiple people build systems concurrently(while website still protected).&nbsp; Test system tax's.
  </li>
  <li>
    Work out any bugs on the delivery system's.
  </li>
  <li>
    Find and fix system bottlenecks.
  </li>
</ul>
July 20th - August 10th:<br>
<ul>
  <li>
    Have the site open to the gentoo population with a request for error's that happen on build.
  </li>
  <li>
    Fix error's.
  </li>
  <li>
    Generate a time from request to delivery time sample.
  </li>
  <li>
    Be able to predict (withing an hour or two) when a user's build will be ready.
  </li>
  <li>
    Find and fix system bottlenecks.
  </li>
</ul>
August 10th - Onward:<br>
<ul>
  <li>
    Improve delivery system.
  </li>
  <li>
    Find and fix system bottlenecks.
  </li>
  <li>
    Fix error's.
  </li>
  <li>
    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).<br>
  </li>
</ul>
<br>
<b>About me:</b><br>
<span style=FONT-SIZE:100%><span class=mw-headline>My name is Ethan Hall, I am currently a sophomore in the college of Computer and Electrical Engineering at Purdue University. I am 20 years old My&nbsp; parents are currently located in VA, my mom has just started an alpaca farm, we will see how well that goes. In my free time I like to swing dance,&nbsp; mostly. I am currently the designer for Night Train swing dance club. I love it, it gives me a way to relax, and mingle with people after a hard day of engineering homework. One of my goals every semester is to try to bring my friends into the swing club so they can experience it too. Lets face it, there is a reason that the stereotypical engineer is a nerd who plays video games all the time. I also like to ride motorcycles but as of yet to own one, this is one of my summer goals. I am in a call at Purdue called EPICS and it has been a great way for me to get my feet wet with actual applications of of products. My team works for a museum called Imagination Station, and I personal am a co-team leader. The project I work on is called the LASER maze, it teaches kids about LASER's reflection and reflection. It has shown me some really cool things and make me realize why there are "warranty void if opened" stickers on everything. When one thing starts to work anther stops working. AHH agrivating.</span></span><br></body>
</html></div>
Replies:
Re: Online Image builder Proposal
-- Fabian Groffen
Navigation:
Lists: gentoo-soc: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Some experiments on Fast Boot
Next by thread:
Re: Online Image builder Proposal
Previous by date:
Re: About "Create and release a Gentoo stats server/client"
Next by date:
fast boot, again


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.