<br><font size=2 face="sans-serif">Team,</font>
<br><font size=2 face="sans-serif">The XS School Server we build for Edublog
has been shipped to its final destination today! &nbsp;This is in support
of Proyecto Ceibal of OLPC Uruguay. &nbsp;Details of the poject here: &nbsp;
http://wiki.laptop.org/go/Educational_Blogger_Project</font>
<br>
<br><font size=2 face="sans-serif">Some key lessons learned:</font>
<br>
<br><font size=2 face="sans-serif">(a) XS install on machine with two disk
drives</font>
<br>
<br><font size=2 face="sans-serif">The unattended-kickstart XS-163.iso
image only works when there is a single disk drive. &nbsp;If you have two
or more disk drives, disconnect them during the initial install. &nbsp;Other
than that, the parts list for the hardware, and pictures of the assembly
are here: http://wiki.laptop.org/go/User:Az990tony/edublog-beta-hw</font>
<br>
<br><font size=2 face="sans-serif">(b) I was able to get &quot;multi-boot&quot;
working. &nbsp;</font>
<br>
<br><font size=2 face="sans-serif">I still need to update my notes on this
page: http://wiki.laptop.org/go/User:Az990tony/edublog-beta-sw</font>
<br>
<br><font size=2 face="sans-serif">The OS images are:</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 1.
&nbsp;XS-163 ( what we plan to do our primary development/test)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 2.
&nbsp;Fedora 7 (for comparison/test purposes)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 3.
&nbsp;Debian 4 (for potential porting of Edublog)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; 4.
&nbsp;SysRescCD (to repair the other three)</font>
<br>
<br><font size=2 face="sans-serif">The method could be extended to dual-boot
for XS with WIndows for example, and maybe even XS with Apple Mac OS X.
&nbsp;Let me know if there is any interest in either Windows or Mac OS
dual-boot scenarios.</font>
<br>
<br><font size=2 face="sans-serif">(c) RAID and LVM2</font>
<br>
<br><font size=2 face="sans-serif">While the BIOS of the motherboard advertised
&quot;RAID&quot; capability, this is only BIOS-assisted RAID for Windows
device drivers. &nbsp;Linux calls this &quot;fake raid&quot; and is only
supported on a few motherboards, but the one we had was not on the support
list. &nbsp; &nbsp;I was able to get instead &quot;software raid&quot;
mirroring &quot;raid1&quot; and LVM2 logical volumes, but had troubles
with this process. &nbsp;Converting regular partitions to raid, or regular
partitions to LVM is straight-forward, but converting either of these to
LVM2+RAID was fraught with problems, especially if the LVM2+RAID contain
any &quot;root&quot; directories needed to start the OS image. &nbsp;For
now, LVM2+RAID should only be used only for shared data directories that
are non-essential for OS boot.</font>
<br>
<br><font size=2 face="sans-serif">(d) Remote administration with SSH</font>
<br>
<br><font size=2 face="sans-serif">Our development team is all over the
place, so we set up &quot;sshd&quot; server with DSA private/public key
pairs. &nbsp;To make this feasible, I put the &quot;/home&quot; directory
on LVM2 logical volume so that all of the OS images could access. &nbsp;Fedora
and Debian have different default userid value starting points, so I used
&quot;groupadd -g nnnn &quot; to create a group, and &quot;useradd -g nnnn
-u mmmm &nbsp;user&quot; to create the users on each OS image. &nbsp;This
ensures that everyone can read their own files regardless of which OS image
they are running with.</font>
<br>
<br><font size=2 face="sans-serif">I tested with a Windows SSH client (sshWindows
on SourceForge.net), and was able to access the server successfully. &nbsp;</font>
<br>
<br><font size=2 face="sans-serif">(e) MySQL vs. PostgreSQL</font>
<br>
<br><font size=2 face="sans-serif">Despite Tim's excellent set of notes,
I was unable to get past his &quot;test.php&quot; phase, I just could not
get Apache to have authorization to the postgresql databases from the PHP
pages. &nbsp;I hope the remote admin team can figure this out when needed.
&nbsp;As a fall-back, I installed MySQL which we know should have no problems
with Moodle.</font>
<br>
<br><font size=2 face="sans-serif">(f) Ethernet ports/devices/MAC addresses</font>
<br>
<br><font size=2 face="sans-serif">A very frustrating aspect of the multi-boot
process is that each OS assigns different &quot;eth0/eth1/eth2/eth3&quot;
for the devices it finds. &nbsp;Following the XS-163 scheme of &quot;eth0&quot;
being the WAN connection to the outside world, and &quot;eth1/eth2&quot;
to be the internal LAN connections, there were means to set Fedora and
Debian to match. &nbsp;This way, &quot;eth0&quot; is always the WAN connection
regardless of OS image currently running.</font>
<br>
<br><font size=2 face="sans-serif">(g) Backup methodology</font>
<br>
<br><font size=2 face="sans-serif">Seeing that moving partitions around,
converting to raid, and LVM2, required a backup method, but the &quot;Mondo
Rescue&quot; method deployed in OLE/Nepal did not handle the raid/LVM2
very well.</font>
<br>
<br><font size=2 face="sans-serif">Instead, I was able to use &quot;SysRescCD&quot;
(from http://sysresccd.org/) which is developed in France, and has English
and Spanish instruction manuals. &nbsp;This was able to understand raid
and LVM2 devices, and has &quot;partimage&quot; tool to backup regular
partitions, raid-mirrored partitions, and LVM2 logical volumes.</font>
<br>
<br><font size=2 face="sans-serif">(h) Boot-CD and Recover-DVD</font>
<br>
<br><font size=2 face="sans-serif">Part of the project was a &quot;nice-to-have&quot;
requirement for a Recover DVD to rebuild the machine to original working
state in case the devlopers do something bad that breaks the system. &nbsp;I
chose SysRescCD, customized to run &quot;sshd&quot; on boot with the appropriate
settings, users and public keys in place. &nbsp;I created a &quot;Boot-CD&quot;
that is only 200MB, and a Recover-DVD which boots just like the Boot-CD,
but has 3.7GB of backup files (mostly from &quot;partimage&quot; tool).
&nbsp;I did not have time to fully test an automated recovery, but was
able to summarize the seven steps involved. &nbsp;The advantage is that
these seven recovery steps can be done by remote administration, you only
need someone to reboot the XS with the Recovery DVD, and let the remote
admins do the rest. &nbsp;</font>
<br>
<br><font size=2 face="sans-serif">(i) Rescue OS image on the disk drive
itself</font>
<br>
<br><font size=2 face="sans-serif">I wanted to put the SysRescCD on the
hard disk itself, but again it assigns &quot;eth0/eth1/eth2&quot; differently
than what I had already done with Fedora and Debian. &nbsp;I worked with
my new friends at SysRescCD, and they added a kernel parameter &quot;nameif=&quot;
that allows me to specify &quot;eth0&quot; to be the motherboard port,
&quot;eth1&quot; to be the top NIC and &quot;eth2&quot; to be the bottom
NIC card, just as they are defined with the other OS images. &nbsp;Here
is the description:</font>
<br>
<br><font size=2 face="sans-serif">http://www.sysresccd.org/news/2008/06/28/option-to-define-the-name-of-a-network-interface-using-the-mac-address/</font>
<br>
<br><font size=2 face="sans-serif">With this parameter, I was able to match
the &quot;eth&quot; settings of XS-163, and have it as a fourth &quot;boot
OS&quot; image. &nbsp; While SysRescCD can be put onto existing OS image
partitions, &nbsp;I chose instead to put this as /dev/sda1, and moved the
shared /boot directory to /dev/sda2.</font>
<br>
<br><font size=2 face="sans-serif">Hopefully, it will arrive and be online
for development purposes next week.</font>
<br>
<br><font size=2 face="sans-serif">Tony Pearson</font>
<br><font size=2 face="sans-serif">http://wiki.laptop.org/go/User:Az990tony</font>