<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nubae</id>
	<title>Sugar Labs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nubae"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/go/Special:Contributions/Nubae"/>
	<updated>2026-05-31T07:16:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Service/smtp&amp;diff=64573</id>
		<title>Service/smtp</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Service/smtp&amp;diff=64573"/>
		<updated>2011-04-08T14:28:51Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
! hostname           !! service    !! port !! function&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || smtp       || 25   || Local delivery (plain SMTP)&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || [http://www.faqs.org/rfcs/rfc2476.html submission] || 587  || Email relay (SMTP with STARTTLS, password authentication required)&lt;br /&gt;
|-&lt;br /&gt;
| smtp.sugarlabs.org || smtps      || 465  || Email relay (SMTP with SSL, password authentication required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hosted on ==&lt;br /&gt;
&lt;br /&gt;
[[Machine/sunjammer]]&lt;br /&gt;
&lt;br /&gt;
== Administrative contact ==&lt;br /&gt;
&lt;br /&gt;
* postmaster AT sugarlabs DOT org&lt;br /&gt;
&lt;br /&gt;
== Sysadmins ==&lt;br /&gt;
&lt;br /&gt;
* [[User:Bernie|Bernie Innocenti]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Users with a Sugar Labs [[Service/shell|shell account]] on can use our SMTP relay for personal email submission. Any abuse will be prosecuted.&lt;br /&gt;
&lt;br /&gt;
* Preferably use the [http://www.faqs.org/rfcs/rfc2476.html submission] port for email relay. Unauthenticated and unencrypted connections are not allowed to relay.&lt;br /&gt;
&lt;br /&gt;
* smtp.sugarlabs.org is *not* the MX for the sugarlabs.org.&lt;br /&gt;
Google Apps handles our domain and forwards to smtp.sugarlabs.org for unknown users&lt;br /&gt;
&lt;br /&gt;
* Just for those of you wanting to use just one email client (namely gmail in this case), you can simply add a second account to run through gmail (say user@activitiycentral.com or user@sugarlabs.org) and it will then allow you to choose which account you&#039;d like to send from.&lt;br /&gt;
&lt;br /&gt;
 - To do this u need to login to your gmail account and go the following url its pretty hiddeb away: https://mail.google.com/mail/?tab=om#settings/accounts&lt;br /&gt;
 Then choose send mail from another address and follow the instructioins for sending out via smtp.sugarlabs.org&lt;br /&gt;
&lt;br /&gt;
== SPF ==&lt;br /&gt;
&lt;br /&gt;
Our domains use a non-strict (~all) [http://en.wikipedia.org/wiki/Sender_Policy_Framework SPF] record.&lt;br /&gt;
&lt;br /&gt;
If you send email with sugarlabs.org in the From: header, then you &#039;&#039;&#039;MUST&#039;&#039;&#039; submit it to our&lt;br /&gt;
SMTP server.&lt;br /&gt;
&lt;br /&gt;
== DKIM ==&lt;br /&gt;
&lt;br /&gt;
Our domain publishes a &#039;&#039;&#039;test&#039;&#039;&#039; [http://en.wikipedia.org/wiki/DKIM DKIM] key. All outgoing email&lt;br /&gt;
is signed, but at this time verifiers will ignore our DKIM signature.&lt;br /&gt;
&lt;br /&gt;
To test DKIM, send an email to autorespond+dkim@dk.elandsys.com&lt;br /&gt;
&lt;br /&gt;
In anticipation of switching on strict DKIM verification, all email for the sugarlabs.org domain&lt;br /&gt;
must be submitted to our SMTP server. Failure to do so may result in your email being occasionally&lt;br /&gt;
blocked by spam filters.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
[[Service/imap]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Service|imap]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64045</id>
		<title>Dextrose/Server/Addons</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64045"/>
		<updated>2011-03-27T15:24:35Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some changes that will be included in the dextrose server, a lot of it based on work done by the AU olpc guys.&lt;br /&gt;
&lt;br /&gt;
Take out active antenna stuff:&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 # clean up active antenna stuff and superflous network connections here:&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-lanbond0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-eth0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-eth1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:2&lt;br /&gt;
&lt;br /&gt;
Make custom named based on original XS:&lt;br /&gt;
&lt;br /&gt;
 # setup custom named&lt;br /&gt;
 mv /sbin/ifup-local /sbin/ifup-local.rpmsave&lt;br /&gt;
 cat &amp;gt; /sbin/ifup-local &amp;lt;&amp;lt;EOF&lt;br /&gt;
 # Authors: Jerry Vonau &amp;lt;jvonau@shaw.ca&amp;gt;&lt;br /&gt;
 #          Martin Langhoff &amp;lt;martin@laptop.org&amp;gt;&lt;br /&gt;
 #  &lt;br /&gt;
 if [ x&amp;quot;\${1}&amp;quot; = x ]; then&lt;br /&gt;
     exit&lt;br /&gt;
 else&lt;br /&gt;
      case \$1 in&lt;br /&gt;
 	   eth0|ppp0)&lt;br /&gt;
             namedtpl=/etc/named-xs.conf.tpl&lt;br /&gt;
             namedconf=/etc/named-xs.conf&lt;br /&gt;
             FWD=&amp;quot;&amp;quot;&lt;br /&gt;
             for i in \`cat /etc/resolv.conf | grep nameserver | awk  &#039;{print \$2}&#039;\`; &lt;br /&gt;
             do &lt;br /&gt;
                 if [ x\$i != x127.0.0.1 ]; then&lt;br /&gt;
                     FWD=&amp;quot;\$FWD \$i;&amp;quot;&lt;br /&gt;
 	 	  else&lt;br /&gt;
                    exit    &lt;br /&gt;
 	 	  fi&lt;br /&gt;
             done &lt;br /&gt;
 	      cp \$namedtpl \$namedconf &lt;br /&gt;
             logger &amp;quot;changing /etc/named-xs.conf using forwarders \$FWD&amp;quot;&lt;br /&gt;
             sed -i -e &amp;quot;s/@@BASEDNSFWD@@/\$FWD/&amp;quot; \$namedconf&lt;br /&gt;
             logger &amp;quot;changing /etc/resolv.conf for principal school server&amp;quot;&lt;br /&gt;
 	      cp /etc/sysconfig/olpc-scripts/resolv.conf /etc/resolv.conf  &lt;br /&gt;
 	      ;;&lt;br /&gt;
     esac&lt;br /&gt;
 fi&lt;br /&gt;
 EOF&lt;br /&gt;
 chmod 755 /sbin/ifup-local&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64044</id>
		<title>Dextrose/Server/Addons</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64044"/>
		<updated>2011-03-27T15:18:51Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some changes that will be included in the dextrose server, a lot of it based on work done by the AU olpc guys.&lt;br /&gt;
&lt;br /&gt;
Take out active antenna stuff:&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 # clean up active antenna stuff and superflous network connections here:&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-lanbond0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-eth0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-eth1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:2&lt;br /&gt;
&lt;br /&gt;
Make custom named based on original XS:&lt;br /&gt;
&lt;br /&gt;
 # setup custom named&lt;br /&gt;
 mv /sbin/ifup-local /sbin/ifup-local.rpmsave&lt;br /&gt;
 cat &amp;gt; /sbin/ifup-local &amp;lt;&amp;lt;EOF&lt;br /&gt;
 # Authors: Jerry Vonau &amp;lt;jvonau@shaw.ca&amp;gt;&lt;br /&gt;
 #          Martin Langhoff &amp;lt;martin@laptop.org&amp;gt;&lt;br /&gt;
 #  &lt;br /&gt;
 if [ x&amp;quot;\${1}&amp;quot; = x ]; then&lt;br /&gt;
     exit&lt;br /&gt;
 else&lt;br /&gt;
     case \$1 in&lt;br /&gt;
	   eth0|ppp0)&lt;br /&gt;
             namedtpl=/etc/named-xs.conf.tpl&lt;br /&gt;
             namedconf=/etc/named-xs.conf&lt;br /&gt;
             FWD=&amp;quot;&amp;quot;&lt;br /&gt;
             for i in \`cat /etc/resolv.conf | grep nameserver | awk  &#039;{print \$2}&#039;\`; &lt;br /&gt;
             do &lt;br /&gt;
                 if [ x\$i != x127.0.0.1 ]; then&lt;br /&gt;
                     FWD=&amp;quot;\$FWD \$i;&amp;quot;&lt;br /&gt;
	 	  else&lt;br /&gt;
                    exit    &lt;br /&gt;
	 	  fi&lt;br /&gt;
             done &lt;br /&gt;
	     cp \$namedtpl \$namedconf &lt;br /&gt;
             logger &amp;quot;changing /etc/named-xs.conf using forwarders \$FWD&amp;quot;&lt;br /&gt;
             sed -i -e &amp;quot;s/@@BASEDNSFWD@@/\$FWD/&amp;quot; \$namedconf&lt;br /&gt;
&lt;br /&gt;
             logger &amp;quot;changing /etc/resolv.conf for principal school server&amp;quot;&lt;br /&gt;
	     cp /etc/sysconfig/olpc-scripts/resolv.conf /etc/resolv.conf  &lt;br /&gt;
	     ;;&lt;br /&gt;
     esac&lt;br /&gt;
 fi&lt;br /&gt;
 EOF&lt;br /&gt;
 chmod 755 /sbin/ifup-local&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64043</id>
		<title>Dextrose/Server/Addons</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Addons&amp;diff=64043"/>
		<updated>2011-03-27T14:54:03Z</updated>

		<summary type="html">&lt;p&gt;Nubae: Created page with &amp;quot;Some changes that will be included in the dextrose server, a lot of it based on work done by the AU olpc guys.  Take out active antenna stuff:  	  # clean up active antenna stuff...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some changes that will be included in the dextrose server, a lot of it based on work done by the AU olpc guys.&lt;br /&gt;
&lt;br /&gt;
Take out active antenna stuff:&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
 # clean up active antenna stuff and superflous network connections here:&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-lanbond0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/route-eth0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-mshbond2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-msh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-wmesh2&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-eth1&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0&lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:0 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:1 &lt;br /&gt;
 rm -f /etc/sysconfig/network-scripts/ifcfg-lanbond0:2&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63981</id>
		<title>Dextrose/Server/DebianBuilding</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63981"/>
		<updated>2011-03-24T08:34:42Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 install. The instructions below should help to create an unattended install with all the necessary components that mirror what is being done for the RHEL 6 automated install.&lt;br /&gt;
&lt;br /&gt;
Here’s a definition from the FAI Guide at http://www.informatik.uni-koeln.de/fai/fai-guide/ch-intro.html: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“FAI is a noninteractive system to install a Debian GNU/Linux operating system on a single computer or a whole cluster. You can take one or more virgin PCs, turn on the power and after a few minutes Linux is installed, configured, and running on the whole cluster, without any interaction necessary. Thus, it’s a scalable method for installing and updating a cluster unattended with little effort involved. FAI uses the Debian GNU/Linux distribution and a collection of shell and Perl scripts for the installation process. Changes to the configuration files of the operating system can be made by cfengine, shell, Perl, and Expect scripts. Note the mention of cfengine scripts used during the installation process. Those familiar with cfengine can easily understand FAI configuration and usage. FAI also has the concept of classes at its core, and uses assignment to classes and the definitions assigned to those classes to determine how a host is installed and configured.”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the steps required to set up FAI from scratch and image our first Debian system:&lt;br /&gt;
&lt;br /&gt;
1. Install Debian system manually for use as automation installation server&lt;br /&gt;
&lt;br /&gt;
2. Install the FAI packages along with dependent packages on the new system&lt;br /&gt;
&lt;br /&gt;
3. Configure FAI&lt;br /&gt;
&lt;br /&gt;
4. Run FAI-setup&lt;br /&gt;
&lt;br /&gt;
5. configure network booting for further server installs&lt;br /&gt;
&lt;br /&gt;
Below you will find the actual technical details that will turn a Debian based system to include and encompass the required additions to turn it into as close as possible to a schoolserver (much of it XS based) but mostly a synergy of what has been done to turn the RHEL6 server into something we can call not only usable but required. In the most simplest of tersm it means, taking what is included in the old Fedora XS server and the newer RHEL6 sever components, to allow it to be used as a KISS server whereby what ever we advertise (AC) actually works in the forthecoming prototypes. Please... remember... this is only the 1st month we&#039;ve been working on this, so cut us some slack. The end resut will surely do more than ust turn heads. We are here to worth with the community and do whtas some might say is the imposssible.&lt;br /&gt;
&lt;br /&gt;
6. Customise installation process for all systems, as well as special configuration particular to our first auto-installer&lt;br /&gt;
&lt;br /&gt;
7. Boot and install our first FAI server system without hitches, find any bugs that might arise, fix them, and try again&lt;br /&gt;
&lt;br /&gt;
8. Test the whole procedure in a small setup of 3-4 servers (these can be VMS, but we will use a non vm machine too, to make sure nothing out of the ordinary pops up)&lt;br /&gt;
&lt;br /&gt;
[[Full Instruction Set to Build Deb 6 Deployer]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63265</id>
		<title>Dextrose/Server/DebianBuilding</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63265"/>
		<updated>2011-03-08T18:42:42Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 install. The instructions below should help to create an unattended install with all the necessary components that mirror what is being done for the RHEL 6 automated install.&lt;br /&gt;
&lt;br /&gt;
Here’s a definition from the FAI Guide at http://www.informatik.uni-koeln.de/fai/fai-guide/ch-intro.html: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“FAI is a noninteractive system to install a Debian GNU/Linux operating system on a single computer or a whole cluster. You can take one or more virgin PCs, turn on the power and after a few minutes Linux is installed, configured, and running on the whole cluster, without any interaction necessary. Thus, it’s a scalable method for installing and updating a cluster unattended with little effort involved. FAI uses the Debian GNU/Linux distribution and a collection of shell and Perl scripts for the installation process. Changes to the configuration files of the operating system can be made by cfengine, shell, Perl, and Expect scripts. Note the mention of cfengine scripts used during the installation process. Those familiar with cfengine can easily understand FAI configuration and usage. FAI also has the concept of classes at its core, and uses assignment to classes and the definitions assigned to those classes to determine how a host is installed and configured.”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the steps required to set up FAI from scratch and image our first Debian system:&lt;br /&gt;
&lt;br /&gt;
1. Install Debian system manually for use as automation installation server&lt;br /&gt;
&lt;br /&gt;
2. Install the FAI packages along with dependent packages on the new system&lt;br /&gt;
&lt;br /&gt;
3. Configure FAI&lt;br /&gt;
&lt;br /&gt;
4. Run FAI-setup&lt;br /&gt;
&lt;br /&gt;
5. configure network booting for further server installs&lt;br /&gt;
&lt;br /&gt;
Below you will find the actual technical details that will turn a Debina based system to include and encompass the required additions to turn it into as close as possible to a schoolserver (much of it XS based) but mostly a synergy of what has been done to turn the RHEL6 server into something we can call not only usable but required. In the most simplest of tersm it means, taking what is included in the old Fedora XS server and the newer RHEL6 sever components, to allow it to be used as a KISS server whereby what ever we advertise (AC) actually works in the forthecoming prototypes. Please... remember... this is only the 1st month we&#039;ve been working on this, so cut us some slack. The end resut will surely do more than ust turn heads. We are here to worth with the community and do whtas some might say is the imposssible.&lt;br /&gt;
&lt;br /&gt;
6. Customise installation process for all systems, as well as special configuration particular to our first auto-installer&lt;br /&gt;
&lt;br /&gt;
7. Boot and install our first FAI server system without hitches, find any bugs that might arise, fixe them, and try again&lt;br /&gt;
&lt;br /&gt;
8. Test the whole procedure in a small setup of 3-4 servers (these can be VMS, but we will use a non vm machine too, to make sure nothing out of the ordinary pops up)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63219</id>
		<title>Dextrose/Server/DebianBuilding</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63219"/>
		<updated>2011-03-07T22:52:39Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 install. The instructions below should help to create an unattended install with all the necessary components that mirror what is being done for the RHEL 6 automated install.&lt;br /&gt;
&lt;br /&gt;
Here’s a definition from the FAI Guide at http://www.informatik.uni-koeln.de/fai/fai-guide/ch-intro.html: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“FAI is a noninteractive system to install a Debian GNU/Linux operating system on a single computer or a whole cluster. You can take one or more virgin PCs, turn on the power and after a few minutes Linux is installed, configured, and running on the whole cluster, without any interaction necessary. Thus, it’s a scalable method for installing and updating a cluster unattended with little effort involved. FAI uses the Debian GNU/Linux distribution and a collection of shell and Perl scripts for the installation process. Changes to the configuration files of the operating system can be made by cfengine, shell, Perl, and Expect scripts. Note the mention of cfengine scripts used during the installation process. Those familiar with cfengine can easily understand FAI configuration and usage. FAI also has the concept of classes at its core, and uses assignment to classes and the definitions assigned to those classes to determine how a host is installed and configured.”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the steps required to set up FAI from scratch and image our first Debian system:&lt;br /&gt;
&lt;br /&gt;
1. Install Debian system manually for use as automation installation server&lt;br /&gt;
&lt;br /&gt;
2. Install the FAI packages along with dependent packages on the new system&lt;br /&gt;
&lt;br /&gt;
3. Configure FAI&lt;br /&gt;
&lt;br /&gt;
4. Run FAI-setup&lt;br /&gt;
&lt;br /&gt;
5. configure network booting for further server installs&lt;br /&gt;
&lt;br /&gt;
6. Customise installation process for all systems, as well as special configuration particular to our first auto-installer&lt;br /&gt;
&lt;br /&gt;
7. Boot and install our first FAI server system without hitches, find any bugs that might arise, fixe them, and try again&lt;br /&gt;
&lt;br /&gt;
8. Test the whole procedure in a small setup of 3-4 servers (these can be VMS, but we will use a non vm machine too, to make sure nothing out of the ordinary pops up)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63218</id>
		<title>Dextrose/Server/DebianBuilding</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=63218"/>
		<updated>2011-03-07T22:49:35Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 install. The instructions below should help to create an unattended install with all the necessary components that mirror what is being done for the RHEL 6 automated install.&lt;br /&gt;
&lt;br /&gt;
Here’s a definition from the FAI Guide at http://www.informatik.uni-koeln.de/fai/fai-guide/ch-intro.html: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;“FAI is a noninteractive system to install a Debian GNU/Linux operating system on a single computer or a whole cluster. You can take one or more virgin PCs, turn on the power and after a few minutes Linux is installed, configured, and running on the whole cluster, without any interaction necessary. Thus, it’s a scalable method for installing and updating a cluster unattended with little effort involved. FAI uses the Debian GNU/Linux distribution and a collection of shell and Perl scripts for the installation process. Changes to the configuration files of the operating system can be made by cfengine, shell, Perl, and Expect scripts. Note the mention of cfengine scripts used during the installation process. Those familiar with cfengine can easily understand FAI configuration and usage. FAI also has the concept of classes at its core, and uses assignment to classes and the definitions assigned to those classes to determine how a host is installed and configured.”&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here are the steps required to set up FAI from scratch and image our first Debian system:&lt;br /&gt;
&lt;br /&gt;
1. Install Debian system manually for use as automation installation server&lt;br /&gt;
&lt;br /&gt;
2. Install the FAI packages along with dependent packages on the new system&lt;br /&gt;
&lt;br /&gt;
3. Configure FAI&lt;br /&gt;
&lt;br /&gt;
4. Run FAI-setup&lt;br /&gt;
&lt;br /&gt;
5. configure network booting for further server installs&lt;br /&gt;
&lt;br /&gt;
6. Customise installation process for all systems, as well as special configuration particular to our first auto-installer&lt;br /&gt;
&lt;br /&gt;
7. Boot and install our first FAI server system without hitches, find any bugs that might arise, fixe them, and try again&lt;br /&gt;
&lt;br /&gt;
8. Test the whole procedure in a small setup of 3-4 servers (these can be VMS, but we will use a non vm machine too, to make sure nothing out of the ordinary pops up&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63213</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63213"/>
		<updated>2011-03-07T21:01:24Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
Before diving straight into what the Dextrose server is, should and will be, I&#039;d like to talk a little about policy, and the way its used in both small, medium and defenitely large companies. This policy document, is usually written with 2 essential ideas in mind, and passed around the company or often even expected to be known instinctively by all company employees of all categories (we&#039;ll mention just the relevant parties here):&lt;br /&gt;
&lt;br /&gt;
1. Techies tend to have the mindset that, whatever it takes, however long it takes, and however many other systems are affected is not something they ought to be aware of nor is it really their problem. Adhering to a strict policy stops this kind of thinking from happening. Techies are unfortuantely almost all culpable in some way or another of this condition [me included], which is why they/we are usually very good at finding a solution for almost anything, but also very good at bringing a system down in order to resolve it.&lt;br /&gt;
&lt;br /&gt;
2. On the other hand a more admin-like policy perspèctive, is that what a techie does comes second to having a fully functional system that does not crash, change too often, or make dramatic changes to the policy document in place. In other words, if its not broken they shouldn&#039;t fix it. The problem here lies in the fact that most admins/managers don&#039;t realise that not being continously aware of the system, understanding how it works, when updates are required and such, are just as important as keeping the system running. Policy, therefore, for them strictly outlines that updates, especially security related ones must be perfomed on a reguar cycle, power systems must be checked, internet connectivity, etc, etc. For them it is a kind of checklist that needs to be performed every so often.&lt;br /&gt;
&lt;br /&gt;
Normally, small companies notice the terrible state of affairs that occurs when either one or more commonly both of these groups of people ignore policy altogether, resulting in the numerous non-functional servers in the field. And if the techies and managers/admins/deployers are not taking much notice of policy, you can imagine how much attention a teacher or headmaser gives it. Ususally this third group of people are very briefly made aware of a certain set of steps they should adhere to, when problems occur. It is usually not well explained, possibly only in one language, and thought of as a weird document that some guy wrote way up the food chain, that has never been in the field, and couldn&#039;t possibly have written anything that might help the particular problem they are experiencing. &lt;br /&gt;
&lt;br /&gt;
The end result of this is usually many many broken systems all because a proper structure was either not created in the first place (most commonly) or it being ignored due to too much growth, too much turn around, or not enough people to enforce and more commonly believe in the policy document.&lt;br /&gt;
&lt;br /&gt;
This is one of the main reasons, automation was integrated into larger companies that want to do a number of differing jobs, but that all revolve around strictly following a policy (who can do what, when, how it should be done, what every member is responsible for, etc) Unfortuantely, companies rarely comply fully with policy, but by automating the processes for building the servers we want to create, it almost creates the policy for us. Of course this involves documentation!&lt;br /&gt;
&lt;br /&gt;
Techies are terrble at this, but this is an attempt at trying to get that right. We want to spend quite some time on the various aspects of the policy document so that it can help every member  involved in the deployment scenario. The whole aim of this is to make things run more smoothly, faster, more efficiently, and hopeully even with a little more excitment involved. Yes... this document needs to be created... so lets do our best to join forces with all the different brain types (Jungian Archetypes) and create a kick ass policy document that can make it easy for us to know where we all fit in this large wheel of ongoing change.&lt;br /&gt;
&lt;br /&gt;
== System builders ==&lt;br /&gt;
&lt;br /&gt;
Right now we are in the process of defining/documentin/testing 2 automated installation processes, one based for RHEL 6 (CentOS 6) and the other Debian 6. We don&#039;t need to go into the best parts of one system (sysadmins ususally say debian 6 is much easier to control for centralised networking services like DNS, NTP, CFengine or Puppet, Nagios, etc), whereas RHEL 6, which is the system we have chosen to support solely at this time, on the other hand is based on the direct support we can get from the company itself, who, I am sure, as soon as they see our automated builder, would be very interested in giving us access to their RHN Satellite (If not, we just wait for CentOS rpms) for educational purposes.&lt;br /&gt;
&lt;br /&gt;
Right now, We have various pieces that have been created to help both simplify and modularise the existing XS system. Clearly, .au has done a wonderful job with taking out components which just weren&#039;t necessary. Granted, it is always much easier to add on new items, than to start reverse engineering and extracting elemens that we might find are essential further down the line. Having buld both the FAI (Fully automated Installer) for debian, and the kickstart based automatic installer for RHEL 6, these are the current bases we will want to be working on.&lt;br /&gt;
&lt;br /&gt;
The current supported infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future&lt;br /&gt;
&lt;br /&gt;
One thing I find it quite important to mention is that we have to try and get as much of the code sorted into segments which can be extracted and then modularised to be used in any OS as possible. In reality doing this also simplifies everything as it is much easier for system administrators to understand how the underlying system works, when it works similarly be it a debian based or a redhat based system. Its easier to add stuff than to subtract/reverse engineer it.&lt;br /&gt;
&lt;br /&gt;
The emphasis should of course be to make sure it is supported on one OS, but we shouldn&#039;t make it harder than it has to be for others to use the system on another OS. This strategy was quite successful with projects like LTSP, which used to be K12LTSP and only worked on Redhat. This caused many developers to shy away from working with it, until it was modularised, and supported seperately for other operating systems. I&#039;m not saying the dextrose server should be supported for every operating system from onset, or that we should even build for every contingency, but we should keep in mind that this is an open source project, and as such should attract as many developers and users as possible.  To that end, it seems the .AU OLPC developers have done a lot of cleaning up and modularising of the current XS code. That&#039;s great, and we will probably take that code as opposed to the current XS as our base. What I mean is we should take their components and include them into our mass builders, before we start taking appart the larger and more complicated original OLPC XS server.&lt;br /&gt;
&lt;br /&gt;
== Defining Policy ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
We keep mentioning “policy,” which might sound like a big document handed down from on high, bound in leather and signed in blood by all executives at your company. This isn’t what we mean. The configuration policy is highly technical, and although it’s influenced by factors outside the technology team (i.e., legislation, credit card-security guidelines, site security policy, and so on), it is purely a statement of how the System Administrator team believes the systems should be configured. The problem with most sites (whether running UNIX-like operating systems, Windows, or other OSs) is that many machines will at best only partially comply with policy. &lt;br /&gt;
&lt;br /&gt;
All systems might be imaged exactly the same way, but over time user and SA activities make enough changes to each host that the system drifts from the desired state. Sites that use automation for all aspects of system configuration will still suffer from some drift associated With users and netWorked applications. &lt;br /&gt;
&lt;br /&gt;
Examples of this drift include varying disk utilization based on log files from daemons or files left on the system by users, or stray processes left around by users. This should be the extent of the drift,&lt;br /&gt;
&lt;br /&gt;
because the automation system should install and configure all configuration files and programs, as well as keep them in conformance with policy. In addition, as drift is observed, you can update the automation system to rein in its effects. You already have a system configuration policy, but there’s a good chance that it’s documented incompletely. There’s an even better chance that some or all of it exists only in some one, usually the main team developer&#039;s head. We want to try and clarify this sot that should anything worrying happen to any key person, the whole project isn&#039;t gone for good.&lt;br /&gt;
&lt;br /&gt;
Better stated, we are actually talking about system configuaration policies.  Whether this is done by shell scripts, perl scripts or tools like cfengine and/or puppet the automation serves as the documentation. It is in fact some of the most usable documentation for fellow SAs simply because they know its authorative (computers dont tend to make mistakes) &lt;br /&gt;
&lt;br /&gt;
If new SAs at the site read some internal documentation about installing and configuring system software, they dont have any assurance that following the documentation will achieve the desired effects they are looking for. The SA is much better off using a script that has been used all the previous times the software needed to be installed (hence the reasonf for documenting steps in the wiki,and pushing code to an SVN/Git/BZR)&lt;br /&gt;
&lt;br /&gt;
In this way either the script will work as advertised, or it will show breakage somewhere. Using automation, where all systems that install use the same sequence of events as laid out in a carefully laid out policy will help insulate the SA against breakage scenarios.&lt;br /&gt;
&lt;br /&gt;
The other advantage, though a rather morbid one is, should someone with the majority of this knowledge be hit by a car/truck/boat, the whole project won&#039;t come to a standstill.&lt;br /&gt;
&lt;br /&gt;
The process of Automation is a step by step one, where we build on previous runs until we get to a point we are happy that it s all just cogs in a wheel to let it drive. With very few if any crashes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some more information on policy and dealing with larger projects to help manage the process along, I thought it wise to take a look at some of these links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.sundell.net/~alan/projects/slack/] - configuration management tool system designed to appeal to lazy admins, an evolution from put files in some central dir. A glorified wrapper for rsync.&lt;br /&gt;
&lt;br /&gt;
[http://oss.tresys.com/projects/policy-server/wiki/PolicyServerHowTo] – Uses SELinux to define and control policy&lt;br /&gt;
&lt;br /&gt;
[http://watson-wilson.ca/blog/ent-sysadmin.html] ← very nice visual outline for how things change from doing things the old fashioned one computer at  type way to many systems automation via policies.&lt;br /&gt;
&lt;br /&gt;
== Applying Practical Automation ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
You need to know several key things before you automate a new procedure or task.The prerequisite information in an easy-to-digest format. There 3 main parts that will decribe the applying the practical automation, one based on using the supported and what we will initially be working on exlusively (RHEL 6 or a derivate there of), its cousin operating system Debian 6, and the final Automation Programs that are used to push and pull data to and from the computers within a deployment.&lt;br /&gt;
&lt;br /&gt;
Sounds simple enough right? Well, on the surface it kind of is. Once Our Policy, which changes from deployment to deployment due to far too many reasons to document here, and the choice of OS has been made, a well oiled and proprely planned system should be able to install without user interaction of _any kind_&lt;br /&gt;
&lt;br /&gt;
That is the power of automation and the reason errors will not rear their ugly heads. I understand that at first, many people might feel this is overkill, that we should just have iso cds that do the work and be doen with it.&lt;br /&gt;
&lt;br /&gt;
But this is hardly the first open source project of its kind to fall falt on its face due to that kind of primitive thinking. Today no large deployment would consider using any system other than those outlined below.&lt;br /&gt;
&lt;br /&gt;
Ok, geting back on topic, &lt;br /&gt;
&lt;br /&gt;
== Focusing on Results ==&lt;br /&gt;
&lt;br /&gt;
When in doubt, opt for simplicity. Don’t attempt fancy logic and complicated commands when the goal is simple. For example, you might have a script that takes a list of Domain Name System (DNS) servers and generates a resolv.conf file that’s pushed to all hosts at your site. &lt;br /&gt;
&lt;br /&gt;
When a new DNS server is added or a server is replaced with another, you need to run the script to update the file on all your systems. Instead of running the script to generate the file on each and every host at your site, you can run the command on one host, take the resulting output, and push that out as a file to all hosts. &lt;br /&gt;
&lt;br /&gt;
This technique is simple and reliable compared to the requirement of running a command successfully on every host. A complicated procedure becomes a simple file push. &lt;br /&gt;
&lt;br /&gt;
This is the KISS (Keep It Simple, Stupid) principle in all its glory. Our system administration experience has taught us that increased simplicity results in increased reliability.&lt;br /&gt;
&lt;br /&gt;
We have agreed therefore to build minimal systems that contain the bare esentials that every system admin will need or better said every schoolserver needs.&lt;br /&gt;
&lt;br /&gt;
In practice that means that ALL extension with very few exveptions will be  handled through cfengine or Puppet.&lt;br /&gt;
&lt;br /&gt;
So... as we are actually support just one of these systems, Let me document it as such so that it can easily be recreated/retouched/patched/or further developed on. The main reason we have chosenn to focus ona Red Hat system as opposed to Debian is 2 fold. First its because the stability means we can leave it running without worrying too much. &lt;br /&gt;
&lt;br /&gt;
We will also be using Puppet as the main example of pushing and pulling data as it seems to be both easy and currently quite the rage. But as our system is modular, it really doesn&#039;t matter if you want to use Cfengine instead of Puppet and Fedora instead of RHEL6 (though we wont necessarily be able to give  the same kind of support. To you)&lt;br /&gt;
&lt;br /&gt;
To image our Debian systems, We’ll use FAI, or Fully Automatic Installation (see http://www.informatik.uni-koeln.de/fai/). Some folks may argue that using FAI could be condisered overkill, seeing as we can use pre-seed instead, but FAI has matured to the point that it is extremely similar to Red Hat&#039;s kickstart and could easily be used to copy the steps we will outline for our Red Hat install.&lt;br /&gt;
&lt;br /&gt;
Some folks might  use Sun’s Custom JumpStart to image our Solaris machines (see http://docs.sun.com/app/docs/doc/817-5506/jumpstartoverview-4?a=view). We will not be doing any Solaris stuff, but I figured since the book I&#039;m basing a lot of this automation stuff on mentiond it, it might be worth looking into.&lt;br /&gt;
&lt;br /&gt;
We’ll use Kickstart to image our Red Hat systems (see http://www.redhat.com/docs/en-US/Red-Hat-Enterprise-Linux/6.0/html/Installation-Guide/ch kickstart2.html). &lt;br /&gt;
&lt;br /&gt;
Each of our imaging systems Will utilize postinstallation scripts that We develop. These scripts will cause the system to utilize our newschoolserver infrastructure and extend it using Puppet in our case. The same can/could be done using Cfengine, though we neither explain nor support it here.&lt;br /&gt;
&lt;br /&gt;
All our new systems will be booted from the network, and during the imaging process they will have cfengine/puppet installed and this particular unit will be configured to use as our puppet master system. Puppet will handle all system configuration from the very first bootup of our hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[Dextrose/Server/Addons]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63039</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63039"/>
		<updated>2011-03-05T14:49:26Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Defining Policy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
Before diving straight into what the Dextrose server is, should and will be, I&#039;d like to talk a little about policy, and the way its used in both small, medium and defenitely large companies. This policy, is usually a document that has been written up with 2 essential ideas in mind, and passed around the company or often even expected to be know by employees of all categories.:&lt;br /&gt;
&lt;br /&gt;
1. Techies tend to have the mindset that, whatever it takes, however long it takes, and however many other systems are affected is not something they ought to be aware of nor is it really their problem. Adhering to a strict policy stops this kind of thinking from happening. Techies are unfortuantely almost all culpble in some way or another of this condition, which is why the are usually very good at finding a solution for almost anything.&lt;br /&gt;
&lt;br /&gt;
2. On the other hand a more admin-like policy perspèctive, is that what a techie does comes second to having a fully functional system that does not crash, change too often, or have dramatic changes to the policy in place. In other words, if its not broken they shouldn&#039;t fix it. The problem here lies in the fact that most admins/managers don&#039;t realise that not being continously aware of the system, understanding how it works, when updates are requires and such, are just as important as keeping the system running. Policy, therefore, for them strictly outlines that updates, especially security related one must be perfomed on a reguar cycle, power systems must be checked, internet connectivity, etc, etc.&lt;br /&gt;
&lt;br /&gt;
Normally, small companies notice the terrible state of affairs that occurs when either or more commonly both of these groups of people ignore policy altogether, resulting in the numerous non-functional servers in the field. And if the techies and managers/admins/deployers are not taking much notice of policy, you can imagine how much attention a teacher or headmaser gives it.&lt;br /&gt;
&lt;br /&gt;
The end result of this is usually many many broken systems all because a proper structure was either not created in the first place (most commonly) or it being ignored due to too much growth, too much turn around, or not enough people to enforce the policy.&lt;br /&gt;
&lt;br /&gt;
This is one of the main reasons, automation was integrated into larger companies that want to do a number of differing jobs, but that all revolve around strictly following a policy (who can do what, when, how it should be done, what every member is responsible for, etc) Unfortuantely, companies rarely comply fully with policy, but by automating the processes for building the servers we want to create, it almost creates the policy for us. Of course this involves documentation!&lt;br /&gt;
&lt;br /&gt;
Techies are terrble at this, but this is an attempt at trying to get that right.&lt;br /&gt;
&lt;br /&gt;
Right we are in the process of defining/documentin/testing 2 automated installation processes, one based for RHEL 6 (CentOS 6) and the other Debian 6. We don&#039;t need to go into the best parts of one system (sysadmins ususally say debian 6 is much easier to control for centralised networking services like DNS, NTP, CFengine or Puppet, Nagios, etc), whereas RHEL 6, which is the system we have chosen to support solely at this time, on the other hand is based on the direct support we can get from the company itself, who, I am sure, as soon as they see our automated builder, would be very interested in giving us access to their RHN Satellite (If not, we just wait for CentOS rpms) for educational purposes.&lt;br /&gt;
&lt;br /&gt;
Right now, We have various pieces that have been created to help both simplify and modularise the existing XS system. Clearly, .au has done a wonderful job with taking out components which just weren&#039;t necessary. Granted, it is always much easier to add on new items, than to start reverse engineering and extracting elemens that we might find are essential further down the line. Having buld both the FAI (Fully automated Installer) for debian, and the kickstart based automatic installer for RHEL 6, these are the current bases we will want to be working on.&lt;br /&gt;
&lt;br /&gt;
The current supported infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future&lt;br /&gt;
&lt;br /&gt;
One thing I find it quite important to mention is that we have to try and get as much of the code sorted into segments which can be extracted and then modularised to be used in any OS as possible. In reality doing this also simplifies everything as it is much easier for system administrators to understand how the underlying system works, when it works similarly be it a debian based or a redhat based system. Its easier to add stuff than to subtract/reverse engineer it.&lt;br /&gt;
&lt;br /&gt;
The emphasis should of course be to make sure it is supported on one OS, but we shouldn&#039;t make it harder than it has to be for others to use the system on another OS. This strategy was quite successful with projects like LTSP, which used to be K12LTSP and only worked on Redhat. This caused many developers to shy away from working with it, until it was modularised, and supported seperately for other operating systems. I&#039;m not saying the dextrose server should be supported for every operating system from onset, or that we should even build for every contingency, but we should keep in mind that this is an open source project, and as such should attract as many developers and users as possible.  To that end, it seems the .AU OLPC developers have done a lot of cleaning up and modularising of the current XS code. That&#039;s great, and we will probably take that code as opposed to the current XS as our base. What I mean is we should take their components and include them into our mass builders, before we start taking appart the larger and more complicated original OLPC XS server.&lt;br /&gt;
&lt;br /&gt;
The idea of working inaisw Virutal MAchin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
eees às opoded&lt;br /&gt;
&lt;br /&gt;
== Defining Policy ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
We keep mentioning “policy,” which might sound like a big document handed down from on high, bound in leather and signed in blood by all executives at your company. This isn’t what we mean. The configuration policy is highly technical, and although it’s influenced by factors outside the technology team (i.e., legislation, credit card-security guidelines, site security policy, and so on), it is purely a statement of how the System Administrator team believes the systems should be configured. The problem with most sites (whether running UNIX-like operating systems, Windows, or other OSs) is that many machines will at best only partially comply with policy. &lt;br /&gt;
&lt;br /&gt;
All systems might be imaged exactly the same way, but over time user and SA activities make enough changes to each host that the system drifts from the desired state. Sites that use automation for all aspects of system configuration will still suffer from some drift associated With users and netWorked applications. &lt;br /&gt;
&lt;br /&gt;
Examples of this drift include varying disk utilization based on log files from daemons or files left on the system by users, or stray processes left around by users. This should be the extent of the drift,&lt;br /&gt;
&lt;br /&gt;
because the automation system should install and configure all configuration files and programs, as well as keep them in conformance with policy. In addition, as drift is observed, you can update the automation system to rein in its effects. You already have a system configuration policy, but there’s a good chance that it’s documented incompletely. There’s an even better chance that some or all of it exists only in some one, usually the main team developer&#039;s head. We want to try and clarify this sot that should anything worrying happen to any key person, the whole project isn&#039;t gone for good.&lt;br /&gt;
&lt;br /&gt;
Better stated, we are actually talking about system configuaration policies.  Whether this is done by shell scripts, perl scripts or tools like cfengine and/or puppet the automation serves as the documentation. It is in fact some of the most usable documentation for fellow SAs simply because they know its authorative (computers dont tend to make mistakes) &lt;br /&gt;
&lt;br /&gt;
If new SAs at the site read some internal documentation about installing and configuring system software, they dont have any assurance that following the documentation will achieve the desired effects they are looking for. The SA is much better off using a script that has been used all the previous times the software needed to be installed (hence the reasonf for documenting steps in the wiki,and pushing code to an SVN/Git/BZR)&lt;br /&gt;
&lt;br /&gt;
In this way either the script will work as advertised, or it will show breakage somewhere. Using automation, where all systems that install use the same sequence of events as laid out in a carefully laid out policy will help insulate the SA against breakage scenarios.&lt;br /&gt;
&lt;br /&gt;
The other advantage, though a rather morbid one is, should someone with the majority of this knowledge be hit by a car/truck/boat, the whole project won&#039;t come to a standstill.&lt;br /&gt;
&lt;br /&gt;
The process of Automation is a step by step one, where we build on previous runs until we get to a point we are happy that it s all just cogs in a wheel to let it drive. With very few if any crashes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some more information on policy and dealing with larger projects to help manage the process along, I thought it wise to take a look at some of these links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.sundell.net/~alan/projects/slack/] - configuration management tool system designed to appeal to lazy admins, an evolution from put files in some central dir. A glorified wrapper for rsync.&lt;br /&gt;
&lt;br /&gt;
[http://oss.tresys.com/projects/policy-server/wiki/PolicyServerHowTo] – Uses SELinux to define and control policy&lt;br /&gt;
&lt;br /&gt;
[http://watson-wilson.ca/blog/ent-sysadmin.html] ← very nice visual outline for how things change from doing things the old fashioned one computer at  type way to many systems automation via policies.&lt;br /&gt;
&lt;br /&gt;
== Applying Practical Automation ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
You need to know several key things before you automate a new procedure or task.The prerequisite information in an easy-to-digest format. There 3 main parts that will decribe the applying the practical automation, one based on using the supported and what we will initially be working on exlusively (RHEL 6 or a derivate there of), its cousin operating system Debian 6, and the final Automation Programs that are used to push and pull data to and from the computers within a deployment.&lt;br /&gt;
&lt;br /&gt;
Sounds simple enough right? Well, on the surface it kind of is. Once Our Policy, which changes from deployment to deployment due to far too many reasons to document here, and the choice of OS has been made, a well oiled and proprely planned system should be able to install without user interaction of _any kind_&lt;br /&gt;
&lt;br /&gt;
That is the power of automation and the reason errors will not rear their ugly heads. I understand that at first, many people might feel this is overkill, that we should just have iso cds that do the work and be doen with it.&lt;br /&gt;
&lt;br /&gt;
But this is hardly the first open source project of its kind to fall falt on its face due to that kind of primitive thinking. Today no large deployment would consider using any system other than those outlined below.&lt;br /&gt;
&lt;br /&gt;
Ok, geting back on topic, &lt;br /&gt;
&lt;br /&gt;
== Focusing on Results ==&lt;br /&gt;
&lt;br /&gt;
When in doubt, opt for simplicity. Don’t attempt fancy logic and complicated commands when the goal is simple. For example, you might have a script that takes a list of Domain Name System (DNS) servers and generates a resolv.conf file that’s pushed to all hosts at your site. &lt;br /&gt;
&lt;br /&gt;
When a new DNS server is added or a server is replaced with another, you need to run the script to update the file on all your systems. Instead of running the script to generate the file on each and every host at your site, you can run the command on one host, take the resulting output, and push that out as a file to all hosts. &lt;br /&gt;
&lt;br /&gt;
This technique is simple and reliable compared to the requirement of running a command successfully on every host. A complicated procedure becomes a simple file push. &lt;br /&gt;
&lt;br /&gt;
This is the KISS (Keep It Simple, Stupid) principle in all its glory. Our system administration experience has taught us that increased simplicity results in increased reliability.&lt;br /&gt;
&lt;br /&gt;
We have agreed therefore to build minimal systems that contain the bare esentials that every system admin will need or better said every schoolserver needs.&lt;br /&gt;
&lt;br /&gt;
In practice that means that ALL extension with very few exveptions will be  handled through cfengine or Puppet.&lt;br /&gt;
&lt;br /&gt;
So... as we are actually support just one of these systems, Let me document it as such so that it can easily be recreated/retouched/patched/or further developed on. The main reason we have chosenn to focus ona Red Hat system as opposed to Debian is 2 fold. First its because the stability means we can leave it running without worrying too much. &lt;br /&gt;
&lt;br /&gt;
We will also be using Puppet as the main example of pushing and pulling data as it seems to be both easy and currently quite the rage. But as our system is modular, it really doesn&#039;t matter if you want to use Cfengine instead of Puppet and Fedora instead of RHEL6 (though we wont necessarily be able to give  the same kind of support. To you)&lt;br /&gt;
&lt;br /&gt;
To image our Debian systems, We’ll use FAI, or Fully Automatic Installation (see http://www.informatik.uni-koeln.de/fai/). Some folks may argue that using FAI could be condisered overkill, seeing as we can use pre-seed instead, but FAI has matured to the point that it is extremely similar to Red Hat&#039;s kickstart and could easily be used to copy the steps we will outline for our Red Hat install.&lt;br /&gt;
&lt;br /&gt;
Some folks might  use Sun’s Custom JumpStart to image our Solaris machines (see http://docs.sun.com/app/docs/doc/817-5506/jumpstartoverview-4?a=view). We will not be doing any Solaris stuff, but I figured since the book I&#039;m basing a lot of this automation stuff on mentiond it, it might be worth looking into.&lt;br /&gt;
&lt;br /&gt;
We’ll use Kickstart to image our Red Hat systems (see http://www.redhat.com/docs/en-US/Red-Hat-Enterprise-Linux/6.0/html/Installation-Guide/ch kickstart2.html). &lt;br /&gt;
&lt;br /&gt;
Each of our imaging systems Will utilize postinstallation scripts that We develop. These scripts will cause the system to utilize our newschoolserver infrastructure and extend it using Puppet in our case. The same can/could be done using Cfengine, though we neither explain nor support it here.&lt;br /&gt;
&lt;br /&gt;
All our new systems will be booted from the network, and during the imaging process they will have cfengine/puppet installed and this particular unit will be configured to use as our puppet master system. Puppet will handle all system configuration from the very first bootup of our hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[Dextrose/Server/Addons]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63038</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=63038"/>
		<updated>2011-03-05T14:46:14Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
Before diving straight into what the Dextrose server is, should and will be, I&#039;d like to talk a little about policy, and the way its used in both small, medium and defenitely large companies. This policy, is usually a document that has been written up with 2 essential ideas in mind, and passed around the company or often even expected to be know by employees of all categories.:&lt;br /&gt;
&lt;br /&gt;
1. Techies tend to have the mindset that, whatever it takes, however long it takes, and however many other systems are affected is not something they ought to be aware of nor is it really their problem. Adhering to a strict policy stops this kind of thinking from happening. Techies are unfortuantely almost all culpble in some way or another of this condition, which is why the are usually very good at finding a solution for almost anything.&lt;br /&gt;
&lt;br /&gt;
2. On the other hand a more admin-like policy perspèctive, is that what a techie does comes second to having a fully functional system that does not crash, change too often, or have dramatic changes to the policy in place. In other words, if its not broken they shouldn&#039;t fix it. The problem here lies in the fact that most admins/managers don&#039;t realise that not being continously aware of the system, understanding how it works, when updates are requires and such, are just as important as keeping the system running. Policy, therefore, for them strictly outlines that updates, especially security related one must be perfomed on a reguar cycle, power systems must be checked, internet connectivity, etc, etc.&lt;br /&gt;
&lt;br /&gt;
Normally, small companies notice the terrible state of affairs that occurs when either or more commonly both of these groups of people ignore policy altogether, resulting in the numerous non-functional servers in the field. And if the techies and managers/admins/deployers are not taking much notice of policy, you can imagine how much attention a teacher or headmaser gives it.&lt;br /&gt;
&lt;br /&gt;
The end result of this is usually many many broken systems all because a proper structure was either not created in the first place (most commonly) or it being ignored due to too much growth, too much turn around, or not enough people to enforce the policy.&lt;br /&gt;
&lt;br /&gt;
This is one of the main reasons, automation was integrated into larger companies that want to do a number of differing jobs, but that all revolve around strictly following a policy (who can do what, when, how it should be done, what every member is responsible for, etc) Unfortuantely, companies rarely comply fully with policy, but by automating the processes for building the servers we want to create, it almost creates the policy for us. Of course this involves documentation!&lt;br /&gt;
&lt;br /&gt;
Techies are terrble at this, but this is an attempt at trying to get that right.&lt;br /&gt;
&lt;br /&gt;
Right we are in the process of defining/documentin/testing 2 automated installation processes, one based for RHEL 6 (CentOS 6) and the other Debian 6. We don&#039;t need to go into the best parts of one system (sysadmins ususally say debian 6 is much easier to control for centralised networking services like DNS, NTP, CFengine or Puppet, Nagios, etc), whereas RHEL 6, which is the system we have chosen to support solely at this time, on the other hand is based on the direct support we can get from the company itself, who, I am sure, as soon as they see our automated builder, would be very interested in giving us access to their RHN Satellite (If not, we just wait for CentOS rpms) for educational purposes.&lt;br /&gt;
&lt;br /&gt;
Right now, We have various pieces that have been created to help both simplify and modularise the existing XS system. Clearly, .au has done a wonderful job with taking out components which just weren&#039;t necessary. Granted, it is always much easier to add on new items, than to start reverse engineering and extracting elemens that we might find are essential further down the line. Having buld both the FAI (Fully automated Installer) for debian, and the kickstart based automatic installer for RHEL 6, these are the current bases we will want to be working on.&lt;br /&gt;
&lt;br /&gt;
The current supported infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future&lt;br /&gt;
&lt;br /&gt;
One thing I find it quite important to mention is that we have to try and get as much of the code sorted into segments which can be extracted and then modularised to be used in any OS as possible. In reality doing this also simplifies everything as it is much easier for system administrators to understand how the underlying system works, when it works similarly be it a debian based or a redhat based system. Its easier to add stuff than to subtract/reverse engineer it.&lt;br /&gt;
&lt;br /&gt;
The emphasis should of course be to make sure it is supported on one OS, but we shouldn&#039;t make it harder than it has to be for others to use the system on another OS. This strategy was quite successful with projects like LTSP, which used to be K12LTSP and only worked on Redhat. This caused many developers to shy away from working with it, until it was modularised, and supported seperately for other operating systems. I&#039;m not saying the dextrose server should be supported for every operating system from onset, or that we should even build for every contingency, but we should keep in mind that this is an open source project, and as such should attract as many developers and users as possible.  To that end, it seems the .AU OLPC developers have done a lot of cleaning up and modularising of the current XS code. That&#039;s great, and we will probably take that code as opposed to the current XS as our base. What I mean is we should take their components and include them into our mass builders, before we start taking appart the larger and more complicated original OLPC XS server.&lt;br /&gt;
&lt;br /&gt;
The idea of working inaisw Virutal MAchin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
eees às opoded&lt;br /&gt;
&lt;br /&gt;
== Defining Policy ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
We keep mentioning “policy,” which might sound like a big document handed down from on high, bound in leather and signed in blood by all executives at your company. This isn’t what we mean. The configuration policy is highly technical, and although it’s influenced by factors outside the technology team (i.e., legislation, credit card-security guidelines, site security policy, and so on), it is purely a statement of how the System Administrator team believes the systems should be configured. The problem with most sites (whether running UNIX-like operating systems, Windows, or other OSs) is that many machines will at best only partially comply with policy. &lt;br /&gt;
&lt;br /&gt;
All systems might be imaged exactly the same way, but over time user and SA activities make enough changes to each host that the system drifts from the desired state. Sites that use automation for all aspects of system configuration will still suffer from some drift associated With users and netWorked applications. &lt;br /&gt;
&lt;br /&gt;
Examples of this drift include varying disk utilization based on log files from daemons or files left on the system by users, or stray processes left around by users. This should be the extent of the drift,&lt;br /&gt;
&lt;br /&gt;
because the automation system should install and configure all configuration files and programs, as well as keep them in conformance with policy. In addition, as drift is observed, you can update the automation system to rein in its effects. You already have a system configuration policy, but there’s a good chance that it’s documented incompletely. There’s an even better chance that some or all of it exists only in some one, usually the main team developer&#039;s head. We want to try and clarify this sot that should anything worrying happen to any key person, the whole project isn&#039;t gone for good.&lt;br /&gt;
&lt;br /&gt;
Better stated, we are actually talking about system configuaration policies.  Whether this is done by shell scripts, perl scripts or tools like cfengine and/or puppet the automation serves as the documentation. It is in fact some of the most usable documentation for fellow SAs simply because they know its authorative (computers dont tend to make mistakes) &lt;br /&gt;
&lt;br /&gt;
If new SAs at the site read some internal documentation about installing and configuring system software, they dont have any assurance that following the documentation will achieve the desired effects they are looking for. The SA is much better off using a script that has been used all the previous times the software needed to be installed (hence the reasonf for documenting steps in the wiki,and pushing code to an SVN/Git/BZR)&lt;br /&gt;
&lt;br /&gt;
In this way either the script will work as advertised, or it will show breakage somewhere. Using automation, where all systems that install use the same sequence of events as laid out in a careful y laid out policy will help insulate the SA against breakage scenarios.&lt;br /&gt;
&lt;br /&gt;
The other advantage, though a rather morbid one is, should someone with the majority of this knowledge be hit by a car/truck/boat, the whole project won&#039;t come to a standstill.&lt;br /&gt;
&lt;br /&gt;
The process of Automation is a step by step one, where we build on previous runs until we get to a point we are happy that it s all just cogs in a wheel to let it drive. With very few if any crashes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some more information on policy and dealing with larger projects to help manage the process along, I thought it wise to take a look at some of these links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.sundell.net/~alan/projects/slack/] - configuration management tool system designed to appeal to lazy admins, an evolution from put files in some central dir. A glorified wrapper for rsync.&lt;br /&gt;
&lt;br /&gt;
[http://oss.tresys.com/projects/policy-server/wiki/PolicyServerHowTo] – Uses SELinux to define and control policy&lt;br /&gt;
&lt;br /&gt;
[http://watson-wilson.ca/blog/ent-sysadmin.html] ← very nice visual outline for how things change from doing things the old fashioned one computer at  type way to many systems automation via policies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applying Practical Automation ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
You need to know several key things before you automate a new procedure or task.The prerequisite information in an easy-to-digest format. There 3 main parts that will decribe the applying the practical automation, one based on using the supported and what we will initially be working on exlusively (RHEL 6 or a derivate there of), its cousin operating system Debian 6, and the final Automation Programs that are used to push and pull data to and from the computers within a deployment.&lt;br /&gt;
&lt;br /&gt;
Sounds simple enough right? Well, on the surface it kind of is. Once Our Policy, which changes from deployment to deployment due to far too many reasons to document here, and the choice of OS has been made, a well oiled and proprely planned system should be able to install without user interaction of _any kind_&lt;br /&gt;
&lt;br /&gt;
That is the power of automation and the reason errors will not rear their ugly heads. I understand that at first, many people might feel this is overkill, that we should just have iso cds that do the work and be doen with it.&lt;br /&gt;
&lt;br /&gt;
But this is hardly the first open source project of its kind to fall falt on its face due to that kind of primitive thinking. Today no large deployment would consider using any system other than those outlined below.&lt;br /&gt;
&lt;br /&gt;
Ok, geting back on topic, &lt;br /&gt;
&lt;br /&gt;
== Focusing on Results ==&lt;br /&gt;
&lt;br /&gt;
When in doubt, opt for simplicity. Don’t attempt fancy logic and complicated commands when the goal is simple. For example, you might have a script that takes a list of Domain Name System (DNS) servers and generates a resolv.conf file that’s pushed to all hosts at your site. &lt;br /&gt;
&lt;br /&gt;
When a new DNS server is added or a server is replaced with another, you need to run the script to update the file on all your systems. Instead of running the script to generate the file on each and every host at your site, you can run the command on one host, take the resulting output, and push that out as a file to all hosts. &lt;br /&gt;
&lt;br /&gt;
This technique is simple and reliable compared to the requirement of running a command successfully on every host. A complicated procedure becomes a simple file push. &lt;br /&gt;
&lt;br /&gt;
This is the KISS (Keep It Simple, Stupid) principle in all its glory. Our system administration experience has taught us that increased simplicity results in increased reliability.&lt;br /&gt;
&lt;br /&gt;
We have agreed therefore to build minimal systems that contain the bare esentials that every system admin will need or better said every schoolserver needs.&lt;br /&gt;
&lt;br /&gt;
In practice that means that ALL extension with very few exveptions will be  handled through cfengine or Puppet.&lt;br /&gt;
&lt;br /&gt;
So... as we are actually support just one of these systems, Let me document it as such so that it can easily be recreated/retouched/patched/or further developed on. The main reason we have chosenn to focus ona Red Hat system as opposed to Debian is 2 fold. First its because the stability means we can leave it running without worrying too much. &lt;br /&gt;
&lt;br /&gt;
We will also be using Puppet as the main example of pushing and pulling data as it seems to be both easy and currently quite the rage. But as our system is modular, it really doesn&#039;t matter if you want to use Cfengine instead of Puppet and Fedora instead of RHEL6 (though we wont necessarily be able to give  the same kind of support. To you)&lt;br /&gt;
&lt;br /&gt;
To image our Debian systems, We’ll use FAI, or Fully Automatic Installation (see http://www.informatik.uni-koeln.de/fai/). Some folks may argue that using FAI could be condisered overkill, seeing as we can use pre-seed instead, but FAI has matured to the point that it is extremely similar to Red Hat&#039;s kickstart and could easily be used to copy the steps we will outline for our Red Hat install.&lt;br /&gt;
&lt;br /&gt;
Some folks might  use Sun’s Custom JumpStart to image our Solaris machines (see http://docs.sun.com/app/docs/doc/817-5506/jumpstartoverview-4?a=view). We will not be doing any Solaris stuff, but I figured since the book I&#039;m basing a lot of this automation stuff on mentiond it, it might be worth looking into.&lt;br /&gt;
&lt;br /&gt;
We’ll use Kickstart to image our Red Hat systems (see http://www.redhat.com/docs/en-US/Red-Hat-Enterprise-Linux/6.0/html/Installation-Guide/ch kickstart2.html). &lt;br /&gt;
&lt;br /&gt;
Each of our imaging systems Will utilize postinstallation scripts that We develop. These scripts will cause the system to utilize our newschoolserver infrastructure and extend it using Puppet in our case. The same can/could be done using Cfengine, though we neither explain nor support it here.&lt;br /&gt;
&lt;br /&gt;
All our new systems will be booted from the network, and during the imaging process they will have cfengine/puppet installed and this particular unit will be configured to use as our puppet master system. Puppet will handle all system configuration from the very first bootup of our hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[Dextrose/Server/Addons]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62995</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62995"/>
		<updated>2011-03-05T09:39:16Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
(The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server) This is of course a very simplistic view, and over the last weeks, things have begun to clarify themselves somewhat so that A real revision to this section makes sense and will also be readable to the typical layperson:)&lt;br /&gt;
&lt;br /&gt;
Before diving straight into what the Dextrose server is, should and will be, I&#039;d like to talk a little about policy, and the way its used in both small, medium and defenitely large companies. This policy, is usually a document that has been written up with 2 essential ideas in mind, and passed around the company or often even expected to be know by employees of all categories.:&lt;br /&gt;
&lt;br /&gt;
1. Techies tend to have the mindset that, whatever it takes, however long it takes, and however many other systems are affected is not something they ought to be aware of nor is it really their problem. Adhering to a strict policy stops this kind of thinking from happening. Techies are unfortuantely almost all culpble in some way or another of this condition, which is why the are usually very good at finding a solution for almost anything.&lt;br /&gt;
&lt;br /&gt;
2. On the other hand a more admin-like policy perspèctive, is that what a techie does comes second to having a fully functional system that does not crash, change too often, or have dramatic changes to the policy in place. In other words, if its not broken they shouldn&#039;t fix it. The problem here lies in the fact that most admins/managers don&#039;t realise that not being continously aware of the system, understanding how it works, when updates are requires and such, are just as important as keeping the system running. Policy, therefore, for them strictly outlines that updates, especially security related one must be perfomed on a reguar cycle, power systems must be checked, internet connectivity, etc, etc.&lt;br /&gt;
&lt;br /&gt;
Normally, small companies notice the terrible state of affairs that occurs when either or more commonly both of these groups of people ignore policy altogether, resulting in the numerous non-functional servers in the field. And if the techies and managers/admins/deployers are not taking much notice of policy, you can imagine how much attention a teacher or headmaser gives it.&lt;br /&gt;
&lt;br /&gt;
The end result of this is usually many many broken systems all because a proper structure was either not created in the first place (most commonly) or it being ignored due to too much growth, too much turn around, or not enough people to enforce the policy.&lt;br /&gt;
&lt;br /&gt;
This is one of the main reasons, automation was integrated into larger companies that want to do a number of differing jobs, but that all revolve around strictly following a policy (who can do what, when, how it should be done, what every member is responsible for, etc) Unfortuantely, companies rarely comply fully with policy, but by automating the processes for building the servers we want to create, it almost creates the policy for us. Of course this involves documentation!&lt;br /&gt;
&lt;br /&gt;
Techies are terrble at this, but this is an attempt at trying to get that right.&lt;br /&gt;
&lt;br /&gt;
Right we are in the process of defining/documentin/testing 2 automated installation processes, one based for RHEL 6 (CentOS 6) and the other Debian 6. We don&#039;t need to go into the best parts of one system (sysadmins ususally say debian 6 is much easier to control for centralised networking services like DNS, NTP, CFengine or Puppet, Nagios, etc), whereas RHEL 6, which is the system we have chosen to support solely at this time, on the other hand is based on the direct support we can get from the company itself, who, I am sure, as soon as they see our automated builder, would be very interested in giving us access to their RHN Satellite (If not, we just wait for CentOS rpms) for educational purposes.&lt;br /&gt;
&lt;br /&gt;
Right now, We have various pieces that have been created to help both simplify and modularise the existing XS system. Clearly, .au has done a wonderful job with taking out components which just weren&#039;t necessary. Granted, it is always much easier to add on new items, than to start reverse engineering and extracting elemens that we might find are essential further down the line. Having buld both the FAI (Fully automated Installer) for debian, and the kickstart based automatic installer for RHEL 6, these are the current bases we will want to be working on.&lt;br /&gt;
&lt;br /&gt;
The current supported infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future&lt;br /&gt;
&lt;br /&gt;
One thing I find it quite important to mention is that we have to try and get as much of the code sorted into segments which can be extracted and then modularised to be used in any OS as possible. In reality doing this also simplifies everything as it is much easier for system administrators to understand how the underlying system works, when it works similarly be it a debian based or a redhat based system. Its easier to add stuff than to subtract/reverse engineer it.&lt;br /&gt;
&lt;br /&gt;
The emphasis should of course be to make sure it is supported on one OS, but we shouldn&#039;t make it harder than it has to be for others to use the system on another OS. This strategy was quite successful with projects like LTSP, which used to be K12LTSP and only worked on Redhat. This caused many developers to shy away from working with it, until it was modularised, and supported seperately for other operating systems. I&#039;m not saying the dextrose server should be supported for every operating system from onset, or that we should even build for every contingency, but we should keep in mind that this is an open source project, and as such should attract as many developers and users as possible.  To that end, it seems the .AU OLPC developers have done a lot of cleaning up and modularising of the current XS code. That&#039;s great, and we will probably take that code as opposed to the current XS as our base. What I mean is we should take their components and include them into our mass builders, before we start taking appart the larger and more complicated original OLPC XS server.&lt;br /&gt;
&lt;br /&gt;
== Defining Policy ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
We keep mentioning “policy,” which might sound like a big document handed down from on high, bound in leather and signed in blood by all executives at your company. This isn’t what we mean. The configuration policy is highly technical, and although it’s influenced by factors outside the technology team (i.e., legislation, credit card-security guidelines, site security policy, and so on), it is purely a statement of how the System Administrator team believes the systems should be configured. The problem with most sites (whether running UNIX-like operating systems, Windows, or other OSs) is that many machines will at best only partially comply with policy. &lt;br /&gt;
&lt;br /&gt;
All systems might be imaged exactly the same way, but over time user and SA activities make enough changes to each host that the system drifts from the desired state. Sites that use automation for all aspects of system configuration will still suffer from some drift associated With users and netWorked applications. &lt;br /&gt;
&lt;br /&gt;
Examples of this drift include varying disk utilization based on log files from daemons or files left on the system by users, or stray processes left around by users. This should be the extent of the drift,&lt;br /&gt;
&lt;br /&gt;
because the automation system should install and configure all configuration files and programs, as well as keep them in conformance with policy. In addition, as drift is observed, you can update the automation system to rein in its effects. You already have a system configuration policy, but there’s a good chance that it’s documented incompletely. There’s an even better chance that some or all of it exists only in some one, usually the main team developer&#039;s head. We want to try and clarify this sot that should anything worrying happen to any key person, the whole project isn&#039;t gone for good.&lt;br /&gt;
&lt;br /&gt;
Better stated, we are actually talking about system configuaration policies.  Whether this is done by shell scripts, perl scripts or tools like cfengine and/or puppet the automation serves as the documentation. It is in fact some of the most usable documentation for fellow SAs simply because they know its authorative (computers dont tend to make mistakes) &lt;br /&gt;
&lt;br /&gt;
If new SAs at the site read some internal documentation about installing and configuring system software, they dont have any assurance that following the documentation will achieve the desired effects they are looking for. The SA is much better off using a script that has been used all the previous times the software needed to be installed (hence the reasonf for documenting steps in the wiki,and pushing code to an SVN/Git/BZR)&lt;br /&gt;
&lt;br /&gt;
In this way either the script will work as advertised, or it will show breakage somewhere. Using automation, where all systems that install use the same sequence of events as laid out in a careful y laid out policy will help insulate the SA against breakage scenarios.&lt;br /&gt;
&lt;br /&gt;
The other advantage, though a rather morbid one is, should someone with the majority of this knowledge be hit by a car/truck/boat, the whole project won&#039;t come to a standstill.&lt;br /&gt;
&lt;br /&gt;
The process of Automation is a step by step one, where we build on previous runs until we get to a point we are happy that it s all just cogs in a wheel to let it drive. With very few if any crashes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For some more information on policy and dealing with larger projects to help manage the process along, I thought it wise to take a look at some of these links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.sundell.net/~alan/projects/slack/] - configuration management tool system designed to appeal to lazy admins, an evolution from put files in some central dir. A glorified wrapper for rsync.&lt;br /&gt;
&lt;br /&gt;
[http://oss.tresys.com/projects/policy-server/wiki/PolicyServerHowTo] – Uses SELinux to define and control policy&lt;br /&gt;
&lt;br /&gt;
[http://watson-wilson.ca/blog/ent-sysadmin.html] ← very nice visual outline for how things change from doing things the old fashioned one computer at  type way to many systems automation via policies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Applying Practical Automation ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
You need to know several key things before you automate a new procedure or task.The prerequisite information in an easy-to-digest format. There 3 main parts that will decribe the applying the practical automation, one based on using the supported and what we will initially be working on exlusively (RHEL 6 or a derivate there of), its cousin operating system Debian 6, and the final Automation Programs that are used to push and pull data to and from the computers within a deployment.&lt;br /&gt;
&lt;br /&gt;
Sounds simple enough right? Well, on the surface it kind of is. Once Our Policy, which changes from deployment to deployment due to far too many reasons to document here, and the choice of OS has been made, a well oiled and proprely planned system should be able to install without user interaction of _any kind_&lt;br /&gt;
&lt;br /&gt;
That is the power of automation and the reason errors will not rear their ugly heads. I understand that at first, many people might feel this is overkill, that we should just have iso cds that do the work and be doen with it.&lt;br /&gt;
&lt;br /&gt;
But this is hardly the first open source project of its kind to fall falt on its face due to that kind of primitive thinking. Today no large deployment would consider using any system other than those outlined below.&lt;br /&gt;
&lt;br /&gt;
Ok, geting back on topic, &lt;br /&gt;
&lt;br /&gt;
== Focusing on Results ==&lt;br /&gt;
&lt;br /&gt;
When in doubt, opt for simplicity. Don’t attempt fancy logic and complicated commands when the goal is simple. For example, you might have a script that takes a list of Domain Name System (DNS) servers and generates a resolv.conf file that’s pushed to all hosts at your site. &lt;br /&gt;
&lt;br /&gt;
When a new DNS server is added or a server is replaced with another, you need to run the script to update the file on all your systems. Instead of running the script to generate the file on each and every host at your site, you can run the command on one host, take the resulting output, and push that out as a file to all hosts. &lt;br /&gt;
&lt;br /&gt;
This technique is simple and reliable compared to the requirement of running a command successfully on every host. A complicated procedure becomes a simple file push. &lt;br /&gt;
&lt;br /&gt;
This is the KISS (Keep It Simple, Stupid) principle in all its glory. Our system administration experience has taught us that increased simplicity results in increased reliability.&lt;br /&gt;
&lt;br /&gt;
We have agreed therefore to build minimal systems that contain the bare esentials that every system admin will need or better said every schoolserver needs.&lt;br /&gt;
&lt;br /&gt;
In practice that means that ALL extension with very few exveptions will be  handled through cfengine or Puppet.&lt;br /&gt;
&lt;br /&gt;
So... as we are actually support just one of these systems, Let me document it as such so that it can easily be recreated/retouched/patched/or further developed on. The main reason we have chosenn to focus ona Red Hat system as opposed to Debian is 2 fold. First its because the stability means we can leave it running without worrying too much. &lt;br /&gt;
&lt;br /&gt;
We will also be using Puppet as the main example of pushing and pulling data as it seems to be both easy and currently quite the rage. But as our system is modular, it really doesn&#039;t matter if you want to use Cfengine instead of Puppet and Fedora instead of RHEL6 (though we wont necessarily be able to give  the same kind of support. To you)&lt;br /&gt;
&lt;br /&gt;
To image our Debian systems, We’ll use FAI, or Fully Automatic Installation (see http://www.informatik.uni-koeln.de/fai/). Some folks may argue that using FAI could be condisered overkill, seeing as we can use pre-seed instead, but FAI has matured to the point that it is extremely similar to Red Hat&#039;s kickstart and could easily be used to copy the steps we will outline for our Red Hat install.&lt;br /&gt;
&lt;br /&gt;
Some folks might  use Sun’s Custom JumpStart to image our Solaris machines (see http://docs.sun.com/app/docs/doc/817-5506/jumpstartoverview-4?a=view). We will not be doing any Solaris stuff, but I figured since the book I&#039;m basing a lot of this automation stuff on mentiond it, it might be worth looking into.&lt;br /&gt;
&lt;br /&gt;
We’ll use Kickstart to image our Red Hat systems (see http://www.redhat.com/docs/en-US/Red-Hat-Enterprise-Linux/6.0/html/Installation-Guide/ch kickstart2.html). &lt;br /&gt;
&lt;br /&gt;
Each of our imaging systems Will utilize postinstallation scripts that We develop. These scripts will cause the system to utilize our newschoolserver infrastructure and extend it using Puppet in our case. The same can/could be done using Cfengine, though we neither explain nor support it here.&lt;br /&gt;
&lt;br /&gt;
All our new systems will be booted from the network, and during the imaging process they will have cfengine/puppet installed and this particular unit will be configured to use as our puppet master system. Puppet will handle all system configuration from the very first bootup of our hosts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[Dextrose/Server/Addons]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62122</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62122"/>
		<updated>2011-02-22T21:43:01Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[Dextrose/Server/Addons]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62121</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=62121"/>
		<updated>2011-02-22T21:41:59Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Extras to XS 0.6 &#039;&#039;&#039; [[[Dextrose/Server/Addons]]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=61880</id>
		<title>Dextrose/Server/DebianBuilding</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/DebianBuilding&amp;diff=61880"/>
		<updated>2011-02-17T20:13:11Z</updated>

		<summary type="html">&lt;p&gt;Nubae: Created page with &amp;quot;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 ins...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a description on how to integrate the FAI (Fully Automated Install) using debian technology to create a similar server with similar services to the pre-defined RHEL 6 install. The instructions below should help to create an unattended install with all the necessary components that mirror what is being done for the RHEL 6 automated install.&lt;br /&gt;
&lt;br /&gt;
Instructions will follow:&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61879</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61879"/>
		<updated>2011-02-17T20:08:46Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Mothership - Debian &#039;&#039;&#039; [[Dextrose/Server/DebianBuilding]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Building&amp;diff=61734</id>
		<title>Dextrose/Server/Building</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Building&amp;diff=61734"/>
		<updated>2011-02-13T23:52:40Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Mothership Dextrose Server Build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mothership Dextrose Server Build ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are using a 2 tier system whereby a Master server (rhelmaster) and a client school server (schoolserver1) are built as VMs for the testing platform. The rhelmaster builds the schoolserver1 and any subsequent schoolservers through a kickstart based network installation. The rhelmaster is basically an iso that can be easily replicated or installed from DVD/USB. As an added bonus in my test environment I built a Debian 6 master for installing clients via FAI (Fully Automated Install), though this is not what we are focusing on, it was interesting to see that one could do this from the same environment. The rhmaster can/will also be built using the same kickstart+configuration scripts procedure, albeit housing everything on a cdrom and automatically detecting whether the dextrose mothership hardware has 1 or 2 drives and installing the necessary partitioning scheme accordingly. I just outline the creation of the rhmaster and how it then creates the schoolserver clients via network boot. The avid reader will no doubt realise that this outline is the set of steps that would take place automatically within the cdrom based kickstart iso.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[note - I am currently using the rhel 6 epel, repol, atid, rpmforge, and dag repositories for some of the packages not found on the CD, though fortunately most items are found directly on the CD. When centos 6 is released we can use those repos instead, or respin our own from src.]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To begin with the master server is built as a generic RHEL 6 server install with the following additions:-&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;NFS server&#039;&#039;&#039; for serving the packages and system environment (yum install nfs-utils; system-config-nfs) - read only access to 10.0.0.1/24 from /kickstart/rhel6&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;TFTP server&#039;&#039;&#039; for serving the pxe and boot image, including custom message files related to kickstart environments.&lt;br /&gt;
&lt;br /&gt;
verify tftpserver is installed: &lt;br /&gt;
 rpm -q tftp-server&lt;br /&gt;
&lt;br /&gt;
If not installed: &lt;br /&gt;
&lt;br /&gt;
 yum install tftp-server syslinux; &lt;br /&gt;
 mkdir /tftpboot/linux-install; &lt;br /&gt;
 cp /usr/share/syslinux/pxelinux.0 /tftpboot/linux-install; &lt;br /&gt;
 mkdir /tftpboot/linux-install/msgs; &lt;br /&gt;
 cp /kickstart/rhel-6/isolinux/*msg /tftpboot/linux-install/msgs; &lt;br /&gt;
 mkdir /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/initrd.img /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/vmlinuz /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /usr/share/syslinux/menu.c32 /tftpboot/linux-install&lt;br /&gt;
&lt;br /&gt;
 mkdir /tftpboot/linux-install/pxelinux.cfg; touch /tftpboot/linux-install/pxelinux.cfg/default;&lt;br /&gt;
&lt;br /&gt;
We edit the default pxe file to include our kickstart choices, defaulting to label 1 (3 choices, regular, update, and raid):-&lt;br /&gt;
&lt;br /&gt;
 default menu.c32&lt;br /&gt;
 timeout 100&lt;br /&gt;
 prompt 1&lt;br /&gt;
 MENU TITLE PXE Dextrose Server network boot Menu&lt;br /&gt;
 display msgs/boot.msg&lt;br /&gt;
&lt;br /&gt;
 Label 1&lt;br /&gt;
  MENU LABEL Regular dextrose server install&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append noapic initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
 Label 2&lt;br /&gt;
  MENU LABEL Update dextrose server - HTTP - some public ip&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append ks initrd=rhel6/initrd.img ramdisk_size=100000 ip=dhcp  \&lt;br /&gt;
  ksdevice=eth1 url --url http://10.0.0.1/mirrors/dextrose-server-update/i386/&lt;br /&gt;
&lt;br /&gt;
 Label 3&lt;br /&gt;
  MENU LABEL Dextrose server install - Raid 10 - 2 disks&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append rhel/vmlinuz&lt;br /&gt;
  append initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-raid-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Enable xinetd and tftp to run at runlevels 3-5: chkconfig --level 345 xinetd on; chkconfig --level 345 tftp on; /etc/init.d/xinetd restart&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;DHCP server&#039;&#039;&#039; for handing out initial IPs to TFTP server (yum install dhcp; )&lt;br /&gt;
We then edit /etc/dhcp.conf (dynamic addresses fed for 100 clients - this can be the _only_ dhcp server for eth1):&lt;br /&gt;
&lt;br /&gt;
 authoritative;&lt;br /&gt;
 option dhcp-max-message-size 2048;&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.0.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.0.2 10.0.0.102;&lt;br /&gt;
  option broadcast-address 10.0.0.255;&lt;br /&gt;
  option routers 10.0.0.1;&lt;br /&gt;
  option domain-name &amp;quot;dextrose.local&amp;quot;;&lt;br /&gt;
  option domain-name-servers 10.0.0.1;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style ad-hoc;&lt;br /&gt;
 allow booting;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
&lt;br /&gt;
 class &amp;quot;pxeclients&amp;quot; {   &lt;br /&gt;
   match if substring(option vendor-class-identifier, 0, 9) = &amp;quot;PXEClient&amp;quot;;   &lt;br /&gt;
   next-server 10.0.0.1;&lt;br /&gt;
   filename &amp;quot;linux-install/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Networking&#039;&#039;&#039; is setup with 2 network cards (currently this is a VM, so one is a bridge to the internet pointing eth0, and the other (eth1) is handed an ip by the internal dhcp server (10.0.0.1)) Naturally, in a physical environment this setup still needs to be ammended slighlty, probably inline with the XS server settings.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Custom repositories&#039;&#039;&#039; for installing extra packages not found on initial installation media. We may not need the rhel-beta repositories at this point, they are just mentioned for informational purposes:&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta-optional]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta (Optional) - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/optional/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [epel]&lt;br /&gt;
 name=RHEL 6 - epel - $releasever - $basearch&lt;br /&gt;
 baseurl=ftp://ftp-stud.hs-esslingen.de/pub/epel/beta/6/$basearch/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=1&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-stable]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/stable/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-testing]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/testing/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=4&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/elrepo/el6/$basearch/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo-testing]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/testing/el6/$basearch/&lt;br /&gt;
 enabled=0&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rpmforge]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - dag&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge&lt;br /&gt;
 enabled = 1&lt;br /&gt;
 protect = 0&lt;br /&gt;
 #gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag&lt;br /&gt;
 gpgcheck = 1&lt;br /&gt;
&lt;br /&gt;
 [rpmforge-extras]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - extras&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Setup Installation tree&#039;&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /kickstart/rhel-6/; cp -Rp /media/RHEL_6.0_cdrom/* /kickstart/rhel-6/;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Extra software&#039;&#039;&#039; to be installed from rpm: Puppet, Nagios, system-config-kickstart:&lt;br /&gt;
&lt;br /&gt;
 rpm -Uvh puppet; rpm -Uvh nagios; rpm -Uvh system-config-kickstart;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Firewall&#039;&#039;&#039; - The rhmaster system is built with NFS and SSH exceptions in the firewall. We also add exceptions of Nagios, ejabberd and Puppet. Iptables looks like this (edit /etc/sysconfig/iptables and restart iptables with &#039;&#039;service iptables restart&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 *filter&lt;br /&gt;
 :INPUT ACCEPT [0:0]&lt;br /&gt;
 :FORWARD ACCEPT [0:0]&lt;br /&gt;
 :OUTPUT ACCEPT [0:0]&lt;br /&gt;
 :RH-FIREWALL-1-INPUT - [0:0]&lt;br /&gt;
 -A INPUT -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A FORWARD -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -i lo -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p icmp --icmp-type any -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 50 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 51 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp --dport 5353 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m udp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m tcp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 22 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 80 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 443 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5666 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5222 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5269 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5280 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 8140 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -j REJECT --reject-with icmp-host-prohibited&lt;br /&gt;
 COMMIT&lt;br /&gt;
&lt;br /&gt;
- The &#039;&#039;&#039;kickstart file&#039;&#039;&#039; is created with various customisations (the system-config-kickstart is a visual tool for doing this, save the result as anaconda-ks-custom.ks), and then copied to the relevant directory:&lt;br /&gt;
&lt;br /&gt;
 cp /root/anaconda-ks-custom.ks /kickstart/rhel6-dextrose-install.ks&lt;br /&gt;
&lt;br /&gt;
- We modify the kickstart file to give various other options (update, raid system) and copy those to /kickstart/ too, which will be chosen from a startup menu. The first example kickstart file is pasted below and was created with the visual tool. Later versions are always easier to create by simple search and replace.:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [A#platform=x86, AMD64, or Intel EM64T&lt;br /&gt;
 #version=DEVEL&lt;br /&gt;
 # Firewall configuration&lt;br /&gt;
 firewall --enabled --http --ssh&lt;br /&gt;
 # Install OS instead of upgrade&lt;br /&gt;
 install&lt;br /&gt;
 # Use NFS installation media&lt;br /&gt;
 nfs --server=10.0.0.1 --dir=kickstart/rhel6&lt;br /&gt;
 # Root password&lt;br /&gt;
 rootpw --iscrypted $1$qx3BGJ1t$boTGmbtFhwf97FCtZZmmX1&lt;br /&gt;
 #  Network information&lt;br /&gt;
 network  --bootproto=dhcp --device=eth0 --onboot=on&lt;br /&gt;
 # System authorization information&lt;br /&gt;
 auth  --useshadow  --passalgo=sha256&lt;br /&gt;
 # Use graphical install&lt;br /&gt;
 graphical&lt;br /&gt;
 # Run the Setup Agent on first boot&lt;br /&gt;
 firstboot --reconfig&lt;br /&gt;
 # System keyboard&lt;br /&gt;
 keyboard us&lt;br /&gt;
 # System language&lt;br /&gt;
 lang en_US&lt;br /&gt;
 # SELinux configuration&lt;br /&gt;
  selinux --disabled&lt;br /&gt;
 # Installation logging level&lt;br /&gt;
 logging --level=info&lt;br /&gt;
 # Reboot after installation&lt;br /&gt;
 reboot&lt;br /&gt;
 # System timezone&lt;br /&gt;
 timezone  America/Montevideo&lt;br /&gt;
 # System bootloader configuration&lt;br /&gt;
 bootloader --append=&amp;quot;rhgb quiet&amp;quot; --location=mbr&lt;br /&gt;
 # Clear the Master Boot Record&lt;br /&gt;
  zerombr&lt;br /&gt;
 # Partition clearing information&lt;br /&gt;
 clearpart --all --initlabel&lt;br /&gt;
 # Disk partitioning information &lt;br /&gt;
 part swap --asprimary --fstype=&amp;quot;swap&amp;quot; --size=1024&lt;br /&gt;
 part / --asprimary --fstype=&amp;quot;ext4&amp;quot; --grow --size=1 &lt;br /&gt;
&lt;br /&gt;
 %packages&lt;br /&gt;
 @additional-devel&lt;br /&gt;
 @base&lt;br /&gt;
 @compat-libraries&lt;br /&gt;
 @console-internet&lt;br /&gt;
 @emacs&lt;br /&gt;
 @fonts&lt;br /&gt;
 @input-methods&lt;br /&gt;
 @internet-browser&lt;br /&gt;
 @legacy-unix&lt;br /&gt;
 @legacy-x&lt;br /&gt;
 @mysql&lt;br /&gt;
 @mysql-client&lt;br /&gt;
 @network-file-system-client&lt;br /&gt;
 @network-server&lt;br /&gt;
 @network-tools&lt;br /&gt;
 @nfs-file-server&lt;br /&gt;
 @performance&lt;br /&gt;
 @php&lt;br /&gt;
 @server-platform-devel&lt;br /&gt;
 @spanish-support&lt;br /&gt;
 @system-admin-tools&lt;br /&gt;
 @system-management-messaging-client&lt;br /&gt;
 @system-management-messaging-server&lt;br /&gt;
 @web-server&lt;br /&gt;
 @x11&lt;br /&gt;
 crypto-utils&lt;br /&gt;
&lt;br /&gt;
 %end&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Building&amp;diff=61637</id>
		<title>Dextrose/Server/Building</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server/Building&amp;diff=61637"/>
		<updated>2011-02-10T19:04:00Z</updated>

		<summary type="html">&lt;p&gt;Nubae: Created page with &amp;quot;== Mothership Dextrose Server Build ==   We are using a 2 tier system whereby a Master server (rhelmaster) and a client school server (schoolserver1) are built as VMs for the tes...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mothership Dextrose Server Build ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are using a 2 tier system whereby a Master server (rhelmaster) and a client school server (schoolserver1) are built as VMs for the testing platform. The rhelmaster builds the schoolserver1 and any subsequent schoolservers through a kickstart based network installation. The rhelmaster is basically an iso that can be easily replicated or installed from DVD/USB. As an added bonus in my test environment I built a Debian 6 master for installing clients via FAI (Fully Automated Install), though this is not what we are focusing on, it was interesting to see that one could do this from the same environment. The rhmaster can/will also be built using the same kickstart+configuration scripts procedure, albeit housing everything on a cdrom and automatically detecting whether the dextrose mothership hardware has 1 or 2 drives and installing the necessary partitioning scheme accordingly. I just outline the creation of the rhmaster and how it then creates the schoolserver clients via network boot. The avid reader will no doubt realise that this outline is the set of steps that would take place automatically within the cdrom based kickstart iso.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[note - I am currently using the rhel 6 epel, repol, atid, rpmforge, and dag repositories for some of the packages not found on the CD, though fortunately most items are found directly on the CD. When centos 6 is released we can use those repos instead, or respin our own from src.]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To begin with the master server is built as a generic RHEL 6 server install with the following additions:-&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;NFS server&#039;&#039;&#039; for serving the packages and system environment (yum install nfs-utils; system-config-nfs) - read only access to 10.0.0.1/24 from /kickstart/rhel6&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;TFTP server&#039;&#039;&#039; for serving the pxe and boot image, including custom message files related to kickstart environments.&lt;br /&gt;
&lt;br /&gt;
verify tftpserver is installed: &lt;br /&gt;
 rpm -q tftp-server&lt;br /&gt;
&lt;br /&gt;
If not installed: &lt;br /&gt;
&lt;br /&gt;
 yum install tftp-server syslinux; &lt;br /&gt;
 mkdir /tftpboot/linux-install; &lt;br /&gt;
 cp /usr/share/syslinux/pxelinux.0 /tftpboot/linux-install; &lt;br /&gt;
 mkdir /tftpboot/linux-install/msgs; &lt;br /&gt;
 cp /kickstart/rhel-6/isolinux/*msg /tftpboot/linux-install/msgs; &lt;br /&gt;
 mkdir /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/initrd.img /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/vmlinuz /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /usr/share/syslinux/menu.c32 /tftpboot/linux-install&lt;br /&gt;
&lt;br /&gt;
 mkdir /tftpboot/linux-install/pxelinux.cfg; touch /tftpboot/linux-install/pxelinux.cfg/default;&lt;br /&gt;
&lt;br /&gt;
We edit the default pxe file to include our kickstart choices, defaulting to label 1 (3 choices, regular, update, and raid):-&lt;br /&gt;
&lt;br /&gt;
 default menu.c32&lt;br /&gt;
 timeout 100&lt;br /&gt;
 prompt 1&lt;br /&gt;
 MENU TITLE PXE Dextrose Server network boot Menu&lt;br /&gt;
 display msgs/boot.msg&lt;br /&gt;
&lt;br /&gt;
 Label 1&lt;br /&gt;
  MENU LABEL Regular dextrose server install&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append noapic initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
 Label 2&lt;br /&gt;
  MENU LABEL Update dextrose server - HTTP - some public ip&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append ks initrd=rhel6/initrd.img ramdisk_size=100000 ip=dhcp  \&lt;br /&gt;
  ksdevice=eth1 url --url http://10.0.0.1/mirrors/dextrose-server-update/i386/&lt;br /&gt;
&lt;br /&gt;
 Label 3&lt;br /&gt;
  MENU LABEL Dextrose server install - Raid 10 - 2 disks&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append rhel/vmlinuz&lt;br /&gt;
  append initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-raid-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Enable xinetd and tftp to run at runlevels 3-5: chkconfig --level 345 xinetd on; chkconfig --level 345 tftp on; /etc/init.d/xinetd restart&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;DHCP server&#039;&#039;&#039; for handing out initial IPs to TFTP server (yum install dhcp; )&lt;br /&gt;
We then edit /etc/dhcp.conf (dynamic addresses fed for 100 clients - this can be the _only_ dhcp server for eth1):&lt;br /&gt;
&lt;br /&gt;
 authoritative;&lt;br /&gt;
 option dhcp-max-message-size 2048;&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.0.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.0.2 10.0.0.102;&lt;br /&gt;
  option broadcast-address 10.0.0.255;&lt;br /&gt;
  option routers 10.0.0.1;&lt;br /&gt;
  option domain-name &amp;quot;dextrose.local&amp;quot;;&lt;br /&gt;
  option domain-name-servers 10.0.0.1;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style ad-hoc;&lt;br /&gt;
 allow booting;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
&lt;br /&gt;
 class &amp;quot;pxeclients&amp;quot; {   &lt;br /&gt;
   match if substring(option vendor-class-identifier, 0, 9) = &amp;quot;PXEClient&amp;quot;;   &lt;br /&gt;
   next-server 10.0.0.1;&lt;br /&gt;
   filename &amp;quot;linux-install/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Networking&#039;&#039;&#039; is setup with 2 network cards (currently this is a VM, so one is a bridge to the internet pointing eth0, and the other (eth1) is handed an ip by the internal dhcp server (10.0.0.1)) Naturally, in a physical environment this setup still needs to be ammended slighlty, probably inline with the XS server settings.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Custom repositories&#039;&#039;&#039; for installing extra packages not found on initial installation media. We may not need the rhel-beta repositories at this point, they are just mentioned for informational purposes:&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta-optional]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta (Optional) - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/optional/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [epel]&lt;br /&gt;
 name=RHEL 6 - epel - $releasever - $basearch&lt;br /&gt;
 baseurl=ftp://ftp-stud.hs-esslingen.de/pub/epel/beta/6/$basearch/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=1&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-stable]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/stable/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-testing]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/testing/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=4&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/elrepo/el6/$basearch/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo-testing]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/testing/el6/$basearch/&lt;br /&gt;
 enabled=0&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rpmforge]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - dag&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge&lt;br /&gt;
 enabled = 1&lt;br /&gt;
 protect = 0&lt;br /&gt;
 #gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag&lt;br /&gt;
 gpgcheck = 1&lt;br /&gt;
&lt;br /&gt;
 [rpmforge-extras]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - extras&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Setup Installation tree&#039;&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /kickstart/rhel-6/; cp -Rp /media/RHEL_6.0_cdrom/* /kickstart/rhel-6/;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Extra software&#039;&#039;&#039; to be installed from rpm: Puppet, Nagios, system-config-kickstart:&lt;br /&gt;
&lt;br /&gt;
 rpm -Uvh puppet; rpm -Uvh nagios; rpm -Uvh system-config-kickstart;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Firewall&#039;&#039;&#039; - The rhmaster system is built with NFS and SSH exceptions in the firewall. We also add exceptions of Nagios, ejabberd and Puppet. Iptables looks like this (edit /etc/sysconfig/iptables and restart iptables with &#039;&#039;service iptables restart&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 *filter&lt;br /&gt;
 :INPUT ACCEPT [0:0]&lt;br /&gt;
 :FORWARD ACCEPT [0:0]&lt;br /&gt;
 :OUTPUT ACCEPT [0:0]&lt;br /&gt;
 :RH-FIREWALL-1-INPUT - [0:0]&lt;br /&gt;
 -A INPUT -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A FORWARD -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -i lo -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p icmp --icmp-type any -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 50 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 51 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp --dport 5353 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m udp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m tcp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 22 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 80 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 443 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5666 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5222 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5269 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5280 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 8140 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -j REJECT --reject-with icmp-host-prohibited&lt;br /&gt;
 COMMIT&lt;br /&gt;
&lt;br /&gt;
- The &#039;&#039;&#039;kickstart file&#039;&#039;&#039; is created with various customisations (the system-config-kickstart is a visual tool for doing this, save the result as anaconda-ks-custom.ks), and then copied to the relevant directory:&lt;br /&gt;
&lt;br /&gt;
 cp /root/anaconda-ks-custom.ks /kickstart/rhel6-dextrose-install.ks&lt;br /&gt;
&lt;br /&gt;
- We modify the kickstart file to give various other options (update, raid system) and copy those to /kickstart/ too, which will be chosen from a startup menu&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61636</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61636"/>
		<updated>2011-02-10T19:02:31Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Dextrose/Server/Building]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Building&amp;diff=61635</id>
		<title>Building</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Building&amp;diff=61635"/>
		<updated>2011-02-10T19:00:30Z</updated>

		<summary type="html">&lt;p&gt;Nubae: Created page with &amp;quot; == Mothership Dextrose Server Build ==   We are using a 2 tier system whereby a Master server (rhelmaster) and a client school server (schoolserver1) are built as VMs for the te...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Mothership Dextrose Server Build ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We are using a 2 tier system whereby a Master server (rhelmaster) and a client school server (schoolserver1) are built as VMs for the testing platform. The rhelmaster builds the schoolserver1 and any subsequent schoolservers through a kickstart based network installation. The rhelmaster is basically an iso that can be easily replicated or installed from DVD/USB. As an added bonus in my test environment I built a Debian 6 master for installing clients via FAI (Fully Automated Install), though this is not what we are focusing on, it was interesting to see that one could do this from the same environment. The rhmaster can/will also be built using the same kickstart+configuration scripts procedure, albeit housing everything on a cdrom and automatically detecting whether the dextrose mothership hardware has 1 or 2 drives and installing the necessary partitioning scheme accordingly. I just outline the creation of the rhmaster and how it then creates the schoolserver clients via network boot. The avid reader will no doubt realise that this outline is the set of steps that would take place automatically within the cdrom based kickstart iso.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;[note - I am currently using the rhel 6 epel, repol, atid, rpmforge, and dag repositories for some of the packages not found on the CD, though fortunately most items are found directly on the CD. When centos 6 is released we can use those repos instead, or respin our own from src.]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To begin with the master server is built as a generic RHEL 6 server install with the following additions:-&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;NFS server&#039;&#039;&#039; for serving the packages and system environment (yum install nfs-utils; system-config-nfs) - read only access to 10.0.0.1/24 from /kickstart/rhel6&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;TFTP server&#039;&#039;&#039; for serving the pxe and boot image, including custom message files related to kickstart environments.&lt;br /&gt;
&lt;br /&gt;
verify tftpserver is installed: &lt;br /&gt;
 rpm -q tftp-server&lt;br /&gt;
&lt;br /&gt;
If not installed: &lt;br /&gt;
&lt;br /&gt;
 yum install tftp-server syslinux; &lt;br /&gt;
 mkdir /tftpboot/linux-install; &lt;br /&gt;
 cp /usr/share/syslinux/pxelinux.0 /tftpboot/linux-install; &lt;br /&gt;
 mkdir /tftpboot/linux-install/msgs; &lt;br /&gt;
 cp /kickstart/rhel-6/isolinux/*msg /tftpboot/linux-install/msgs; &lt;br /&gt;
 mkdir /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/initrd.img /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /kickstart/rhel-6/images/pxeboot/vmlinuz /tftpboot/linux-install/rhel6; &lt;br /&gt;
 cp /usr/share/syslinux/menu.c32 /tftpboot/linux-install&lt;br /&gt;
&lt;br /&gt;
 mkdir /tftpboot/linux-install/pxelinux.cfg; touch /tftpboot/linux-install/pxelinux.cfg/default;&lt;br /&gt;
&lt;br /&gt;
We edit the default pxe file to include our kickstart choices, defaulting to label 1 (3 choices, regular, update, and raid):-&lt;br /&gt;
&lt;br /&gt;
 default menu.c32&lt;br /&gt;
 timeout 100&lt;br /&gt;
 prompt 1&lt;br /&gt;
 MENU TITLE PXE Dextrose Server network boot Menu&lt;br /&gt;
 display msgs/boot.msg&lt;br /&gt;
&lt;br /&gt;
 Label 1&lt;br /&gt;
  MENU LABEL Regular dextrose server install&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append noapic initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
 Label 2&lt;br /&gt;
  MENU LABEL Update dextrose server - HTTP - some public ip&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append ks initrd=rhel6/initrd.img ramdisk_size=100000 ip=dhcp  \&lt;br /&gt;
  ksdevice=eth1 url --url http://10.0.0.1/mirrors/dextrose-server-update/i386/&lt;br /&gt;
&lt;br /&gt;
 Label 3&lt;br /&gt;
  MENU LABEL Dextrose server install - Raid 10 - 2 disks&lt;br /&gt;
  kernel rhel6/vmlinuz&lt;br /&gt;
  append rhel/vmlinuz&lt;br /&gt;
  append initrd=rhel6/initrd.img ramdisk_size=10000 ip=dhcp \&lt;br /&gt;
  ks=nfs:10.0.0.1:/kickstart/rhel6/rhel6-dextrose-raid-kickstart.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Enable xinetd and tftp to run at runlevels 3-5: chkconfig --level 345 xinetd on; chkconfig --level 345 tftp on; /etc/init.d/xinetd restart&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;DHCP server&#039;&#039;&#039; for handing out initial IPs to TFTP server (yum install dhcp; )&lt;br /&gt;
We then edit /etc/dhcp.conf (dynamic addresses fed for 100 clients - this can be the _only_ dhcp server for eth1):&lt;br /&gt;
&lt;br /&gt;
 authoritative;&lt;br /&gt;
 option dhcp-max-message-size 2048;&lt;br /&gt;
&lt;br /&gt;
 subnet 10.0.0.0 netmask 255.255.255.0 {&lt;br /&gt;
  range 10.0.0.2 10.0.0.102;&lt;br /&gt;
  option broadcast-address 10.0.0.255;&lt;br /&gt;
  option routers 10.0.0.1;&lt;br /&gt;
  option domain-name &amp;quot;dextrose.local&amp;quot;;&lt;br /&gt;
  option domain-name-servers 10.0.0.1;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 ddns-update-style ad-hoc;&lt;br /&gt;
 allow booting;&lt;br /&gt;
 allow bootp;&lt;br /&gt;
&lt;br /&gt;
 class &amp;quot;pxeclients&amp;quot; {   &lt;br /&gt;
   match if substring(option vendor-class-identifier, 0, 9) = &amp;quot;PXEClient&amp;quot;;   &lt;br /&gt;
   next-server 10.0.0.1;&lt;br /&gt;
   filename &amp;quot;linux-install/pxelinux.0&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Networking&#039;&#039;&#039; is setup with 2 network cards (currently this is a VM, so one is a bridge to the internet pointing eth0, and the other (eth1) is handed an ip by the internal dhcp server (10.0.0.1)) Naturally, in a physical environment this setup still needs to be ammended slighlty, probably inline with the XS server settings.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Custom repositories&#039;&#039;&#039; for installing extra packages not found on initial installation media. We may not need the rhel-beta repositories at this point, they are just mentioned for informational purposes:&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rhel-beta-optional]&lt;br /&gt;
 name=Red Hat Enterprise Linux $releasever Beta (Optional) - $basearch&lt;br /&gt;
 baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/optional/$basearch/os/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [epel]&lt;br /&gt;
 name=RHEL 6 - epel - $releasever - $basearch&lt;br /&gt;
 baseurl=ftp://ftp-stud.hs-esslingen.de/pub/epel/beta/6/$basearch/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=1&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-stable]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/stable/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [atrpms-testing]&lt;br /&gt;
 name=RHEL 6 - atrpms-stable - $releasever - $basearch&lt;br /&gt;
 baseurl=http://dl.atrpms.net/el6-$basearch/atrpms/testing/&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 enabled=0&lt;br /&gt;
 priority=4&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/elrepo/el6/$basearch/&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=1&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [elrepo-testing]&lt;br /&gt;
 name=ElRepo.org Community Enterprise Linux Repository - el6 - $basearch&lt;br /&gt;
 baseurl=http://elrepo.org/linux/testing/el6/$basearch/&lt;br /&gt;
 enabled=0&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org&lt;br /&gt;
 protect=0&lt;br /&gt;
 priority=3&lt;br /&gt;
 exclude=*release&lt;br /&gt;
&lt;br /&gt;
 [rpmforge]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - dag&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge&lt;br /&gt;
 enabled = 1&lt;br /&gt;
 protect = 0&lt;br /&gt;
 #gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag&lt;br /&gt;
 gpgcheck = 1&lt;br /&gt;
&lt;br /&gt;
 [rpmforge-extras]&lt;br /&gt;
 name = RHEL $releasever - RPMforge.net - extras&lt;br /&gt;
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras&lt;br /&gt;
 mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras&lt;br /&gt;
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Setup Installation tree&#039;&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /kickstart/rhel-6/; cp -Rp /media/RHEL_6.0_cdrom/* /kickstart/rhel-6/;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Extra software&#039;&#039;&#039; to be installed from rpm: Puppet, Nagios, system-config-kickstart:&lt;br /&gt;
&lt;br /&gt;
 rpm -Uvh puppet; rpm -Uvh nagios; rpm -Uvh system-config-kickstart;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;Firewall&#039;&#039;&#039; - The rhmaster system is built with NFS and SSH exceptions in the firewall. We also add exceptions of Nagios, ejabberd and Puppet. Iptables looks like this (edit /etc/sysconfig/iptables and restart iptables with &#039;&#039;service iptables restart&#039;&#039;:-&lt;br /&gt;
&lt;br /&gt;
 *filter&lt;br /&gt;
 :INPUT ACCEPT [0:0]&lt;br /&gt;
 :FORWARD ACCEPT [0:0]&lt;br /&gt;
 :OUTPUT ACCEPT [0:0]&lt;br /&gt;
 :RH-FIREWALL-1-INPUT - [0:0]&lt;br /&gt;
 -A INPUT -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A FORWARD -j RH-FIREWALL-1-INPUT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -i lo -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p icmp --icmp-type any -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 50 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p 51 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp --dport 5353 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m udp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -p udp -m tcp --dport 631 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 22 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 80 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 443 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5666 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5222 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5269 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 5280 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -m state --state NEW -m tcp -p --dport 8140 -j ACCEPT&lt;br /&gt;
 -A RH-FIREWALL-1-INPUT -j REJECT --reject-with icmp-host-prohibited&lt;br /&gt;
 COMMIT&lt;br /&gt;
&lt;br /&gt;
- The &#039;&#039;&#039;kickstart file&#039;&#039;&#039; is created with various customisations (the system-config-kickstart is a visual tool for doing this, save the result as anaconda-ks-custom.ks), and then copied to the relevant directory:&lt;br /&gt;
&lt;br /&gt;
 cp /root/anaconda-ks-custom.ks /kickstart/rhel6-dextrose-install.ks&lt;br /&gt;
&lt;br /&gt;
- We modify the kickstart file to give various other options (update, raid system) and copy those to /kickstart/ too, which will be chosen from a startup menu&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61634</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61634"/>
		<updated>2011-02-10T18:22:44Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Dextrose Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mothership&#039;&#039;&#039; [[Building]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61633</id>
		<title>Dextrose/Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Dextrose/Server&amp;diff=61633"/>
		<updated>2011-02-10T18:19:51Z</updated>

		<summary type="html">&lt;p&gt;Nubae: Created page with &amp;quot;== Dextrose Server ==  The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dextrose Server ==&lt;br /&gt;
&lt;br /&gt;
The following pages describe the dextrose server infrastructure. We currently have 2 parts to the server, the Server Builder (Mothership Dextrose) and the build itself (School Server)&lt;br /&gt;
&lt;br /&gt;
The infrastructure is based on Redhat Enterprise Linux 6. We may move to/work with Centos 6 when it is released. Right now we only support 32 bit i386, though we might support x64 in the future.&lt;br /&gt;
&lt;br /&gt;
[[Server (mothership) Build]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Using_Moodle_as_an_Activity_Host&amp;diff=36806</id>
		<title>Using Moodle as an Activity Host</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Using_Moodle_as_an_Activity_Host&amp;diff=36806"/>
		<updated>2009-09-06T01:02:11Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;db example:&lt;br /&gt;
          what is it? || Where is it || Screenshots || Saved instances if I have it&lt;br /&gt;
Activity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Moodle Linking to Sugar Activities&lt;br /&gt;
    goal&lt;br /&gt;
        make it easy for students to upload work straight to Moodle servers&lt;br /&gt;
            with and w/o logins?&lt;br /&gt;
        reproduce enthusiasm found on Scratch for programming with etoys. turtle art, writing etc&lt;br /&gt;
            students I&#039;ve worked with want&lt;br /&gt;
                lots of feedback from peers&lt;br /&gt;
                to share their work with peers&lt;br /&gt;
                to work on projects with friends&lt;br /&gt;
                    later they&#039;ll figure out their friends may not be the best people to work with&lt;br /&gt;
                    but best to figure that out EARLY&lt;br /&gt;
                sharing to be easy&lt;br /&gt;
                control over who can edit&lt;br /&gt;
                blame trees to see who messed up a part of a larger group project&lt;br /&gt;
                    grp projects should have no more than 3 people&lt;br /&gt;
                to have fun&lt;br /&gt;
                    building games is fun&lt;br /&gt;
                    writing is not fun unless it&#039;s Alice like then it becomes a game again&lt;br /&gt;
                variety&lt;br /&gt;
                structure&lt;br /&gt;
                to be as lazy as possilbe most of the time&lt;br /&gt;
                to feel they are smart&lt;br /&gt;
                SHOW they are smart&lt;br /&gt;
                    nothing in Sugar really makes that easy yet&lt;br /&gt;
        activity uploads&lt;br /&gt;
            etoys etc&lt;br /&gt;
            speak&lt;br /&gt;
                encourage students to tell stories using speak&lt;br /&gt;
                encourage creation of FAQs&lt;br /&gt;
            Turtle Art&lt;br /&gt;
            pippy&lt;br /&gt;
            labyrinth&lt;br /&gt;
                nice for mind mapping but it&#039;s clumsy&lt;br /&gt;
    where to begin&lt;br /&gt;
        python&lt;br /&gt;
            why python?&lt;br /&gt;
                Nubae knows it&lt;br /&gt;
            hello world&lt;br /&gt;
            nubae&#039;s pyclic?&lt;br /&gt;
                need to know how to get pyclic into a Sugar install...&lt;br /&gt;
                it&#039;s not in Sugar activities&lt;br /&gt;
                    http://activities.sugarlabs.org/en-US/sugar/search?q=pyclic&amp;amp;cat=all&lt;br /&gt;
                it&#039;s here&lt;br /&gt;
                    http://git.sugarlabs.org/projects/pyclic&lt;br /&gt;
                    can we get pyclic into Pippy as well?&lt;br /&gt;
                        nice to get that into Pippy examples&lt;br /&gt;
                tie the Pyclic data straight into the Moodle DB and tie THAT data into the Moodle Quiz management interface&lt;br /&gt;
            start here with a basic test prompt interface&lt;br /&gt;
                sample UI though far from perfect&lt;br /&gt;
                    http://docs.google.com/previewtemplate?id=0Al9mmCKTPBRYdHNtWUN2aWlEZmtnVjZSWXZRZ2trNVE&amp;amp;mode=public&lt;br /&gt;
            question builder&lt;br /&gt;
                http://docs.google.com/View?id=dhq9ft55_82f46pw9dk&lt;br /&gt;
    New activity&lt;br /&gt;
        quiz builder and admin&lt;br /&gt;
            goal&lt;br /&gt;
                students write and answer questions&lt;br /&gt;
                    teacher or expert volunteers act as editors and gate keepers&lt;br /&gt;
                    put the onus of thinking on students!&lt;br /&gt;
            flow description&lt;br /&gt;
                http://docs.google.com/View?id=dhq9ft55_82f46pw9dk&lt;br /&gt;
            student writes X number of questions as determined by teacher&lt;br /&gt;
                Question types&lt;br /&gt;
                    multiple choice =MC&lt;br /&gt;
                    short answer= SA&lt;br /&gt;
                    true/false= T/F&lt;br /&gt;
                    essay&lt;br /&gt;
                    cloze&lt;br /&gt;
            submits questions via Python or other UI to moodle db&lt;br /&gt;
            student is now qualified to take test&lt;br /&gt;
            while taking test student can &lt;br /&gt;
                see if question was student created or teacher created&lt;br /&gt;
                    this will increase interest in the question and who is the student&lt;br /&gt;
                can suggest better answer&lt;br /&gt;
                can suggest a better question&lt;br /&gt;
            student scores for FITB/ SA/ MC/ Cloze can be returned immediately&lt;br /&gt;
            short answer and essay questions can go back to teacher or back to community for further evaluation&lt;br /&gt;
                use volunteers to help teacher grade&lt;br /&gt;
    users&lt;br /&gt;
        XO users&lt;br /&gt;
        non XO users&lt;br /&gt;
    viewing of materials&lt;br /&gt;
        only logged in to moodle server&lt;br /&gt;
        child security etc&lt;br /&gt;
    fields&lt;br /&gt;
        questions&lt;br /&gt;
            can we pull the machine specs XO or otherswise&lt;br /&gt;
            version of Sugar?&lt;br /&gt;
        user ID&lt;br /&gt;
            encourage firstname, last initial and maybe weight&lt;br /&gt;
        IP&lt;br /&gt;
            should tell us country and city... &lt;br /&gt;
            maybe that could be the intial log in UserID? last 3 digits of IP?&lt;br /&gt;
        voluntary&lt;br /&gt;
            school name&lt;br /&gt;
            teacher name&lt;br /&gt;
            class name&lt;br /&gt;
    notes&lt;br /&gt;
        nice to have something like this&lt;br /&gt;
            http://freemind.sourceforge.net/wiki/index.php/Mind_Map_Gallery#Education_Technology&lt;br /&gt;
            media wiki supports freemind mindmap files&lt;br /&gt;
            a tool that would allow lots of users to see and build upon other ideas in real time&lt;br /&gt;
            gobby like but with a diagramming UI&lt;br /&gt;
                connect the dots&lt;br /&gt;
                explode certain ideas&lt;br /&gt;
                    derive new documents from base document&lt;br /&gt;
                annotations are date stamped and contain User ID&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;--[[User:Dennis Daniels|Dennis Daniels]] 20:20, 5 September 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Getting_Involved&amp;diff=30686</id>
		<title>Sugar on a Stick/Getting Involved</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Getting_Involved&amp;diff=30686"/>
		<updated>2009-06-18T18:38:05Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Downloading alternative images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{GoogleTrans-en | es =show | bg =show | zh-CN =show | zh-TW =show | hr =show | cs =show | da =show | nl =show | fi =show | fr =show | de =show | el =show | hi =show | it =show | ja =show | ko =show | no =show | pl =show | pt =show | ro =show | ru =show | sv =show }}{{TeamHeader|Sugar on a Stick|home=Project Home|xbgColor=ffe792|join_label=Get Involved}}{{TOCright}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
==Send us your Thoughts==&lt;br /&gt;
Send e-mail to [mailto:iaep@lists.sugarlabs.org iaep@lists.sugarlabs.org]. This is our [http://lists.sugarlabs.org/listinfo/iaep &amp;quot;It&#039;s an Education Project&amp;quot; mailing list].&lt;br /&gt;
&lt;br /&gt;
===Help with Project Design===&lt;br /&gt;
See [[Sugar on a Stick/Resources#Home View Design | Home View design]] for a discussion of which activities should be visible on the first view of a running Sugar system.&lt;br /&gt;
&lt;br /&gt;
== Help with Deployment ==&lt;br /&gt;
* We are experimenting with the [http://schools.sugarlabs.org/mod/forum/view.php?id=530 Sugar Labs Moodle system] to help in coordinating deployment work on this project.&lt;br /&gt;
* [[Deployment Team/School_Key]] Information on various Sugar on a Stick deployments.&lt;br /&gt;
* Protocol for [[April 17 Olin Play Session]]&lt;br /&gt;
* Notes from [[April 18th YMCA Healthy Kids Day]]&lt;br /&gt;
&lt;br /&gt;
==Help with Testing==&lt;br /&gt;
With new builds coming frequently, it is sometimes hard to keep track of known problems and temporary workarounds.  Sometimes a build will not complete the boot process, or only start certain services.&lt;br /&gt;
&lt;br /&gt;
Testers can help other testers by organizing some of their findings here.  Remember different hardware combinations may have different results.&lt;br /&gt;
&lt;br /&gt;
Download guide: [[Sugar_on_a_Stick#Getting_Sugar_on_a_Stick_.28beta.29 | Getting SoaS (beta)]]. &lt;br /&gt;
{{:Sugar_on_a_Stick/Getting Involved/Testing}}&lt;br /&gt;
== Join the development effort ==&lt;br /&gt;
&lt;br /&gt;
* Development discussions take place on the Sugar-Devel email list, http://lists.sugarlabs.org/listinfo/sugar-devel.&lt;br /&gt;
* Real-time development chat is at irc://irc.freenode.net#sugar  Mibbit: [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23sugar&amp;amp;noServerTab=false #sugar]&lt;br /&gt;
* Source files are at [http://git.sugarlabs.org/projects/soas Gitorious SoaS home]&lt;br /&gt;
* [[OLPC:Rawhide-XO]] for the closely-related development of Sugar for the XO-1 laptop on Fedora 11.&lt;br /&gt;
=== Downloading alternative images ===&lt;br /&gt;
&lt;br /&gt;
A variety of images for testing are available (see table below). Some of images might still be unstable; that means &#039;&#039;they might not work yet.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The SoaS beta release is currently based on &#039;&#039;{{SoaS-2 beta}}&#039;&#039;. It&#039;s the most stable version we have right now, and is recommended for general testing purposes.&lt;br /&gt;
&lt;br /&gt;
* On the other hand, you can also grab a current snapshot, which includes the latest bits, but these might contain some issues and bite back. We really need your help on testing those to move forward!&lt;br /&gt;
&lt;br /&gt;
* The virtual appliance is &#039;&#039;not ready&#039;&#039; for general use and is under heavy development. Any help with testing it is also appreciated, though.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;available solution&#039;&#039;&#039; || &#039;&#039;&#039;current state&#039;&#039;&#039; || &#039;&#039;&#039;download location&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| SoaS &#039;&#039;Beta&#039;&#039; || beta quality || http://download.sugarlabs.org/soas/releases/soas-beta.iso&lt;br /&gt;
|-&lt;br /&gt;
| SoaS &#039;&#039;Snapshot&#039;&#039; || varying quality || {{SoaS-2 path}}&lt;br /&gt;
|-&lt;br /&gt;
| SoaS &#039;&#039;Virtual Appliance&#039;&#039; || alpha quality || {{SoaS-2 app-path}}&lt;br /&gt;
|-&lt;br /&gt;
| SoaS &#039;&#039;openSUSE Sugar (55+ activities)&#039;&#039; || beta quality || http://en.opensuse.org/Sugar - usb/cd/dvd/appliance images available&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Previous snapshots are provided in the subsequent directories on http://download.sugarlabs.org/soas/.&lt;br /&gt;
&lt;br /&gt;
=== Roadmap ===&lt;br /&gt;
Review and contribute to plans and schedules on the [[Sugar on a Stick/Roadmap| Project roadmap page]].&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
==Subpages==&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Participate]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Linux&amp;diff=30685</id>
		<title>Sugar on a Stick/Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Linux&amp;diff=30685"/>
		<updated>2009-06-18T18:34:56Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Linux instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This page helps you to put your [[Sugar on a Stick]] image on a USB flash drive under Linux.    If you have questions, trouble or feedback, please let us know on the [[Talk:Sugar on a Stick|SoaS talk]] page. It is important to note, that though currently SoaS is best known to be carried with the Fedora base, it exists with other dsitributions as a base too, for example the http://en.opensuse.org/Sugar - openSUSE variant. If you can improve these instructions, please edit the page and do so!&lt;br /&gt;
&lt;br /&gt;
== [[Sugar on a Stick/Installation/OLPC | SoaS on an OLPC XO-1]]==&lt;br /&gt;
* See [[Sugar on a Stick/Installation/OLPC]] for booting an OLPC XO-1 with SoaS images.&lt;br /&gt;
&lt;br /&gt;
== Linux instructions ==&lt;br /&gt;
&lt;br /&gt;
This is known to work in Fedora and Ubuntu and should work in other Linux distributions.&lt;br /&gt;
&lt;br /&gt;
For the openSUSE Sugar variant (bundled with 55+ activities) go to http://en.opensuse.org/Sugar&lt;br /&gt;
&lt;br /&gt;
First, start downloading the SoaS &amp;lt;tt&amp;gt;.iso&amp;lt;/tt&amp;gt; image from the [[Sugar on a Stick#Downloading alternative images]] table, then return here.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have the &#039;&#039;syslinux&#039;&#039; package installed on the operating system that you will use to prepare the Live USB image. It is recommended that you also have the &#039;&#039;isomd5sum&#039;&#039; package installed. The &#039;&#039;cryptsetup&#039;&#039; package is another option potentially used by the &amp;quot;livecd-iso-to-disk&amp;quot; installation script. (On Ubuntu, &amp;lt;code&amp;gt;sudo apt-get install syslinux isomd5sum cryptsetup&amp;lt;/code&amp;gt; will install the packages.)&lt;br /&gt;
**&#039;&#039;syslinux&#039;&#039; is needed to set up booting on the FAT file system of the USB disc or Live CD.&lt;br /&gt;
**&#039;&#039;isomd5sum&#039;&#039; is needed for the recommended verification step, which checks that the .iso file is complete after its travels. If there is a problem with the .iso file, the script will exit and provide a failure message.  The verification step can be bypassed by using the &amp;lt;code&amp;gt;--noverify&amp;lt;/code&amp;gt; option.&lt;br /&gt;
**&#039;&#039;cryptsetup&#039;&#039; is only needed for the option to provide password protection and encryption for the persistent /home/liveuser folder. It is not necessary if one applies the  recommended &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt; option. The &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt; option is preferred because the reduced overhead improves robustness with the compressed &#039;&#039;squashfs&#039;&#039; file system employed by the Live USB deployment.&lt;br /&gt;
* Plug in a 1GB or larger USB stick into your computer.&lt;br /&gt;
* Download the installation script: http://people.sugarlabs.org/sdz/livecd-iso-to-disk.sh (09 April 2009)&lt;br /&gt;
&lt;br /&gt;
* Check the USB device. In the example below the device is /dev/sdb:&lt;br /&gt;
: &amp;lt;tt&amp;gt;&#039;&#039;&#039;df -h&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
 /dev/sda1              19G  7.0G   11G  40% /&lt;br /&gt;
 tmpfs                 1.5G     0  1.5G   0% /lib/init/rw&lt;br /&gt;
 varrun                1.5G   96K  1.5G   1% /var/run&lt;br /&gt;
 varlock               1.5G     0  1.5G   0% /var/lock&lt;br /&gt;
 udev                  1.5G  2.9M  1.5G   1% /dev&lt;br /&gt;
 tmpfs                 1.5G  104K  1.5G   1% /dev/shm&lt;br /&gt;
 lrm                   1.5G  2.0M  1.5G   1% /lib/modules/2.6.27-11-generic/volatile&lt;br /&gt;
 /dev/sdb1             996M  913M   84M  92% /mnt/myUSBdisc&lt;br /&gt;
&lt;br /&gt;
* Then check to see that the partition is marked as bootable,&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo fdisk &#039;&#039;&#039;-l&#039;&#039;&#039;&amp;lt;/tt&amp;gt; &#039;&#039;&amp;lt;----that&#039;s a lowercase letter &#039;L&#039; for the &#039;&#039;&#039;l&#039;&#039;&#039;ist option.&#039;&#039;&lt;br /&gt;
You should see output that looks like this:&lt;br /&gt;
 Disk /dev/sdb: 1047 MB, 1047265280 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 127 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
 Disk identifier: 0x0008325f&lt;br /&gt;
 . &lt;br /&gt;
  Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/sdb1   *           1         127     1020096    6  FAT16&lt;br /&gt;
The &#039;*&#039; under the Boot column is what you want to see.&lt;br /&gt;
: If not, then&lt;br /&gt;
:* For Ubuntu 8.10, menu: System -&amp;gt; Administration -&amp;gt; Partition Editor (GParted).&lt;br /&gt;
::# Select your USB device (/dev/sd&#039;&#039;b&#039;&#039; for the rest of these instructions),&lt;br /&gt;
::# then your partition (/dev/sd&#039;&#039;b1&#039;&#039;),&lt;br /&gt;
::# then menu: Partition -&amp;gt; Manage Flags,&lt;br /&gt;
::# check the boot box,&lt;br /&gt;
::# and Close to mark the partition as bootable.&lt;br /&gt;
&lt;br /&gt;
:* For Fedora,&lt;br /&gt;
::#  &amp;lt;tt&amp;gt;parted /dev/sd&#039;&#039;b&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
::# toggle 1 boot&lt;br /&gt;
::# quit &lt;br /&gt;
&lt;br /&gt;
* Also, check to see that you do not already have an existing bootloader (such as GRUB) in the MBR of your stick. (If you have not previously used this stick as a live boot, you can skip this step.) To be sure that the USB stick&#039;s MBR is wiped clean, overwrite it completely using:&lt;br /&gt;
: &amp;lt;tt&amp;gt;dd if=/dev/zero of=/dev/sd&#039;&#039;b&#039;&#039; bs=446 count=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
** (Actually, that didn&#039;t work for me. But this did:&lt;br /&gt;
**: &amp;lt;tt&amp;gt;lilo -M /dev/sd&#039;&#039;b&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
**:It put in a standard MBR that boots whichever partition has been called bootable. It does not install LILO as such.)&lt;br /&gt;
* Unmount the drive,&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo umount /dev/sd&#039;&#039;b1&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Change mode to make the script executable. &lt;br /&gt;
: &amp;lt;tt&amp;gt;chmod +x livecd-iso-to-disk.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Run it as root, making sure to pass the correct USB device and to set overlay and home size appropriately, depending on the stick size.&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo ./livecd-iso-to-disk.sh --overlay-size-mb 300 --home-size-mb 160 --delete-home --unencrypted-home soas-beta.iso /dev/sd&#039;&#039;b1&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
The &#039;&#039;livecd-iso-to-disk&#039;&#039; installation has the advantage over the &#039;&#039;liveusb-creator&#039;&#039; installation method by allowing a persistent /home/liveuser folder with the &amp;lt;tt&amp;gt;--home-size-mb &#039;&#039;NNN&#039;&#039;&amp;lt;/tt&amp;gt; option. This feature would allow you to update the OS image while keeping the user files (by running the script against your existing installation but &amp;lt;u&amp;gt;leaving out&amp;lt;/u&amp;gt; the --home-size-mb NNN option).&lt;br /&gt;
* The &amp;lt;code&amp;gt;--delete-home&amp;lt;/code&amp;gt; option is used to avoid an error message while requesting both a new home (with &amp;lt;code&amp;gt;--home-size-mb&amp;lt;/code&amp;gt;) and a persistent home (indirectly with &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt;). You wouldn&#039;t use the --delete-home option on an upgrade of the operation system only.&lt;br /&gt;
Depending on the size of your USB stick, you may have to decrease &amp;lt;code&amp;gt;--overlay-size-mb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--home-size-mb&amp;lt;/code&amp;gt; values (example, for 1 GB stick, use 200 for each).&lt;br /&gt;
&lt;br /&gt;
== Alternative installation methods ==&lt;br /&gt;
&lt;br /&gt;
=== UNetbootin ===&lt;br /&gt;
&lt;br /&gt;
UNetbootin (Universal Netboot Installer) is a cross-platform utility that can create Live USB systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
* Choose the Diskimage ISO option.&lt;br /&gt;
* Select the downloaded .iso image file. &lt;br /&gt;
* Press OK and wait for your USB stick to be created.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Notes:&#039;&#039;&lt;br /&gt;
*Keep in mind that UNetbootin doesn&#039;t support persistent overlays, so you won&#039;t be able to save files using the Journal.&lt;br /&gt;
*Under soas gives errors&lt;br /&gt;
---- &lt;br /&gt;
&lt;br /&gt;
=== Fedora Live USB Creator ===&lt;br /&gt;
(This section is under construction.)&lt;br /&gt;
&lt;br /&gt;
Fedora&#039;s &#039;&#039;liveusb-creator&#039;&#039; (see [[Sugar on a Stick/Windows | windows install section]] above for how to use).&lt;br /&gt;
 Needs to be loaded from Synaptic Package Manager&lt;br /&gt;
&lt;br /&gt;
Has persistence, easy to use.&lt;br /&gt;
&lt;br /&gt;
Instructions are at http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Getting_Involved/Testing/Soas-F11b_Sugar0.84.2&lt;br /&gt;
&lt;br /&gt;
-On full installs of Fedora 11 Preview can add sugar desktop and make a Soas version with a Full Gnome desktop plus a &lt;br /&gt;
Sugar Desktop on one USB Stick or SD Card (Wireless WPA works with EeePC900)&lt;br /&gt;
&lt;br /&gt;
-see for details :&lt;br /&gt;
&lt;br /&gt;
++++PREPARATORY WORK : use Partition Editor to erase existing partition on sdb? (CHECK THIS CAREFULLY!);then make NEW partition as a fat16 primary partition LABELED FEDORA then set boot flag.++++&lt;br /&gt;
&lt;br /&gt;
-to label the partition FEDORA on Fedora, use &amp;lt;pre&amp;gt;dosfslabel devicename FEDORA&amp;lt;/pre&amp;gt; dosfslabel comes with the &amp;quot;dosfstools&amp;quot; rpm package.&lt;br /&gt;
&lt;br /&gt;
== What&#039;s next? ==&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve created your stick, it&#039;s time to [[Sugar_on_a_Stick#Boot|boot your stick]] and [[Sugar on a Stick/Getting Involved | test]] it out.  Please also [[Sugar on a Stick/Getting Involved/Testing | report]] your observations.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Linux&amp;diff=30684</id>
		<title>Sugar on a Stick/Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Sugar_on_a_Stick/Linux&amp;diff=30684"/>
		<updated>2009-06-18T18:33:40Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This page helps you to put your [[Sugar on a Stick]] image on a USB flash drive under Linux.    If you have questions, trouble or feedback, please let us know on the [[Talk:Sugar on a Stick|SoaS talk]] page. It is important to note, that though currently SoaS is best known to be carried with the Fedora base, it exists with other dsitributions as a base too, for example the http://en.opensuse.org/Sugar - openSUSE variant. If you can improve these instructions, please edit the page and do so!&lt;br /&gt;
&lt;br /&gt;
== [[Sugar on a Stick/Installation/OLPC | SoaS on an OLPC XO-1]]==&lt;br /&gt;
* See [[Sugar on a Stick/Installation/OLPC]] for booting an OLPC XO-1 with SoaS images.&lt;br /&gt;
&lt;br /&gt;
== Linux instructions ==&lt;br /&gt;
&lt;br /&gt;
This is known to work in Fedora and Ubuntu and should work in other Linux distributions.&lt;br /&gt;
&lt;br /&gt;
First, start downloading the SoaS &amp;lt;tt&amp;gt;.iso&amp;lt;/tt&amp;gt; image from the [[Sugar on a Stick#Downloading alternative images]] table, then return here.&lt;br /&gt;
&lt;br /&gt;
* Make sure you have the &#039;&#039;syslinux&#039;&#039; package installed on the operating system that you will use to prepare the Live USB image. It is recommended that you also have the &#039;&#039;isomd5sum&#039;&#039; package installed. The &#039;&#039;cryptsetup&#039;&#039; package is another option potentially used by the &amp;quot;livecd-iso-to-disk&amp;quot; installation script. (On Ubuntu, &amp;lt;code&amp;gt;sudo apt-get install syslinux isomd5sum cryptsetup&amp;lt;/code&amp;gt; will install the packages.)&lt;br /&gt;
**&#039;&#039;syslinux&#039;&#039; is needed to set up booting on the FAT file system of the USB disc or Live CD.&lt;br /&gt;
**&#039;&#039;isomd5sum&#039;&#039; is needed for the recommended verification step, which checks that the .iso file is complete after its travels. If there is a problem with the .iso file, the script will exit and provide a failure message.  The verification step can be bypassed by using the &amp;lt;code&amp;gt;--noverify&amp;lt;/code&amp;gt; option.&lt;br /&gt;
**&#039;&#039;cryptsetup&#039;&#039; is only needed for the option to provide password protection and encryption for the persistent /home/liveuser folder. It is not necessary if one applies the  recommended &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt; option. The &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt; option is preferred because the reduced overhead improves robustness with the compressed &#039;&#039;squashfs&#039;&#039; file system employed by the Live USB deployment.&lt;br /&gt;
* Plug in a 1GB or larger USB stick into your computer.&lt;br /&gt;
* Download the installation script: http://people.sugarlabs.org/sdz/livecd-iso-to-disk.sh (09 April 2009)&lt;br /&gt;
&lt;br /&gt;
* Check the USB device. In the example below the device is /dev/sdb:&lt;br /&gt;
: &amp;lt;tt&amp;gt;&#039;&#039;&#039;df -h&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
 Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
 /dev/sda1              19G  7.0G   11G  40% /&lt;br /&gt;
 tmpfs                 1.5G     0  1.5G   0% /lib/init/rw&lt;br /&gt;
 varrun                1.5G   96K  1.5G   1% /var/run&lt;br /&gt;
 varlock               1.5G     0  1.5G   0% /var/lock&lt;br /&gt;
 udev                  1.5G  2.9M  1.5G   1% /dev&lt;br /&gt;
 tmpfs                 1.5G  104K  1.5G   1% /dev/shm&lt;br /&gt;
 lrm                   1.5G  2.0M  1.5G   1% /lib/modules/2.6.27-11-generic/volatile&lt;br /&gt;
 /dev/sdb1             996M  913M   84M  92% /mnt/myUSBdisc&lt;br /&gt;
&lt;br /&gt;
* Then check to see that the partition is marked as bootable,&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo fdisk &#039;&#039;&#039;-l&#039;&#039;&#039;&amp;lt;/tt&amp;gt; &#039;&#039;&amp;lt;----that&#039;s a lowercase letter &#039;L&#039; for the &#039;&#039;&#039;l&#039;&#039;&#039;ist option.&#039;&#039;&lt;br /&gt;
You should see output that looks like this:&lt;br /&gt;
 Disk /dev/sdb: 1047 MB, 1047265280 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 127 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
 Disk identifier: 0x0008325f&lt;br /&gt;
 . &lt;br /&gt;
  Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/sdb1   *           1         127     1020096    6  FAT16&lt;br /&gt;
The &#039;*&#039; under the Boot column is what you want to see.&lt;br /&gt;
: If not, then&lt;br /&gt;
:* For Ubuntu 8.10, menu: System -&amp;gt; Administration -&amp;gt; Partition Editor (GParted).&lt;br /&gt;
::# Select your USB device (/dev/sd&#039;&#039;b&#039;&#039; for the rest of these instructions),&lt;br /&gt;
::# then your partition (/dev/sd&#039;&#039;b1&#039;&#039;),&lt;br /&gt;
::# then menu: Partition -&amp;gt; Manage Flags,&lt;br /&gt;
::# check the boot box,&lt;br /&gt;
::# and Close to mark the partition as bootable.&lt;br /&gt;
&lt;br /&gt;
:* For Fedora,&lt;br /&gt;
::#  &amp;lt;tt&amp;gt;parted /dev/sd&#039;&#039;b&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
::# toggle 1 boot&lt;br /&gt;
::# quit &lt;br /&gt;
&lt;br /&gt;
* Also, check to see that you do not already have an existing bootloader (such as GRUB) in the MBR of your stick. (If you have not previously used this stick as a live boot, you can skip this step.) To be sure that the USB stick&#039;s MBR is wiped clean, overwrite it completely using:&lt;br /&gt;
: &amp;lt;tt&amp;gt;dd if=/dev/zero of=/dev/sd&#039;&#039;b&#039;&#039; bs=446 count=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
** (Actually, that didn&#039;t work for me. But this did:&lt;br /&gt;
**: &amp;lt;tt&amp;gt;lilo -M /dev/sd&#039;&#039;b&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
**:It put in a standard MBR that boots whichever partition has been called bootable. It does not install LILO as such.)&lt;br /&gt;
* Unmount the drive,&amp;lt;br&amp;gt;&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo umount /dev/sd&#039;&#039;b1&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Change mode to make the script executable. &lt;br /&gt;
: &amp;lt;tt&amp;gt;chmod +x livecd-iso-to-disk.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Run it as root, making sure to pass the correct USB device and to set overlay and home size appropriately, depending on the stick size.&lt;br /&gt;
: &amp;lt;tt&amp;gt;sudo ./livecd-iso-to-disk.sh --overlay-size-mb 300 --home-size-mb 160 --delete-home --unencrypted-home soas-beta.iso /dev/sd&#039;&#039;b1&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
The &#039;&#039;livecd-iso-to-disk&#039;&#039; installation has the advantage over the &#039;&#039;liveusb-creator&#039;&#039; installation method by allowing a persistent /home/liveuser folder with the &amp;lt;tt&amp;gt;--home-size-mb &#039;&#039;NNN&#039;&#039;&amp;lt;/tt&amp;gt; option. This feature would allow you to update the OS image while keeping the user files (by running the script against your existing installation but &amp;lt;u&amp;gt;leaving out&amp;lt;/u&amp;gt; the --home-size-mb NNN option).&lt;br /&gt;
* The &amp;lt;code&amp;gt;--delete-home&amp;lt;/code&amp;gt; option is used to avoid an error message while requesting both a new home (with &amp;lt;code&amp;gt;--home-size-mb&amp;lt;/code&amp;gt;) and a persistent home (indirectly with &amp;lt;code&amp;gt;--unencrypted-home&amp;lt;/code&amp;gt;). You wouldn&#039;t use the --delete-home option on an upgrade of the operation system only.&lt;br /&gt;
Depending on the size of your USB stick, you may have to decrease &amp;lt;code&amp;gt;--overlay-size-mb&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--home-size-mb&amp;lt;/code&amp;gt; values (example, for 1 GB stick, use 200 for each).&lt;br /&gt;
&lt;br /&gt;
== Alternative installation methods ==&lt;br /&gt;
&lt;br /&gt;
=== UNetbootin ===&lt;br /&gt;
&lt;br /&gt;
UNetbootin (Universal Netboot Installer) is a cross-platform utility that can create Live USB systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:*http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
* Choose the Diskimage ISO option.&lt;br /&gt;
* Select the downloaded .iso image file. &lt;br /&gt;
* Press OK and wait for your USB stick to be created.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Notes:&#039;&#039;&lt;br /&gt;
*Keep in mind that UNetbootin doesn&#039;t support persistent overlays, so you won&#039;t be able to save files using the Journal.&lt;br /&gt;
*Under soas gives errors&lt;br /&gt;
---- &lt;br /&gt;
&lt;br /&gt;
=== Fedora Live USB Creator ===&lt;br /&gt;
(This section is under construction.)&lt;br /&gt;
&lt;br /&gt;
Fedora&#039;s &#039;&#039;liveusb-creator&#039;&#039; (see [[Sugar on a Stick/Windows | windows install section]] above for how to use).&lt;br /&gt;
 Needs to be loaded from Synaptic Package Manager&lt;br /&gt;
&lt;br /&gt;
Has persistence, easy to use.&lt;br /&gt;
&lt;br /&gt;
Instructions are at http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Getting_Involved/Testing/Soas-F11b_Sugar0.84.2&lt;br /&gt;
&lt;br /&gt;
-On full installs of Fedora 11 Preview can add sugar desktop and make a Soas version with a Full Gnome desktop plus a &lt;br /&gt;
Sugar Desktop on one USB Stick or SD Card (Wireless WPA works with EeePC900)&lt;br /&gt;
&lt;br /&gt;
-see for details :&lt;br /&gt;
&lt;br /&gt;
++++PREPARATORY WORK : use Partition Editor to erase existing partition on sdb? (CHECK THIS CAREFULLY!);then make NEW partition as a fat16 primary partition LABELED FEDORA then set boot flag.++++&lt;br /&gt;
&lt;br /&gt;
-to label the partition FEDORA on Fedora, use &amp;lt;pre&amp;gt;dosfslabel devicename FEDORA&amp;lt;/pre&amp;gt; dosfslabel comes with the &amp;quot;dosfstools&amp;quot; rpm package.&lt;br /&gt;
&lt;br /&gt;
== What&#039;s next? ==&lt;br /&gt;
&lt;br /&gt;
After you&#039;ve created your stick, it&#039;s time to [[Sugar_on_a_Stick#Boot|boot your stick]] and [[Sugar on a Stick/Getting Involved | test]] it out.  Please also [[Sugar on a Stick/Getting Involved/Testing | report]] your observations.&lt;br /&gt;
&lt;br /&gt;
[[Category:HowTo]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/LinuxTag2009&amp;diff=30639</id>
		<title>Marketing Team/Events/LinuxTag2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/LinuxTag2009&amp;diff=30639"/>
		<updated>2009-06-17T17:44:58Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Shifts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOCright}}&lt;br /&gt;
&lt;br /&gt;
= LinuxTag 2009 =&lt;br /&gt;
&lt;br /&gt;
[[‎Image:Linux_Logo_Datum_en.jpg |450x100px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Event Details ==&lt;br /&gt;
LinuxTag is the most important place for Linux and open source software in Europe. In 2009, the 15th LinuxTag presents news for professional users, decision makers, developers, beginners and the Linux community - from 24th until 27th June on the Fairground in Berlin.&lt;br /&gt;
For more information, go to the [http://www.linuxtag.org/2009/en.html LinuxTag 2009 website].&lt;br /&gt;
&lt;br /&gt;
[http://www.linuxtag.org/2009/en/besucher/reiseplanung.html Here] are instructions how you get to Linuxtag.&lt;br /&gt;
&lt;br /&gt;
== Sugar Organizer ==&lt;br /&gt;
&lt;br /&gt;
[[User:Erikos | Simon Schampijer | simon at sugarlabs dot org]] will be organizing Sugar&#039;s presence at LinuxTag 2009.&lt;br /&gt;
&lt;br /&gt;
== Attendees ==&lt;br /&gt;
&lt;br /&gt;
Are you planning to attend?  Add your name and contact info below!&lt;br /&gt;
# [[User:Erikos | Simon Schampijer]]&lt;br /&gt;
# [[User:Tomeu | Tomeu Vizoso]]&lt;br /&gt;
# [[User:Sdz | Sebastian Dziallas]]&lt;br /&gt;
# [[User:nubae | David Van Assche]]&lt;br /&gt;
# [[User:fab | Fabian Affolter]]&lt;br /&gt;
# [[User:jzGreen | James Zaki]]&lt;br /&gt;
# [[User:SeanDaly | Sean Daly]]&lt;br /&gt;
# [http://wiki.laptop.org/go/Support_Gang Adam Holt]&lt;br /&gt;
&lt;br /&gt;
== Sugar Activities ==&lt;br /&gt;
Sugar does advocate the concepts of activities - you learn through doing, so if you want more learning you want more doing. So the Sugar Labs team wants to get engaged at Linuxtag:&lt;br /&gt;
&lt;br /&gt;
# We will have a [[Marketing_Team/Events/LinuxTag2009#Sugar_Booth | booth]] located at 7.2a 110a. &lt;br /&gt;
# Greg gives the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=787 &amp;quot;Education, Innovation, and Free Software&amp;quot;] (Saturday, 27.06 - 15.00-16.00 Saal 5)&lt;br /&gt;
# Simon gives the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=791 Sugar - a software playground for learning about learning&amp;quot;] (Saturday, 27.06 - 17.00 Saal 5)&lt;br /&gt;
# Sebastian will be giving a barcamp session at [http://fedoraproject.org/wiki/FUDCon:Berlin_2009 FUDCon] about various educational efforts, mainly SoaS ([http://www.linuxtag.org/2009/de/program/fudcon.html Linuxtag Fudcon project])&lt;br /&gt;
# Pablo Casal and Eduardo Blanco from Netlabs are giving the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=789 &amp;quot;Plan Ceibal - A country-wide OLPC deployment in Uruguay&amp;quot;] (Saturday 27.06 - 16.00 Saal 5). They designed the initial proposal for Ceibal&#039;s network, and are currently consultants for the project.&lt;br /&gt;
&lt;br /&gt;
== Sugar Booth ==&lt;br /&gt;
Our booth will be at 7.2a 110a. We share this [http://www.linuxtag.org/2009/dl/projekte/Halle7.2a/198-50198--72a110a.pdf booth] with our friends from:&lt;br /&gt;
* [http://www.olpc-deutschland.de/ OLPC Deutschland e.V.]&lt;br /&gt;
* [http://www.squeak.de/ Squeak Germany]&lt;br /&gt;
* [http://wiki.skolelinux.de/LinuxTag2009 Skolelinux Germany]&lt;br /&gt;
* [http://www.linux4afrika.de/ Linux4Afrika]&lt;br /&gt;
* [http://www.x2go.org X2go]&lt;br /&gt;
&lt;br /&gt;
Please list your availability if you are interested in helping with the booth. Or if you already know which shifts you want to take, feel free to add yourself in the second table. German skills are welcome - but not needed. Ideally a shift is two people, but given the space reserved at the booth size I think we can get away with one as well. Helping at the booth means answering questions regarding Sugar and Sugar Labs, demoing Sugar and flashing Soas on request. People helping at the booth will get a Linuxtag ticket.&lt;br /&gt;
&lt;br /&gt;
=== Shifts ===&lt;br /&gt;
Availability:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Name !! German !! 24.06.09 !! 25.06.09 !! 26.06.09 !! 27.06.09 !! Note&lt;br /&gt;
|-&lt;br /&gt;
! Schampijer&lt;br /&gt;
| Native || yes || yes || yes || not available from 16.00 to 18.00 as he has a talk there || is there in the mornings to make sure everything is set up &lt;br /&gt;
|-&lt;br /&gt;
! Tomeu&lt;br /&gt;
| None || ? || ? || full day? || full day || x&lt;br /&gt;
|-&lt;br /&gt;
! Sebastian Dziallas&lt;br /&gt;
| Native ||  ||  ||  || will arrive in the morning || yes&lt;br /&gt;
|-&lt;br /&gt;
! David Van Assche&lt;br /&gt;
| Native || yes || yes || yes || yes || in between sugar and opensuse booths...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Plan:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
 |-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Day !! 10.00-12.00 !! 12.00-14.00 !! 14.00-16.00 !! 16.00-18.00&lt;br /&gt;
|-&lt;br /&gt;
! 24.06.09&lt;br /&gt;
| Schampijer || David || x || x&lt;br /&gt;
|-&lt;br /&gt;
! 25.06.09&lt;br /&gt;
| Schampijer || x || David || x&lt;br /&gt;
|-&lt;br /&gt;
! 26.06.09&lt;br /&gt;
| Sean || x || Sean || x&lt;br /&gt;
|-&lt;br /&gt;
! 27.06.09&lt;br /&gt;
| x || Sean || x || Sean&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* Tuesday 23.06.09 - 15.00: Booth Setup&lt;br /&gt;
* Saturday 27.06.09 - 18.30++: Booth tear-down and cleanup after the exhibition hall closes. &lt;br /&gt;
* all times are local Berlin times&lt;br /&gt;
&lt;br /&gt;
=== Storage Space ===&lt;br /&gt;
We have a coops (Germans would say Kabüffchen as a diminutive of Kabuff) at the booths. As this is only meant for booth equipment all the other belongings like jackets, luggage etc can be stored at the wardrobe without any cost.&lt;br /&gt;
&lt;br /&gt;
=== Power and Internet Connectivity ===&lt;br /&gt;
Power and Internet will be provided by LinuxTag and Messe Berlin for the project booths. What we need are:&lt;br /&gt;
* extension cords&lt;br /&gt;
* long network cables&lt;br /&gt;
&lt;br /&gt;
Not permitted by Linuxtag:&lt;br /&gt;
* wireless access points (You are not permitted to operate your private wireless LAN. Please take this serious. There will be several site surveys to ensure this.)&lt;br /&gt;
* coffeemakers, kettles and cooking stuff&lt;br /&gt;
* connect visitors to the project&#039;s network&lt;br /&gt;
&lt;br /&gt;
=== Lunch ===&lt;br /&gt;
Linuxtag is offering Lunch for the helpers. If we want to participate we would need helpers and not only eaters. More information can be found [http://wiki.linuxtag.org/w/fp:Lunch_2009 at].&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Flyers with information about Sugar/Sugar Labs/interesting talks for the booth&lt;br /&gt;
* Poster - From the Linuxtag Team: Please prepare at least one large poster (A1 or A0) to be placed on the walls of your booth or infocounter, so that visitors understand what the booth is all about, or what the particular machine in front of them intends to demonstrate. Without posters or other similar stuff the booth will probably look a bit deserted and not that interesting at all. -- You can use adhesive tape to fix the posters on the walls. If you plan to demonstrate fancy hardware at your booth, it is very helpful to describe these particular pieces of hardware in a poster or a large sign, so that visitors recognize its value or notice that it is extraordinary. &lt;br /&gt;
* Project Workshops / BoFs: Linuxtag still have quite some slots left for workshops. The ultimate deadline for asking for a space for a workshop will be reached on Sunday, June 21st, 2009.&lt;br /&gt;
&lt;br /&gt;
== Equipment ==&lt;br /&gt;
* Booth Banner - [[user:SeanDaly | Sean]] has [http://wiki.sugarlabs.org/go/Marketing_Team/BoothBanners one] and ordered a second one (Banners are 80cm x 200cm)&lt;br /&gt;
* 100 brightly colored branded Sugar Labs balloons in different colors - [[user:SeanDaly | Sean]]&lt;br /&gt;
* 21 inch screen for demoing Sugar at the booth - [[user:Erikos | Erikos]]&lt;br /&gt;
* Extension cords - [[user:Erikos | Erikos]]&lt;br /&gt;
&lt;br /&gt;
== Lodging ==&lt;br /&gt;
* Accommodation Information from [http://www.linuxtag.org/2008/en/visitors/travel.html Linuxtag]&lt;br /&gt;
* [http://www.pension-freiraum.de/ Pension Freiraum]&lt;br /&gt;
** Nice area with bars restaurant cafe, about 25 minutes to the conference&lt;br /&gt;
* [http://www.hotel-funkturm-messe.de/english/home.html Hotel Funkturm]&lt;br /&gt;
** right next door to the conference area (room 4-6 persons, 100euro per night for the room, inclusive breakfast)&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, June 23 ===&lt;br /&gt;
* 15.00-16.00: Booth Setup&lt;br /&gt;
&lt;br /&gt;
=== Wednesday, June 24 ===&lt;br /&gt;
* 10.00-18.00: Linuxtag (Including the SugarLabs booth)&lt;br /&gt;
&lt;br /&gt;
=== Thursday, June 25 ===&lt;br /&gt;
* 10.00-18.00: Linuxtag (Including the SugarLabs booth)&lt;br /&gt;
* 19.00: [http://www.linuxtag.org/2009/en/about/linuxnacht.html LinuxNacht] - Get-together of speakers, exhibitors and the LinuxTag team at [http://www.e4-berlin.de/location.php E4]&lt;br /&gt;
&lt;br /&gt;
=== Tuesday, June 26 ===&lt;br /&gt;
* 10.00-18.00: Linuxtag (Including the SugarLabs booth)&lt;br /&gt;
&lt;br /&gt;
=== Friday, June 27 ===&lt;br /&gt;
* 10.00-18.00: Linuxtag (Including the SugarLabs booth)&lt;br /&gt;
* 16.00-18.00: [http://wiki.linuxtag.org/w/Keysigning Keysigning Party]&lt;br /&gt;
&lt;br /&gt;
=== Saturday, June 28 ===&lt;br /&gt;
* 10.00-18.00: Linuxtag (Including the SugarLabs booth)&lt;br /&gt;
* x:00 hall 7.2b: Sugar Labs at &amp;quot;Papers Fast Forward&amp;quot;, 2 minutes (2 slides) to highlight your most exciting exhibit&lt;br /&gt;
* 15.00-16.00 Saal 5: Greg gives the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=787 &amp;quot;Education, Innovation, and Free Software&amp;quot;]&lt;br /&gt;
* 16.00-16:30 Saal 5: Pablo Casal and Eduardo Blanco from Netlabs are giving the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=789 &amp;quot;Plan Ceibal - A country-wide OLPC deployment in Uruguay&amp;quot;]. They designed the initial proposal for Ceibal&#039;s network, and are currently consultants for the project.&lt;br /&gt;
* 17.00-17:30 Saal 5: Simon gives the talk: [http://www.linuxtag.org/2009/de/program/freies-vortragsprogramm/mittwoch/vortragsdetails.html?talkid=791 Sugar - a software playground for learning about learning&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== Sunday, June 29 ===&lt;br /&gt;
* Bar Camp Sessions at [http://lists.sugarlabs.org/archive/iaep/2009-June/006311.html FUDCon]&lt;br /&gt;
&lt;br /&gt;
[[Category:Event]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/LinuxTag2009&amp;diff=30276</id>
		<title>Marketing Team/Events/LinuxTag2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/LinuxTag2009&amp;diff=30276"/>
		<updated>2009-06-08T12:08:28Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Attendees */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LinuxTag 2009 =&lt;br /&gt;
&lt;br /&gt;
== Event Details ==&lt;br /&gt;
&lt;br /&gt;
For more information, go to the [http://www.linuxtag.org/2009/en.html LinuxTag 2009 website].&lt;br /&gt;
&lt;br /&gt;
== Sugar Organizer ==&lt;br /&gt;
&lt;br /&gt;
[[User:Erikos | Simon Schampijer | simon at sugarlabs dot org]] will be organizing Sugar&#039;s presence at LinuxTag 2009.&lt;br /&gt;
&lt;br /&gt;
== Attendees ==&lt;br /&gt;
&lt;br /&gt;
Are you planning to attend?  Add your name and contact info below!&lt;br /&gt;
&lt;br /&gt;
# [[User:Erikos | Simon Schampijer]]&lt;br /&gt;
# [[User:Tomeu | Tomeu Vizoso]]&lt;br /&gt;
# [[User:Sdz | Sebastian Dziallas]]&lt;br /&gt;
# [[User:nubae | David Van Assche]]&lt;br /&gt;
&lt;br /&gt;
== Sugar activities ==&lt;br /&gt;
&lt;br /&gt;
# We will have a booth located at 7.2a 110a. We share this booth with our friends from:&lt;br /&gt;
## [http://www.olpc-deutschland.de/ OLPC Deutschland e.V.]&lt;br /&gt;
## [http://www.squeak.de/ Squeak Germany]&lt;br /&gt;
## [http://wiki.skolelinux.de/LinuxTag2009 Skolelinux Germany]&lt;br /&gt;
## [http://www.linux4afrika.de/ Linux4Afrika]&lt;br /&gt;
## [http://www.x2go.org X2go]&lt;br /&gt;
# Greg gives the talk: &amp;quot;Education, Innovation, and Free Software&amp;quot;&lt;br /&gt;
# Simon gives the talk: &amp;quot;Sugar - a software playground for learning about learning&amp;quot; (Saturday, 27.06 - 17.00 Saal 5)&lt;br /&gt;
# Sebastian will be giving a barcamp session at FUDCon about various educational efforts, mainly SoaS&lt;br /&gt;
&lt;br /&gt;
== Sugar Booth ==&lt;br /&gt;
Our booth will be at 7.2a 110a. &lt;br /&gt;
&lt;br /&gt;
Please add your name to take a shift. Ideally a shift is two Persons. Helping at the booth means answering questions regarding Sugar and Sugar Labs, demoing Sugar and flashing Soas on request. People helping at the booth will get a Linuxtag ticket. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;3&amp;quot;&lt;br /&gt;
! Day !! 10.00-12.00 !! 12.00-14.00 !! 14.00-16.00 !! 16.00-18.00&lt;br /&gt;
|-&lt;br /&gt;
! 24.06.09&lt;br /&gt;
| Schampijer || x || x || x&lt;br /&gt;
|-&lt;br /&gt;
! 25.06.09&lt;br /&gt;
| x || x || x || x&lt;br /&gt;
|-&lt;br /&gt;
! 26.06.09&lt;br /&gt;
| x || x || x || x&lt;br /&gt;
|-&lt;br /&gt;
! 27.06.09&lt;br /&gt;
| x || x || x || x&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
# We need a banner for the booth&lt;br /&gt;
&lt;br /&gt;
== Lodging ==&lt;br /&gt;
* Accommodation Information from [http://www.linuxtag.org/2008/en/visitors/travel.html Linuxtag]&lt;br /&gt;
* [http://www.pension-freiraum.de/ Pension Freiraum]&lt;br /&gt;
** Nice area with bars restaurant cafe, about 25 minutes to the conference&lt;br /&gt;
* [http://www.hotel-funkturm-messe.de/english/home.html Hotel Funkturm]&lt;br /&gt;
** right next door to the conference area (room 4-6 persons, 100euro per night for the room, inclusive breakfast)&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
More info as it becomes available.&lt;br /&gt;
&lt;br /&gt;
[[Category:Event]]&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:OpenSUSE&amp;diff=29358</id>
		<title>Talk:OpenSUSE</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:OpenSUSE&amp;diff=29358"/>
		<updated>2009-05-18T15:15:30Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General observations of the Sugar Camp meeting in Paris, France held&lt;br /&gt;
16th and 17th of May 2009.&lt;br /&gt;
====================================================================&lt;br /&gt;
&lt;br /&gt;
Massive strides were made in community integration and community&lt;br /&gt;
driven projects which will be considered or worked on in the coming&lt;br /&gt;
months for the next release of Sugar, referred at this time as 0.86,&lt;br /&gt;
and to be officially released in August of this year, following a 6&lt;br /&gt;
month release cycle of Gnome and many other open source projects.&lt;br /&gt;
&lt;br /&gt;
Some of the more interesting changes that will happen are a move away&lt;br /&gt;
from matchbox to metacity, the well known and supported backend window&lt;br /&gt;
manager used by Gnome. This should in theory allow for much greater&lt;br /&gt;
integration into Gnome itself of individual sugar activities, as well&lt;br /&gt;
as the launching of sugar in Gnome, and even speed improvements. This&lt;br /&gt;
move is possible because the XO 1.5 will have more memory and better&lt;br /&gt;
cpu speeds, as well as a move away from sugar being agnostic to that&lt;br /&gt;
hardware. Sugar on a Stick was the big focus, which is now working&lt;br /&gt;
quite well, but still not perfect.&lt;br /&gt;
&lt;br /&gt;
A desire for a revival of the help application was shown and that will&lt;br /&gt;
become one of the core fructose activities, though likely it will be&lt;br /&gt;
totally updated and perhaps even interactive. Browse will be upgraded&lt;br /&gt;
to have tabbed browsing, and have better support for integrated&lt;br /&gt;
flash/gnash, pdf support and youtube casts. A demo was shown of a&lt;br /&gt;
screencast of the usage of an activity coded at the camp, using turtle&lt;br /&gt;
art. These quick advances show that it is not only possible to&lt;br /&gt;
strengthen the Sugar Core and its activities, but also that one day&lt;br /&gt;
soon we will have a ubiquitous sugar solution that will run on all&lt;br /&gt;
distributions and platforms and most hardware.&lt;br /&gt;
&lt;br /&gt;
The mention of fundraising was raised and there is a target in place&lt;br /&gt;
of aquiring 100,000 euros within the next release cycle which will be&lt;br /&gt;
used primarily in marketing and gathering core sugar people to the&lt;br /&gt;
places they need face to face talks like the one provided in Paris.&lt;br /&gt;
&lt;br /&gt;
Our particular subgroup was asked to come up with a solution for&lt;br /&gt;
better support, performance, security, testing, triaging, and quality&lt;br /&gt;
assurance. The following is a report of what we came up with:&lt;br /&gt;
&lt;br /&gt;
===========================================================================&lt;br /&gt;
&lt;br /&gt;
Future of Sugar – Support, triaging and quality assurance– Famework for 0.86&lt;br /&gt;
&lt;br /&gt;
===========================================================================&lt;br /&gt;
&lt;br /&gt;
There were various discussion topics that included various subtopics.&lt;br /&gt;
Our group was responsible for the Autopackaging group, or better known&lt;br /&gt;
as the support, testing and quality assurance group.&lt;br /&gt;
&lt;br /&gt;
The other groups were:&lt;br /&gt;
M – Marketing&lt;br /&gt;
A – Autopackaging&lt;br /&gt;
SE – School Environment&lt;br /&gt;
R – Roadmap&lt;br /&gt;
&lt;br /&gt;
Sadly, the School Environment topic got cancelled, though it is of&lt;br /&gt;
particular importance to larger deployments and anything including the&lt;br /&gt;
school server. The subtopics for that group included: Teacher&lt;br /&gt;
Training; Primers – paperbacks; Technical feedback; Centralised admin&lt;br /&gt;
for deployments and Mass deployments&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Autopackaging – We can define this as the process of going from the&lt;br /&gt;
code that developers write going into the git version control system&lt;br /&gt;
to the public. There is an easy way of automating this without&lt;br /&gt;
spending too much time on the development. This is currently a task&lt;br /&gt;
being taken up by Aleksey Lim, who sadly could not be at Sugar Camp but&lt;br /&gt;
is pretty much a core developer at this point.&lt;br /&gt;
&lt;br /&gt;
The name of the project is jhconvert and it will be responsible for&lt;br /&gt;
generating spec files and policy files for the various distributions&lt;br /&gt;
Sugar chooses to support. This is somewhat of a political issue, as&lt;br /&gt;
usually it is the package maintainers who do such a task, but&lt;br /&gt;
automation will make it much easier for Sugar to reach the public, and&lt;br /&gt;
I for one, being the maintainer for Sugar packages on OpenSUSE am&lt;br /&gt;
happy about this. For those distributions that choose not to support&lt;br /&gt;
this approach, they can always either take the code directly from git&lt;br /&gt;
and re-invent the wheel or do this manually, or take the src rpms or&lt;br /&gt;
src debs. I can speak only for openSUSE, but there, this direct&lt;br /&gt;
automation from git to the opensuse build system will be a reality,&lt;br /&gt;
and will allow for a direct transition from new revisions to&lt;br /&gt;
activities being uploaded to git, to them being available for all&lt;br /&gt;
distros and all platforms automatically.&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
Method of communication between wishers/bugsquad and core development team&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
At the moment, the centralised programmers upload their stuff and&lt;br /&gt;
apply patches to git as and when and the review queue is up to the&lt;br /&gt;
programmers. This needs to change drastically and a methodology of&lt;br /&gt;
collecting support and feature data efficiently and effectively must&lt;br /&gt;
be the part of people other than the core developers, who have far&lt;br /&gt;
more pressing needs and no time to review the thousands of requests&lt;br /&gt;
coming through the support pipeline. We need people to review the&lt;br /&gt;
tracker and review queue. 2-3 core people should be looking through&lt;br /&gt;
the bug tracker, and inform the programmers. This task used to be done&lt;br /&gt;
by Greg Smith of OLPC who did an incredibly difficult job in a great&lt;br /&gt;
way under extreme conditions. Finding a replacement will not be easy,&lt;br /&gt;
but currently there are many active volunteers who want to help in&lt;br /&gt;
this area.&lt;br /&gt;
&lt;br /&gt;
They are out there in groups doing Q/A, support, testing and triaging,&lt;br /&gt;
but someone needs to be the user experience leader, a person who both&lt;br /&gt;
the developers know and trust, and who can weed out the support or&lt;br /&gt;
feature requests that are unrealistic or irrelevant. One possibility&lt;br /&gt;
was to automate this by putting a voting mechanism in place for&lt;br /&gt;
something like trac, but it would unlikely be used and could be easily&lt;br /&gt;
tampered with. If there is anyone out there willing to take on this&lt;br /&gt;
difficult and demanding task, but extremely rewarding experience,&lt;br /&gt;
please contact the Sugar team, via the mailing lists, IRC, the wikis,&lt;br /&gt;
OLPC, or support forums.&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
Methodology for bug tracking and triaging – to peer reviewing and fixing:&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
a. The user finds a bug in the latest release and then puts it into track.&lt;br /&gt;
&lt;br /&gt;
b. The bugsquad does triage. Triage means assessing the bug,&lt;br /&gt;
validating it, and giving it a priority, and milestone (which release&lt;br /&gt;
its going to be fixed in.)&lt;br /&gt;
&lt;br /&gt;
c. At some time, someone will try to fix it, usually a core developer.&lt;br /&gt;
If it’s not a core developer, it will always be attached as a patch&lt;br /&gt;
and reviewed.&lt;br /&gt;
&lt;br /&gt;
d. Next step is peer review.&lt;br /&gt;
&lt;br /&gt;
e. Patch gets improved, turned down, or accepted. This loop will&lt;br /&gt;
continue until the parties are happy with the code status.&lt;br /&gt;
&lt;br /&gt;
f. Someone with commit access commits the patch.&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
When will 0.82 be end of life? – There is no answer to this currently&lt;br /&gt;
as it is to early to know what people in the field need. Should it be&lt;br /&gt;
long term, short term, very long term? These answers will come at some&lt;br /&gt;
stage, but not right now.&lt;br /&gt;
&lt;br /&gt;
Currently packaging happens to fructose and glucose only. This will&lt;br /&gt;
not be the issue in the next release. RPMS will be automatically&lt;br /&gt;
created, though it will be the decision of the distribution in&lt;br /&gt;
question whether and how to use them. The .xo bundles will still be&lt;br /&gt;
there but will be overwritten (basically put into a different place&lt;br /&gt;
and given priority over the older relkease.)&lt;br /&gt;
&lt;br /&gt;
===================================================================&lt;br /&gt;
&lt;br /&gt;
Should we use package kit to standardize the packaging? This was a &lt;br /&gt;
question that came up and it is an interesting proposal, what do we think?&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
Auto testing of activities&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
There is something called sugarbot that should auto test activities.&lt;br /&gt;
It’s a google summer of code activity, but should be there for the&lt;br /&gt;
next release. It tests honey, not glucose, fructose.&lt;br /&gt;
&lt;br /&gt;
We need a testing roadmap for glucose and fructose. Doing something&lt;br /&gt;
like what Gnome does would be good. We could also look at KDE. Are &lt;br /&gt;
there any other ideas on how to do this?&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
Buildbot will not run on the current hardware. We need to find a&lt;br /&gt;
sponsor for the machines and hosting?&lt;br /&gt;
&lt;br /&gt;
This has now been communicated and should be fixed... As I understand &lt;br /&gt;
it, buildbot takes a look at some of the automation of testing packages&lt;br /&gt;
being built. Maybe alsroot can expand...&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Talk:OpenSUSE&amp;diff=29352</id>
		<title>Talk:OpenSUSE</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Talk:OpenSUSE&amp;diff=29352"/>
		<updated>2009-05-18T14:48:57Z</updated>

		<summary type="html">&lt;p&gt;Nubae: General observations of the Sugar Camp meeting in Paris, France held 16th and 17th of May 2009 - relational to opensuse and autpackaging&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General observations of the Sugar Camp meeting in Paris, France held&lt;br /&gt;
16th and 17th of May 2009.&lt;br /&gt;
====================================================================&lt;br /&gt;
&lt;br /&gt;
Massive strides were made in community integration and community&lt;br /&gt;
driven projects which will be considered or worked on in the coming&lt;br /&gt;
months for the next release of Sugar, referred at this time as 0.86,&lt;br /&gt;
and to be officially released in August of this year, following a 6&lt;br /&gt;
month release cycle of Gnome and many other open source projects.&lt;br /&gt;
&lt;br /&gt;
Some of the more interesting changes that will happen are a move away&lt;br /&gt;
from matchbox to metacity, the well known and supported backend window&lt;br /&gt;
manager used by Gnome. This should in theory allow for much greater&lt;br /&gt;
integration into Gnome itself of individual sugar activities, as well&lt;br /&gt;
as the launching of sugar in Gnome, and even speed improvements. This&lt;br /&gt;
move is possible because the XO 1.5 will have more memory and better&lt;br /&gt;
cpu speeds, as well as a move away from sugar being agnostic to that&lt;br /&gt;
hardware. Sugar on a Stick was the big focus, which is now working&lt;br /&gt;
quite well, but still not perfect.&lt;br /&gt;
&lt;br /&gt;
A desire for a revival of the help application was shown and that will&lt;br /&gt;
become one of the core fructose activities, though likely it will be&lt;br /&gt;
totally updated and perhaps even interactive. Browse will be upgraded&lt;br /&gt;
to have tabbed browsing, and have better support for integrated&lt;br /&gt;
flash/gnash, pdf support and youtube casts. A demo was shown of a&lt;br /&gt;
screencast of the usage of an activity coded at the camp, using turtle&lt;br /&gt;
art. These quick advances show that it is not only possible to&lt;br /&gt;
strengthen the Sugar Core and its activities, but also that one day&lt;br /&gt;
soon we will have a ubiquitous sugar solution that will run on all&lt;br /&gt;
distributions and platforms and most hardware.&lt;br /&gt;
&lt;br /&gt;
The mention of fundraising was raised and there is a target in place&lt;br /&gt;
of aquiring 100,000 euros within the next release cycle which will be&lt;br /&gt;
used primarily in marketing and gathering core sugar people to the&lt;br /&gt;
places they need face to face talks like the one provided in Paris.&lt;br /&gt;
&lt;br /&gt;
Our particular subgroup was asked to come up with a solution for&lt;br /&gt;
better support, performance, security, testing, triaging, and quality&lt;br /&gt;
assurance. The following is a report of what we came up with:&lt;br /&gt;
&lt;br /&gt;
===========================================================================&lt;br /&gt;
&lt;br /&gt;
Future of Sugar – Support, triaging and quality assurance– Famework for 0.86&lt;br /&gt;
&lt;br /&gt;
===========================================================================&lt;br /&gt;
&lt;br /&gt;
There were various discussion topics that included various subtopics.&lt;br /&gt;
Our group was responsible for the Autopackaging group, or better known&lt;br /&gt;
as the support, testing and quality assurance group.&lt;br /&gt;
&lt;br /&gt;
The other groups were:&lt;br /&gt;
M – Marketing&lt;br /&gt;
A – Autopackaging&lt;br /&gt;
SE – School Environment&lt;br /&gt;
R – Roadmap&lt;br /&gt;
&lt;br /&gt;
Sadly, the School Environment topic got cancelled, though it is of&lt;br /&gt;
particular importance to larger deployments and anything including the&lt;br /&gt;
school server. The subtopics for that group included: Teacher&lt;br /&gt;
Training; Primers – paperbacks; Technical feedback; Centralised admin&lt;br /&gt;
for deployments and Mass deployments&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Autopackaging – We can define this as the process of going from the&lt;br /&gt;
code that developers write going into the git version control system&lt;br /&gt;
to the public. There is an easy way of automating this without&lt;br /&gt;
spending too much time on the development. This is currently a task&lt;br /&gt;
being taken up by Aleksy Lin, who sadly could not be at Sugar Camp but&lt;br /&gt;
is pretty much a core developer at this point.&lt;br /&gt;
&lt;br /&gt;
The name of the project is jhconvert and it will be responsible for&lt;br /&gt;
generating spec files and policy files for the various distributions&lt;br /&gt;
Sugar chooses to support. This is somewhat of a political issue, as&lt;br /&gt;
usually it is the package maintainers who do such a task, but&lt;br /&gt;
automation will make it much easier for Sugar to reach the public, and&lt;br /&gt;
I for one, being the maintainer for Sugar packages on OpenSUSE am&lt;br /&gt;
happy about this. For those distributions that choose not to support&lt;br /&gt;
this approach, they can always either take the code directly from git&lt;br /&gt;
and re-invent the wheel or do this manually, or take the src rpms or&lt;br /&gt;
src debs. I can speak only for openSUSE, but there, this direct&lt;br /&gt;
automation from git to the opensuse build system will be a reality,&lt;br /&gt;
and will allow for a direct transition from new revisions to&lt;br /&gt;
activities being uploaded to git, to them being available for all&lt;br /&gt;
distros and all platforms automatically.&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
Method of communication between wishers/bugsquad and core development team&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
At the moment, the centralised programmers upload their stuff and&lt;br /&gt;
apply patches to git as and when and the review queue is up to the&lt;br /&gt;
programmers. This needs to change drastically and a methodology of&lt;br /&gt;
collecting support and feature data efficiently and effectively must&lt;br /&gt;
be the part of people other than the core developers, who have far&lt;br /&gt;
more pressing needs and no time to review the thousands of requests&lt;br /&gt;
coming through the support pipeline. We need people to review the&lt;br /&gt;
tracker and review queue. 2-3 core people should be looking through&lt;br /&gt;
the bug tracker, and inform the programmers. This task used to be done&lt;br /&gt;
by Greg Smith of OLPC who did an incredibly difficult job in a great&lt;br /&gt;
way under extreme conditions. Finding a replacement will not be easy,&lt;br /&gt;
but currently there are many active volunteers who want to help in&lt;br /&gt;
this area.&lt;br /&gt;
&lt;br /&gt;
They are out there in groups doing Q/A, support, testing and triaging,&lt;br /&gt;
but someone needs to be the user experience leader, a person who both&lt;br /&gt;
the developers know and trust, and who can weed out the support or&lt;br /&gt;
feature requests that are unrealistic or irrelevant. One possibility&lt;br /&gt;
was to automate this by putting a voting mechanism in place for&lt;br /&gt;
something like trac, but it would unlikely be used and could be easily&lt;br /&gt;
tampered with. If there is anyone out there willing to take on this&lt;br /&gt;
difficult and demanding task, but extremely rewarding experience,&lt;br /&gt;
please contact the Sugar team, via the mailing lists, IRC, the wikis,&lt;br /&gt;
OLPC, or support forums.&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
Methodology for bug tracking and triaging – to peer reviewing and fixing:&lt;br /&gt;
&lt;br /&gt;
=======================================================================&lt;br /&gt;
&lt;br /&gt;
a. The user finds a bug in the latest release and then puts it into track.&lt;br /&gt;
b. The bugsquad does triage. Triage means assessing the bug,&lt;br /&gt;
validating it, and giving it a priority, and milestone (which release&lt;br /&gt;
its going to be fixed in.)&lt;br /&gt;
c. At some time, someone will try to fix it, usually a core developer.&lt;br /&gt;
If it’s not a core developer, it will always be attached as a patch&lt;br /&gt;
and reviewed.&lt;br /&gt;
d. Next step is peer review.&lt;br /&gt;
e. Patch gets improved, turned down, or accepted. This loop will&lt;br /&gt;
continue until the parties are happy with the code status.&lt;br /&gt;
f. Someone with commit access commits the patch.&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
When will 0.82 be end of life? – There is no answer to this currently&lt;br /&gt;
as it is to early to know what people in the field need. Should it be&lt;br /&gt;
long term, short term, very long term? These answers will come at some&lt;br /&gt;
stage, but not right now.&lt;br /&gt;
&lt;br /&gt;
Currently packaging happens to fructose and glucose only. This will&lt;br /&gt;
not be the issue in the next release. RPMS will be automatically&lt;br /&gt;
created, though it will be the decision of the distribution in&lt;br /&gt;
question whether and how to use them. The .xo bundles will still be&lt;br /&gt;
there but will be overwritten (basically put into a different place&lt;br /&gt;
and given priority over the older relkease.)&lt;br /&gt;
&lt;br /&gt;
===================================================================&lt;br /&gt;
&lt;br /&gt;
Should we use package kit to standardize the packaging? This was a &lt;br /&gt;
question that came up and it is an interesting proposal, what do we think?&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
Auto testing of activities&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
There is something called sugarbot that should auto test activities.&lt;br /&gt;
It’s a google summer of code activity, but should be there for the&lt;br /&gt;
next release. It tests honey, not glucose, fructose.&lt;br /&gt;
&lt;br /&gt;
We need a testing roadmap for glucose and fructose. Doing something&lt;br /&gt;
like what Gnome does would be good. We could also look at KDE. Are &lt;br /&gt;
there any other ideas on how to do this?&lt;br /&gt;
&lt;br /&gt;
======================================================================&lt;br /&gt;
&lt;br /&gt;
Buildbot will not run on the current hardware. We need to find a&lt;br /&gt;
sponsor for the machines and hosting?&lt;br /&gt;
&lt;br /&gt;
This has now been communicated and should be fixed... As I understand &lt;br /&gt;
it, buildbot takes a look at some of the automation of testing packages&lt;br /&gt;
being built. Maybe alsroot can expand...&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Packaging&amp;diff=27887</id>
		<title>Development Team/Packaging</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Packaging&amp;diff=27887"/>
		<updated>2009-04-23T15:20:08Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Distro&lt;br /&gt;
! Current development version&lt;br /&gt;
! Contact&lt;br /&gt;
! Last Sugar version&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/ALTLinux|ALT Linux]]&lt;br /&gt;
| Sisyphus&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Debian|Debian]]&lt;br /&gt;
| (multiple concurrent branches)&lt;br /&gt;
| [http://wiki.debian.org/JonasSmedegaard Jonas Smedegaard]&lt;br /&gt;
| See here: http://qa.debian.org/developer.php?login=debian-olpc-devel@lists.alioth.debian.org&lt;br /&gt;
| [[#Needs pyabiword|Needs pyabiword]], [[#Needs evince python bindings|Needs evince python bindings]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Fedora|Fedora]]&lt;br /&gt;
| F11 (Leonidas)&lt;br /&gt;
| [[User:Erikos|Simon Schampijer]]&lt;br /&gt;
| 0.83.4 per http://koji.fedoraproject.org/koji/packageinfo?packageID=4562&lt;br /&gt;
|-&lt;br /&gt;
| [[Sugar_on_a_Stick|SoaS-1]]&lt;br /&gt;
| F10 based&lt;br /&gt;
|&lt;br /&gt;
| 0.84.x [http://download.sugarlabs.org/soas/repositories/1/ RPM repository]&lt;br /&gt;
|-&lt;br /&gt;
| [[Sugar_on_a_Stick|SoaS-2]]&lt;br /&gt;
| F11 based&lt;br /&gt;
|&lt;br /&gt;
| 0.84.x [http://download.sugarlabs.org/soas/repositories/2/ RPM repository]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Gentoo|Gentoo]]&lt;br /&gt;
| Sugar overlay&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Mandriva|Mandriva]]&lt;br /&gt;
| Cooker&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://en.opensuse.org/Sugar openSUSE]&lt;br /&gt;
| openSUSE Factory&lt;br /&gt;
| [http://en.opensuse.org/User:Nubae Nubae]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Ubuntu|Ubuntu]]&lt;br /&gt;
| 9.04 (Jaunty Jackalope)&lt;br /&gt;
| [https://wiki.ubuntu.com/SugarTeam SugarTeam]&lt;br /&gt;
| 0.83.x&lt;br /&gt;
| [[#Needs pyabiword|Needs pyabiword]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Magalhães|Magalhães]]&amp;lt;br&amp;gt;(Caixa Mágica)&lt;br /&gt;
| 12&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This table might be generated by a script like the one Collabora uses: http://people.collabora.co.uk/~cassidy/tp-versions.html&lt;br /&gt;
&lt;br /&gt;
Source: http://people.collabora.co.uk/~cassidy/tp-versions.html&lt;br /&gt;
&lt;br /&gt;
== Status notes ==&lt;br /&gt;
&lt;br /&gt;
=== Needs pyabiword ===&lt;br /&gt;
&lt;br /&gt;
In order for Write to work, abiword needs to be built with --enable-libabiword ([http://bugs.debian.org/512777 Debian bug #512777]) and the pyabiword package needs to be added.&lt;br /&gt;
&lt;br /&gt;
=== Needs evince python bindings ===&lt;br /&gt;
&lt;br /&gt;
In order for Read to work, evince needs to be built as a library and needs to have python bindings. This means evince 2.25.90 and gnome-python-desktop with the evince python bindings built.&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Packaging&amp;diff=27875</id>
		<title>Development Team/Packaging</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Packaging&amp;diff=27875"/>
		<updated>2009-04-23T14:19:38Z</updated>

		<summary type="html">&lt;p&gt;Nubae: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Distro&lt;br /&gt;
! Current development version&lt;br /&gt;
! Contact&lt;br /&gt;
! Last Sugar version&lt;br /&gt;
! Status&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/ALTLinux|ALT Linux]]&lt;br /&gt;
| Sisyphus&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Debian|Debian]]&lt;br /&gt;
| (multiple concurrent branches)&lt;br /&gt;
| [http://wiki.debian.org/JonasSmedegaard Jonas Smedegaard]&lt;br /&gt;
| See here: http://qa.debian.org/developer.php?login=debian-olpc-devel@lists.alioth.debian.org&lt;br /&gt;
| [[#Needs pyabiword|Needs pyabiword]], [[#Needs evince python bindings|Needs evince python bindings]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Fedora|Fedora]]&lt;br /&gt;
| F11 (Leonidas)&lt;br /&gt;
| [[User:Erikos|Simon Schampijer]]&lt;br /&gt;
| 0.83.4 per http://koji.fedoraproject.org/koji/packageinfo?packageID=4562&lt;br /&gt;
|-&lt;br /&gt;
| [[Sugar_on_a_Stick|SoaS-1]]&lt;br /&gt;
| F10 based&lt;br /&gt;
|&lt;br /&gt;
| 0.84.x [http://download.sugarlabs.org/soas/repositories/1/ RPM repository]&lt;br /&gt;
|-&lt;br /&gt;
| [[Sugar_on_a_Stick|SoaS-2]]&lt;br /&gt;
| F11 based&lt;br /&gt;
|&lt;br /&gt;
| 0.84.x [http://download.sugarlabs.org/soas/repositories/2/ RPM repository]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Gentoo|Gentoo]]&lt;br /&gt;
| Sugar overlay&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Mandriva|Mandriva]]&lt;br /&gt;
| Cooker&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://en.opensuse.org/Sugar openSUSE]&lt;br /&gt;
| openSUSE Factory&lt;br /&gt;
| [http://en.opensuse.org/User:Nubae|David Van Assche]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Ubuntu|Ubuntu]]&lt;br /&gt;
| 9.04 (Jaunty Jackalope)&lt;br /&gt;
| [https://wiki.ubuntu.com/SugarTeam SugarTeam]&lt;br /&gt;
| 0.83.x&lt;br /&gt;
| [[#Needs pyabiword|Needs pyabiword]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Community/Distributions/Magalhães|Magalhães]]&amp;lt;br&amp;gt;(Caixa Mágica)&lt;br /&gt;
| 12&lt;br /&gt;
| [[User:Alsroot|Aleksey Lim]]&lt;br /&gt;
| 0.84.x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This table might be generated by a script like the one Collabora uses: http://people.collabora.co.uk/~cassidy/tp-versions.html&lt;br /&gt;
&lt;br /&gt;
Source: http://people.collabora.co.uk/~cassidy/tp-versions.html&lt;br /&gt;
&lt;br /&gt;
== Status notes ==&lt;br /&gt;
&lt;br /&gt;
=== Needs pyabiword ===&lt;br /&gt;
&lt;br /&gt;
In order for Write to work, abiword needs to be built with --enable-libabiword ([http://bugs.debian.org/512777 Debian bug #512777]) and the pyabiword package needs to be added.&lt;br /&gt;
&lt;br /&gt;
=== Needs evince python bindings ===&lt;br /&gt;
&lt;br /&gt;
In order for Read to work, evince needs to be built as a library and needs to have python bindings. This means evince 2.25.90 and gnome-python-desktop with the evince python bindings built.&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14417</id>
		<title>Marketing Team/Events/FOSDEM 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14417"/>
		<updated>2009-01-18T10:08:35Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Attendance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
&lt;br /&gt;
OLPC / SugarLabs will have a presence at [http://www.fosdem.org/2009/ FOSDEM&#039;09] taking place in Brussels (Belgium) from Saturday, February 7 to Sunday, February 8.&lt;br /&gt;
&lt;br /&gt;
Additionally plans are underway to have a one-day OLPC / Sugar community meetup on (probably) Friday, February 6.&lt;br /&gt;
&lt;br /&gt;
== Goals | FOSDEM&#039;09 ==&lt;br /&gt;
&lt;br /&gt;
* getting more developers to work on Sugar related tasks&lt;br /&gt;
&lt;br /&gt;
== Goals | Community Meetup ==&lt;br /&gt;
&lt;br /&gt;
* discussing the current state of things&lt;br /&gt;
* making plans for 2009:&lt;br /&gt;
** better defining the relation between OLPC and Sugar Labs&lt;br /&gt;
** advancing the Sugar platform&lt;br /&gt;
** making awesome educational content&lt;br /&gt;
** writing cool activities&lt;br /&gt;
** building and contacting relevant communities around OLPC and Sugar&lt;br /&gt;
** generally making it easier to contribute to OLPC and Sugar&lt;br /&gt;
** translating existing documentation (e.g. FlossManuals)&lt;br /&gt;
** writing materials geared towards how teachers can use the XO and Sugar in schools&lt;br /&gt;
** designing great marketing materials&lt;br /&gt;
** ...&lt;br /&gt;
* socializing, finally being able to put faces to nicknames&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
Please sign up here if you plan to attend!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Community Meetup Friday 6th&lt;br /&gt;
! FOSDEM Saturday 7th&lt;br /&gt;
! FOSDEM Sunday 8th&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ChristophD|ChristophD]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| flight to Brussel is booked, will arrive on the evening of Feb. 5&lt;br /&gt;
|-&lt;br /&gt;
| [[User:niklaus|niklaus]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Tomeu|Tomeu]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| flight booked, arrive Feb 6th at 10.30am&lt;br /&gt;
|-&lt;br /&gt;
| [[User:BenjaminBerg|Benjamin Berg]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Marcopg|Marcopg]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Cassidy|Guillaume Desmottes]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| h01ger / Holger Levsen&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[User:nubae|nubae / David Van Assche]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| flight to Brussel is booked, will arrive on the evening of Feb. 5&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Schedule == &lt;br /&gt;
&lt;br /&gt;
Tomeu is going to talk about [http://live.gnome.org/Brussels2009/Devroom#head-fed044e7ec0c3f61c0819739876aaa276e55c8e1 &amp;quot;The Sugar platform&amp;quot;] in the [http://live.gnome.org/Brussels2009/Devroom GNOME dev room] on Saturday 15:00.&lt;br /&gt;
&lt;br /&gt;
Greg is going to talk about &amp;quot;Sugar and Fedora&amp;quot; in the [https://fedoraproject.org/wiki/FedoraEvents/FOSDEM/FOSDEM2009#Speakers_in_the_Dev_Room Fedora dev room] on Saturday 17.00.&lt;br /&gt;
&lt;br /&gt;
== To-Do ==&lt;br /&gt;
&lt;br /&gt;
* decide if we are going to ask a sister project for a piece of a booth (we did so last year in the GNOME booth)&lt;br /&gt;
* find a venue for the friday meeting&lt;br /&gt;
* lots of things...&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
Please add relevant notes and thoughts!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14415</id>
		<title>Marketing Team/Events/FOSDEM 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14415"/>
		<updated>2009-01-18T10:01:55Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Attendance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OLPC / SugarLabs will have a presence at [http://www.fosdem.org/2009/ FOSDEM&#039;09] taking place in Brussels (Belgium) from Saturday, February 7 to Sunday, February 8.&lt;br /&gt;
&lt;br /&gt;
Additionally plans are underway to have a one-day OLPC / Sugar community meetup on (probably) Friday, February 6.&lt;br /&gt;
&lt;br /&gt;
== Goals | FOSDEM&#039;09 ==&lt;br /&gt;
&lt;br /&gt;
* getting more developers to work on Sugar related tasks&lt;br /&gt;
&lt;br /&gt;
== Goals | Community Meetup ==&lt;br /&gt;
&lt;br /&gt;
* discussing the current state of things&lt;br /&gt;
* making plans for 2009:&lt;br /&gt;
** better defining the relation between OLPC and Sugar Labs&lt;br /&gt;
** advancing the Sugar platform&lt;br /&gt;
** making awesome educational content&lt;br /&gt;
** writing cool activities&lt;br /&gt;
** building and contacting relevant communities around OLPC and Sugar&lt;br /&gt;
** generally making it easier to contribute to OLPC and Sugar&lt;br /&gt;
** translating existing documentation (e.g. FlossManuals)&lt;br /&gt;
** writing materials geared towards how teachers can use the XO and Sugar in schools&lt;br /&gt;
** designing great marketing materials&lt;br /&gt;
** ...&lt;br /&gt;
* socializing, finally being able to put faces to nicknames&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
Please sign up here if you plan to attend!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=3 style=&amp;quot;border: 1px solid white; border-collapse: collapse; background: #e3e4e5;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#787878; color: white;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Community Meetup Friday 6th&lt;br /&gt;
! FOSDEM Saturday 7th&lt;br /&gt;
! FOSDEM Sunday 8th&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ChristophD|ChristophD]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| flight to Brussel is booked, will arrive on the evening of Feb. 5&lt;br /&gt;
|-&lt;br /&gt;
| [[User:niklaus|niklaus]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Tomeu|Tomeu]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| flight booked, arrive Feb 6th at 10.30am&lt;br /&gt;
|-&lt;br /&gt;
| [[User:BenjaminBerg|Benjamin Berg]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Marcopg|Marcopg]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| (not sure yet)&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Cassidy|Guillaume Desmottes]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| h01ger / Holger Levsen&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| [[User:nubae|David Van Assche]]&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Schedule == &lt;br /&gt;
&lt;br /&gt;
Tomeu is going to talk about [http://live.gnome.org/Brussels2009/Devroom#head-fed044e7ec0c3f61c0819739876aaa276e55c8e1 &amp;quot;The Sugar platform&amp;quot;] in the [http://live.gnome.org/Brussels2009/Devroom GNOME dev room] on Saturday 15:00.&lt;br /&gt;
&lt;br /&gt;
Greg is going to talk about &amp;quot;Sugar and Fedora&amp;quot; in the [https://fedoraproject.org/wiki/FedoraEvents/FOSDEM/FOSDEM2009#Speakers_in_the_Dev_Room Fedora dev room] on Saturday 17.00.&lt;br /&gt;
&lt;br /&gt;
== To-Do ==&lt;br /&gt;
&lt;br /&gt;
* decide if we are going to ask a sister project for a piece of a booth (we did so last year in the GNOME booth)&lt;br /&gt;
* find a venue for the friday meeting&lt;br /&gt;
* lots of things...&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
Please add relevant notes and thoughts!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14199</id>
		<title>Marketing Team/Events/FOSDEM 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Marketing_Team/Events/FOSDEM_2009&amp;diff=14199"/>
		<updated>2009-01-14T08:39:50Z</updated>

		<summary type="html">&lt;p&gt;Nubae: /* Attending | FOSDEM&amp;#039;09 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OLPC / SugarLabs will have a presence at [http://www.fosdem.org/2009/ FOSDEM&#039;09] taking place in Brussels (Belgium) from Saturday, February 7 to Sunday, February 8.&lt;br /&gt;
&lt;br /&gt;
Additionally plans are underway to have a one-day OLPC / Sugar community meetup on (probably) Friday, February 6.&lt;br /&gt;
&lt;br /&gt;
== Goals | FOSDEM&#039;09 ==&lt;br /&gt;
&lt;br /&gt;
* getting more developers to work on Sugar related tasks&lt;br /&gt;
&lt;br /&gt;
== Goals | Community Meetup ==&lt;br /&gt;
&lt;br /&gt;
* discussing the current state of things&lt;br /&gt;
* making plans for 2009:&lt;br /&gt;
** better defining the relation between OLPC and Sugar Labs&lt;br /&gt;
** advancing the Sugar platform&lt;br /&gt;
** making awesome educational content&lt;br /&gt;
** writing cool activities&lt;br /&gt;
** building and contacting relevant communities around OLPC and Sugar&lt;br /&gt;
** generally making it easier to contribute to OLPC and Sugar&lt;br /&gt;
** translating existing documentation (e.g. FlossManuals)&lt;br /&gt;
** writing materials geared towards how teachers can use the XO and Sugar in schools&lt;br /&gt;
** designing great marketing materials&lt;br /&gt;
** ...&lt;br /&gt;
* socializing, finally being able to put faces to nicknames&lt;br /&gt;
&lt;br /&gt;
== Attending | FOSDEM&#039;09 ==&lt;br /&gt;
&lt;br /&gt;
Please sign up here if you plan to attend!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
* [[User:ChristophD|ChristophD]] (flight to Brussel is booked, will arrive on the evening of Feb. 5)&lt;br /&gt;
* [[User:niklaus|niklaus]]&lt;br /&gt;
* [[User:Tomeu|Tomeu]]&lt;br /&gt;
* [[User:BenjaminBerg|Benjamin Berg]]&lt;br /&gt;
* [[User:Marcopg|Marcopg]] (not sure yet)&lt;br /&gt;
* [[User:Cassidy|Guillaume Desmottes]]&lt;br /&gt;
* h01ger / Holger Levsen&lt;br /&gt;
* [[User:nubae|David Van Assche]]&lt;br /&gt;
&lt;br /&gt;
== Attending | Community Meetup ==&lt;br /&gt;
&lt;br /&gt;
Please sign up here if you plan to attend!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
* [[User:ChristophD|ChristophD]] (flight to Brussel is booked, will arrive on the evening of Feb. 5)&lt;br /&gt;
* [[User:niklaus|niklaus]]&lt;br /&gt;
* [[User:Tomeu|Tomeu]] (flight booked, arrive Feb 6th at 10.30am)&lt;br /&gt;
* [[User:BenjaminBerg|Benjamin Berg]]&lt;br /&gt;
* [[User:Marcopg|Marcopg]] (not sure yet)&lt;br /&gt;
* [[User:Erikos|Erikos]] (not sure yet, will try my best)&lt;br /&gt;
* h01ger / Holger Levsen&lt;br /&gt;
&lt;br /&gt;
== Schedule == &lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
Have proposed two talks, one in the [https://fedoraproject.org/wiki/FedoraEvents/FOSDEM/FOSDEM2009#Speakers_in_the_Dev_Room Fedora dev room] and the other in the [http://live.gnome.org/Brussels2009/Devroom GNOME dev room]. [[User:Tomeu|tomeu]] 12:29, 7 January 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== To-Do ==&lt;br /&gt;
&lt;br /&gt;
* decide if we are going to ask a sister project for a piece of a booth (we did so last year in the GNOME booth)&lt;br /&gt;
* find a venue for the friday meeting&lt;br /&gt;
* lots of things...&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
Please add relevant notes and thoughts!&lt;br /&gt;
[[User:ChristophD|ChristophD]] 03:40, 7 January 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Nubae</name></author>
	</entry>
</feed>