User:Samir: Difference between revisions

From OLPC
Jump to navigation Jump to search
 
(18 intermediate revisions by 3 users not shown)
Line 85: Line 85:
== Mysterious Update to Build 656 ==
== Mysterious Update to Build 656 ==


This night, starting the XO with an update I didn't ask for ! Throw all the software I installed before, lot of work gone away. I remember to let the xo with Sugar open into a room with an open wireless access, so I guess that the system has been automatically updated during this period. Even if I understand why it was configured like this (children are supposed to not customize their XO with their own rpm package ?), next time I'll try to figure out how to disactivate this annoying feature when you are developer. Fortunately my home directory is intact. Probably the olpc-update-query is involved in this mysterious update, so I'll try to figure out how to disable this feature.
This night, starting the XO with an update I didn't ask for ! Throw all the software I've installed before, lot of work gone away. I remember to let the xo with Sugar open into a room with an open wireless access, so I guess that the system has been automatically updated during this period. Even if I understand why it was configured like this (children are supposed to not customize their XO with their own rpm package ?), next time I'll try to figure out how to disactivate this annoying feature when you are developer. Fortunately my home directory is intact. Probably the olpc-update-query is involved in this mysterious update, so I'll try to figure out how to disable this feature.
* Linux 2.6.22-20071231
* Linux 2.6.22-20071231
* Firmware Q2D05
* Firmware Q2D05


== Censure ?? ==
== Back to 656 ==


* Linux 2.6.22-20070927
I noticed the mysterious disparition of two emails I sent to the design mailing list, which put into question the whole design of the OLPC initiative.(look here : http://lists.laptop.org/pipermail/devel/2007-October/thread.html - lack of // support, my first mail dissappear, but reappears into the Ian answer !) Since these emails has disapperead from the design mailing-lists archive, I put them here as some piece of thoughts about the olpc initiative.
* Firmware Q2D16


After some hazardous manipulation on my system (tried to wipe out the 656 tree and to keep the joyride one), it ended to be a mess and nothing worked anymore. So I made a clean install of the 656 (see tips and tricks below), and update to debian-big. In that way, I can get a working debian installation. Maybe I would be able to fix the crazy mouse problem I have when I try to install a debian by myself from scratch...
<pre>


== OLPC initiative in questions ==
On 10/23/07, Samir Saidani <saidani at squeakfr.org> wrote:
>
> Hi,
>
> I have heard about the OLPC initiative a while ago, and recently
> I have decided to take a further look at this very interesting
> initiative... Here are first thoughts about it...
>
> I'm quite new to this project, and one thing that strikes me was the
> lack of built-in serial and parallel port. Why ? When you don't have
> a lot of money, you tend to use obsolete technology which are cheaper
> than the newer one, like parallel printers, serial modem, serial mouse,
> parallel scanner, etc ... This obsolete technology are easily available
> on poor countries, because it's easy for an non profit organization
> to send this kind of technology that almost nobody wants anymore (at
> least the enterprises, and the schools of rich countries update quite
> often their hardware and throw the old one to the garbage or donate it
> to a NPO).
>
> So you can have the old tech for free, because they often end into the
> gargage while they are still working great. And this is not a theory,
> we have founded here in France a npo which locally is working to give
> One Computer Per Child for 0 $. We have already a lot of computers,
> and we are slowing down the process to avoid a computer hardware
> overload... Recycling is an ecologic approach to the environment, and it
> seems that it is a concern of the whole OLPC initiative. Recycling allows
> you to do things by yourself with little money (or none at all). I know
> that there is a serial/USB interface, but I'm not sure that it would be
> as easy to use as built-in ports (possibility to lost it, unable to do it
> by yourself due to the complex USB electronics component...). So when you
> consider the target audience (poor countries, rural zone, poor people),
> I think this is a design mistake. Or at least it's reducing a lot the
> possibility of hacking and recycling obsolete hardware lying around.
>
> Maybe and probably do you have already talk about this matter ?
>
> Thanks !
> Samir
> _______________________________________________
> Design mailing list
> Design at lists.laptop.org
> http://lists.laptop.org/listinfo/design
</pre>

Here is a deleted answer to Mitch :

<pre>

Ok, fine to hear that there is still a way to use serial peripherals :
it will lead sooner or later to a laptop mod by young hackers ;-) Think
that once the laptop will be outside, we will be probably surprised by
unforeseen usage...
Concerning the real cost of obsolete technology, I can testify based
on our daily work that this is really cheap. Besides trying to repair
is a true educative way to understand the hardware : open the machine,
learn from it, understand what is going on. So broken parts is not an
issue, but precisely a way to learn and to get a precise idea of what
is working and what is not. This is not a waste of time, but a part of
the educative and powersaving process. Not kill what is alive.
And anyway, even if the PC cannot be repaired, there is a great
probability that there is still working parts (keyboard, power supply,
etc...). And when you start to play with obsolete tech, you will notice
that you get very quickly a *lot of* obsolete hardware, so you can
start to jungle and reassemble the working parts, and throwing the
dead one. It sounds like a funny puzzle. So I can testify that here,
in the npo we are working on, - believe it or not - we are working at
no cost. (For consumable, there is some hack possibilities for ink :
no money, so hacking required, and hacking is learning...). So the cost
is not a concern here : I'm talking about the importance of recycling,
and in the process, take care of the planet, learning, be able to
repair by yourself, not throw away the whole hardware because there is
no understanding of what is going on, and the laziness to buy one more,
like it is often the case in the so called developed countries. I often
find well working computers in the garbage : this is really amazing. So
it makes me think that people living in developed countries must be
educated on saving energy too.
Cheers
* Mitch Bradley <wmb@laptop.org> [2007-10-24 00:58]:
> Ian Daniher wrote:
> > Samir,
> > IIRC, there *is* a serial port, but due to constraints I have not been made
> > aware of, It isn't exposed, instead it is buried inside the case.
> One primary constraint is that there is absolutely no room left for other
> connectors to come out.
>
> Yes, I know there are places where it looks like it might be possible, but
> there are non-obvious constraints having to do with board layout and
> mechanical design and securing against dust and water.
>
> Another answer is that, while it might seem that obsolete technology is
> cheap because you can get it used, very often the real cost is very high
> because it breaks down, can't be repaired, consumables (ink, etc) aren't
> available, etc. The support cost for random collections of old stuff can be
> enormous.
>
> > Sorry I can't help more,
> > --
> > Ian Daniher
> > it.daniher@gmail.com <mailto:it.daniher@gmail.com>
> > Skype : it.daniher
> > irc.freenode.com <http://irc.freenode.com>: DyDisMe

</pre>


The next email put into questions the whole design of the OLPC initiative. The entry is deleted
Here as some piece of thoughts about the olpc initiative.
from the design archive, so here it is :


<pre>
<pre>
Date: Wed, 24 Oct 2007 20:22:25 +0200
From: Samir Saidani <saidani@squeakfr.org>
To: design@lists.laptop.org
Subject: Design problems
User-Agent: Mutt/1.5.15 (2007-04-06)
Hello,
Concerning reusing technology with the OLPC laptop, I don't think that
it's relevant to take peripherals one by one - serial mouse, parallel
scanner - and see the respective interest in regards to reusing. I
don't think relevant too to go through the pro and cons about reusing
old technology...
My post is all about technology openness and design. I say that the OLPC
My post is all about technology openness and design. I say that the OLPC
laptop was not design to be a bridge between old and new technology. This
laptop was not design to be a bridge between old and new technology. This
Line 287: Line 167:
only as some remarks by a person deeply interested by the initiative.
only as some remarks by a person deeply interested by the initiative.
Cheers,
Samir
Samir


</pre>
</pre>


Deleting sensitive emails from the archive is a real issue... If we are really sensitive
to the educational question, then we have to put into question this kind of behaviour.

== Notes ==
* Big problem with man pages, there are all squizzed... Same with doc. Investigations on the process, before filling a track. The system is globally not self-documented, which is an issue when talking about education.
* Learn to use /dev/shm (tmpfs) to minimize access on the flash card (they might last longer)
* Problem with X11 fonts (we cannot add more fonts)

== Currently working on ==
* Power the olpc XO with the couple battery/solar panel
* Accurate measurements of the power consumption
* Robotic modules for the XO
* VGA output for the XO (useful for demonstrating the XO by itself and for pedagogical purpose)
* Bluetooth connection
* Debian-olpc


== USB2VGA ==
== USB2VGA ==
Line 319: Line 183:


More on the [[User:Samir/USB2VGA UVT-100 dev | USB2VGA UVT-100 dev]] page
More on the [[User:Samir/USB2VGA UVT-100 dev | USB2VGA UVT-100 dev]] page

== Debian-OLPC ==

Here are some hints to install a debian on an SD card for the XO.

* Bootstrap : cfdisk /dev/mmcblk0 and create a new partition. Then mkfs.ext2 it. The ext2 fs seems to be appropriate since the wear leveling is not an issue for an SD-card (as far as I understand). Mount it on /mnt with the dev options - mount -o dev ... - necessary to avoid a /dev/null error. Then the command line to install a lenny (testing release) is :
<pre>
debootstrap --include=udev,wireless-tools lenny /mnt http://http.us.debian.org/debian/
</pre>
At the end, you should have a minimal debian distribution (around 200M), but without kernel nor modules.

* Chroot : to chroot correctly, you have to add this option on the fstab of your host system
<pre>
echo "proc /mnt/proc proc none 0 0" >> /etc/fstab
</pre>
Then mount /mnt/proc
and chroot /mnt /bin/bash
and add the olpc user :
<pre>
# addgroup --gid 500 olpc
# adduser --uid 500 --gid 500 olpc
passwd -d olpc # delete the olpc password
</pre>
(export LC_ALL=C if you are in a non-english system, to avoid perl errors)

So you can now apt-get install packages.

* Kernel - at this stage, you can compile your own kernel, copy it from an OLPC image or apt-get it. To test quickly our install, I recommend the third one as a quick start.
<pre>
cd /tmp
wget http://queued.mit.edu/~dilinger/builds-master/linux-image-2.6.22_20080124.olpc.c2fb2ff45da8412_i386.deb
dpkg -i lin<TAB>
</pre>
You can verify that the kernel and modules are installed in /boot and /lib/modules/2.6.22

Put on the fstab :
<pre>
/dev/mmcblk0p1 / ext2 defaults,noatime 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults,size=15% 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
</pre>


Unmount /mnt/proc and /mnt


* Boot : Plug the SD-card on the XO, boot the XO and ESC.
type :
<pre>
setenv boot-file ro root=/dev/mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0
boot sd:\vmlinuz
</pre>
I've tested a lot of kernel options (what is append to boot-file), and this one seems to be minimal. You can append too fbcon=font:SUN12x22 for more readability. So then you can log as root or olpc and see if your system is booting correctly.

* Adapt : we have to adapt now the debian to our XO system. You can do that either from you XO system or from your host system by chrooting on the SD card as stated before. (besides setting hostname, better to do that from your XO system)
As root
mkdir -p {/ofw,/versions,/security,/var/cache/apt/cache,/selinux}
replace /etc/hostname with xo or whatever you want.

wget http://dev.laptop.org/pub/firmware/libertas/usb8388-5.110.22.p8.bin (libertas wifi firmware) and put it
in /lib/firmware under the name "usb8388.bin"

In /boot, insert olpc.fth with the following contents :
<pre>
\ Boot script for SD Boot
" ro root=/dev/mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
boot sd:\vmlinuz
</pre>

At this stage, Xo should boot directly on the SD-card, and wifi should work.

* Custom : This is my personal customization. A system with useful command line packages (a kind of TTYLinux distrib - TODO). Monitoring, minimal footprints...
<pre>
TTYLinux:
Mail/News:
ssmtp mutt slrn
mime-support
Web:
lynx links2
IM:
weechat-curses bitlbee
Pager:
less most (colorized pager)
Tools:
screen wcalc mc ppp pppconfig vim psmisc (include pstree)
System:
pciutils usbutils
Monitoring:
htop
Security:
openvpn ssh sudo
Multimedia:
mplayer w32codecs moc aumix
i18n:
locales console-tools console-data console-common
Laptop-specific:
anacron
Misc:


MinimalXLinux (minimal footprint)
rxvt-unicode-lite awesome qiv xpdf
</pre>

<pre>
For the XO:
xserver-xorg-video-geode dbus
xfonts-base xfonts-100dpi xfonts-scalable
xbase-clients

Replace "amd" Driver section, with "geode"

</pre>
sources.list (in France)
<pre>
deb http://ftp.fr.debian.org/debian testing main contrib non-free
deb http://www.debian-multimedia.org testing main
</pre>
Then apt-get update
Don't let the machine think for you : create /etc/apt/apt.conf.d/02pref with
<pre>
APT::Install-Recommends "N";
APT::Install-Suggests "N";
</pre>

* X server: apt-get install xserver-xorg-video-geode

for i in plugdev audio video ; do adduser olpc $i ; done

* Hints : if you want to pick some files from an XO image, you have to use losetup and /dev/loop
<pre>
losetup -o 31744 /dev/loop0 xo.img
mount -o loop /dev/loop0 /floppy
</pre>
The number 31744 is determined by fdisk -lu xo.img and by multiplying the start sector by 512 bytes (in my case, Start is 62).

* Note:
** I get some problems to make the mouse working under X server, so I updated lenny to sid.


== Tips and Tricks ==
== Tips and Tricks ==


* SD-card and jffs2 : jffs2 is the more accurate filesystem to use with this kind of flash memory, but currently need the blkmtd kernel module to be able to mount the SD-card, if the card is formatted it with jffs2.
* SD-card and jffs2 : jffs2 is the more accurate filesystem to use with this kind of flash memory, but currently need the blkmtd kernel module to be able to mount the SD-card, if the card is formatted it with jffs2.
But jffs2 seems ok only for small drive
* Clean installation : I messed up my system a little while by experimenting some configurations, so to wipe out all the junk stuff and for a clean reinstallation, there is a wiki page : http://wiki.laptop.org/go/Secure_reflash
* Wifi on console mode : to use iwconfig on console mode, first stop NetworkingManager and NetworkingManagerDispatcher services, and it will work.
* Installing grub on olpc is possible : see http://grub.enbug.org/OLPC

== Notes ==
* Big problem with man pages, there are all squizzed... Same with doc. Investigations on the process, before filling a track. The system is globally not self-documented, which is an issue when talking about education.
* Learn to use /dev/shm (tmpfs) to minimize access on the flash card (they might last longer)
* Problem with X11 fonts (we cannot add more fonts)

== Currently working on ==
* Power the olpc XO with the couple battery/solar panel
* Accurate measurements of the power consumption
* Robotic modules for the XO
* VGA output for the XO (useful for demonstrating the XO by itself and for pedagogical purpose)
* Bluetooth connection
* Debian-olpc




[[Category:User fr]] [[Category:User en]]
[[Category:User fr]] [[Category:User en]]

Latest revision as of 23:03, 22 December 2009

Public domain This file has been released into the public domain by its copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.


Notes on the XO B4-10

Initial build 406.14

  • B4-10
  • Linux-2.6.21-20070614
  • Firmware : PQ2C18
  • Build : 406.14 variant devel jffs2

First impressions

Opening the XO is puzzling :-) I would say that the first pedagogical activity of the XO is opening it... You have to understand and to watch carefully the XO. The XO is cute, a beautiful object - the keyboard - a waterproof one - is not as responsive as standard keyboard. Need to train before typing quickly. The space bar does not respond well.

The wiki is a jungle... Informations are scattered in a lot of place, not really up-to-date, and informations for B1,B2,B3,B4 are mixed, so it is difficult to focus on your version hardware.

With this build, close an application is not intuitive. Corrected on next build. I suggest anyone to first upgrade both the firmware and the build image. For instance, the first time I tried the XO, I thought that there was a problem with the battery... Because the battery discharged very quickly. In fact, the problem was that this firmware does not control the battery charging very well.

Build upgrade 542

Following the auto installation wiki page, I did this upgrade

  • Linux-2.6.22-20070801
  • Q2C26
  • build 542

I come to this problem, called the "XO Activation error"... In the wiki auto installation, I miss this part, which was important : reboot and push in the same time the 'check' and 'X' button (from the gamepad). Then the problem was gone

The battery seems to last around two hours... there is still a problem, the indication are not accurate in the sugar interface.

I realized that there is a problem with NAND flash, few bad blocks, and sometimes got a CRC error...

No sound for TamTam, but there is sound with the XO, I tried mplayer which plays fine ogg files (tryad on jamendo.com - Public Domain :-)

I tested the "Watch & Listen", too few possibilities concerning the video format. Wondering if I can use mplayer as a backend for "Watch & Listen" - mplayer supports a lot of files, and works well on the XO.

I've got a very weird problem with my home access point (Inventel www.porciello.com/inventel/astuces.htm) The XO cannot connect to this ap out of the box. There is a functionnality called "association mode", a kind of mac filtering. When you push a button on the ap, filtering is disactivate and all wireless computer can connect to the ap. Their MAC address are stored into the ap memory, and when the "association mode" is over, new wireless computer cannot connect anymore. I tested the XO to other APs, and there is no problem... But with this ap, it can connect during the "association mode", and when I reboot the XO, it cannot connect anymore although I can see that the MAC address is registred into the APs. My first hypothesis was that there was a problem with the ipv6 module, but it wasn't that. Now I would try to disactivate the mesh functionnality, to test if the problem come there.

Build 649

  • Linux 2.6.22-20071121
  • Firmware Q2D05
  • Build 649
  • driver libertas - COM-USB8388-322.p1.dbg - firmware 5.110.20.p42 (with ethtool -i eth0)

Still a problem with the Inventel AP - maybe "wrong MAC address" problem ? (ticket 4637) - problem mysteriously gone ...

Build Joyride

bleeding edge is http://xs-dev.laptop.org/~cscott/olpc/streams/joyride/latest/devel_jffs2/

Mysterious Update to Build 656

This night, starting the XO with an update I didn't ask for ! Throw all the software I've installed before, lot of work gone away. I remember to let the xo with Sugar open into a room with an open wireless access, so I guess that the system has been automatically updated during this period. Even if I understand why it was configured like this (children are supposed to not customize their XO with their own rpm package ?), next time I'll try to figure out how to disactivate this annoying feature when you are developer. Fortunately my home directory is intact. Probably the olpc-update-query is involved in this mysterious update, so I'll try to figure out how to disable this feature.

  • Linux 2.6.22-20071231
  • Firmware Q2D05

Back to 656

  • Linux 2.6.22-20070927
  • Firmware Q2D16

After some hazardous manipulation on my system (tried to wipe out the 656 tree and to keep the joyride one), it ended to be a mess and nothing worked anymore. So I made a clean install of the 656 (see tips and tricks below), and update to debian-big. In that way, I can get a working debian installation. Maybe I would be able to fix the crazy mouse problem I have when I try to install a debian by myself from scratch...

OLPC initiative in questions

Here as some piece of thoughts about the olpc initiative.

                                                                                                                                                                         
My post is all about technology openness and design. I say that the OLPC                                                                                                 
laptop was not design to be a bridge between old and new technology. This                                                                                                
is a design choice I disagree with. A technology, especially when                                                                                                        
the design is done with an educational perspective, must be open,                                                                                                        
and reasonable backward compatible with old tech. So the current                                                                                                         
OLPC laptop is closed in regards of old technology. These old hardware                                                                                                   
exist in various quantities, depending the level tech of the country :                                                                                                   
from none to plenty. An open design is a design which does not make                                                                                                      
hypothesis or theory on the interest of reusing or not. An open design                                                                                                   
open possibilities, and that's all. Reusing is a possibility which must                                                                                                  
be opened.                                                                                                                                                               
                                                                                                                                                                         
The olpc laptop was designed without taking into account the old tech                                                                                                    
reusing possibility : this is a fact and a choice of the designers. We                                                                                                   
can have a lot of theory about "why poor people does not need to reuse                                                                                                   
old technology with this newest one". But this is a prejudice on how                                                                                                     
people should use technology, and prejudice is closeness.                                                                                                                
                                                                                                                                                                         
Open technology means also putting into the public domain all the PCB                                                                                                    
design, put everything related to the OLPC laptop hardware into the public                                                                                               
domain. So that everybody can gain knowledge about it, and enhance it. In                                                                                                
fact, the essence of the OLPC laptop is not in the current hardware,                                                                                                     
but in a way to build an energy saving efficient laptop. The current                                                                                                     
hardware is the "compiled" form of the way to build it, which is the                                                                                                     
"source". If the initiators are interested in openness, education and                                                                                                    
freedom, the "source" will be put into the public domain and compiled                                                                                                    
by maybe major industrial manufacturers.                                                                                                                                 
                                                                                                                                                                         
I think that there is also another major and deeper design problem                                                                                                       
into the OLPC initiative. The way to spread the hardware is not the                                                                                                      
right one, to my sense. Too much people between the people who give                                                                                                      
and the children. There is a lot of corruption into the government,                                                                                                      
even the developed one. The hypothesis is that everything will be ok
with governments, but let's face the fact. Just study the problem the                                                                                                    
ONG have when they try to send food to poor countries. The 100$ Laptop                                                                                                   
may sound cheap for rich countries, but 100$ is a lot of money into                                                                                                      
poor countries. Inevitably, it will imply a parallel market to sell the                                                                                                  
offered laptops. You can try to avoid it, but this is a lost of energy :                                                                                                 
trying to avoid the unavoidable. When you are hungry or want money,                                                                                                      
an OLPC laptop is not a fun computer anymore, but a way to survive 3 to                                                                                                  
6 months. A relevant approach in my view is to weave an international                                                                                                    
educational network in cooperation with all the ong working locally. Ong                                                                                                 
know locally what is going on, we know each child to which we are giving                                                                                                 
a laptop or a computer. An ong is a non profit organization. A government                                                                                                
is a profit organization : the profit can be for instance to be elected                                                                                                  
the next time. So it introduces a bias into the hardware distribution.                                                                                                   
                                                                                                                                                                         
So to my sense, and as a person deeply interested in such an                                                                                                             
educational process, rethinking the whole design must necessary take                                                                                                     
into account :                                                                                                                                                           
- openness design                                                                                                                                                        
- old tech backward compatible                                                                                                                                           
- put the source onto the public domain                                                                                                                                  
- don't spend energy to avoid theft, this is an human mechanism,                                                                                                         
  workaround will be find by stealers if you try to control it                                                                                                           
- give the possibility to industrials to build the laptop by                                                                                                             
  themselves, it will lower the cost                                                                                                                                     
- work to build an international ong network, working locally is                                                                                                         
  efficient, broadcasting the hardware is a blind way to work                                                                                                            
etc...                                                                                                                                                                   
                                                                                                                                                                         
So I know that there is a lot of pressure onto the initiative, but                                                                                                       
consider that when acting under pressure, this is not an efficient action                                                                                                
at all, just a reaction. Don't take what I'm saying as an attack, but                                                                                                    
only as some remarks by a person deeply interested by the initiative.                                                                                                    
                                                                                                                                                                         
Samir                                                        


USB2VGA

I've received an usbvga dongle kindly offered from an olpc dev guy (Thanks Josh !). The unit works fine with XP. This unit is from MCT, the UVT-100 (see http://www.esysmall.com/detail_prod.asp?prod_Id=5544 ) one. Seems to be the cheaper one, I dismantled it but unfortunately the graphic chipset is just behind a cooling component, so I can't read what kind of chipset is used. But thanks to Johnathan, I get a piece of code to start with.

More on the USB2VGA UVT-100 dev page

Debian-OLPC

Here are some hints to install a debian on an SD card for the XO.

  • Bootstrap : cfdisk /dev/mmcblk0 and create a new partition. Then mkfs.ext2 it. The ext2 fs seems to be appropriate since the wear leveling is not an issue for an SD-card (as far as I understand). Mount it on /mnt with the dev options - mount -o dev ... - necessary to avoid a /dev/null error. Then the command line to install a lenny (testing release) is :
 debootstrap --include=udev,wireless-tools lenny /mnt http://http.us.debian.org/debian/

At the end, you should have a minimal debian distribution (around 200M), but without kernel nor modules.

  • Chroot : to chroot correctly, you have to add this option on the fstab of your host system
echo "proc /mnt/proc proc none 0 0" >> /etc/fstab

Then mount /mnt/proc and chroot /mnt /bin/bash and add the olpc user :

# addgroup --gid 500 olpc
# adduser --uid 500 --gid 500 olpc
passwd -d olpc # delete the olpc password

(export LC_ALL=C if you are in a non-english system, to avoid perl errors)

So you can now apt-get install packages.

  • Kernel - at this stage, you can compile your own kernel, copy it from an OLPC image or apt-get it. To test quickly our install, I recommend the third one as a quick start.
cd /tmp
wget  http://queued.mit.edu/~dilinger/builds-master/linux-image-2.6.22_20080124.olpc.c2fb2ff45da8412_i386.deb
dpkg -i lin<TAB>

You can verify that the kernel and modules are installed in /boot and /lib/modules/2.6.22

Put on the fstab :

/dev/mmcblk0p1   /                       ext2    defaults,noatime 1 1
devpts                  /dev/pts                devpts  gid=5,mode=620    0 0
tmpfs                   /dev/shm                tmpfs   defaults,size=15% 0 0
proc                    /proc                   proc    defaults          0 0
sysfs                   /sys                    sysfs   defaults          0 0


Unmount /mnt/proc and /mnt


  • Boot : Plug the SD-card on the XO, boot the XO and ESC.

type :

setenv boot-file ro root=/dev/mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0
boot sd:\vmlinuz

I've tested a lot of kernel options (what is append to boot-file), and this one seems to be minimal. You can append too fbcon=font:SUN12x22 for more readability. So then you can log as root or olpc and see if your system is booting correctly.

  • Adapt : we have to adapt now the debian to our XO system. You can do that either from you XO system or from your host system by chrooting on the SD card as stated before. (besides setting hostname, better to do that from your XO system)

As root mkdir -p {/ofw,/versions,/security,/var/cache/apt/cache,/selinux} replace /etc/hostname with xo or whatever you want.

wget http://dev.laptop.org/pub/firmware/libertas/usb8388-5.110.22.p8.bin (libertas wifi firmware) and put it in /lib/firmware under the name "usb8388.bin"

In /boot, insert olpc.fth with the following contents :

\ Boot script for SD Boot
" ro root=/dev/mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
boot sd:\vmlinuz

At this stage, Xo should boot directly on the SD-card, and wifi should work.

  • Custom : This is my personal customization. A system with useful command line packages (a kind of TTYLinux distrib - TODO). Monitoring, minimal footprints...
TTYLinux:
Mail/News:
 ssmtp mutt slrn
mime-support
Web:
lynx  links2
IM:
weechat-curses bitlbee
Pager:
less most (colorized pager)
Tools:
screen wcalc mc ppp pppconfig vim psmisc (include pstree)
System:
pciutils usbutils
Monitoring:
htop
Security:
openvpn ssh sudo
Multimedia:
mplayer w32codecs moc aumix
i18n:
locales console-tools console-data console-common
Laptop-specific:
anacron
Misc: 


MinimalXLinux (minimal footprint)
rxvt-unicode-lite awesome qiv xpdf
For the XO:
xserver-xorg-video-geode dbus
xfonts-base xfonts-100dpi xfonts-scalable
xbase-clients

Replace "amd" Driver section, with "geode"

sources.list (in France)

deb http://ftp.fr.debian.org/debian testing main contrib non-free
deb http://www.debian-multimedia.org testing main

Then apt-get update Don't let the machine think for you : create /etc/apt/apt.conf.d/02pref with

APT::Install-Recommends "N";
APT::Install-Suggests "N";
  • X server: apt-get install xserver-xorg-video-geode

for i in plugdev audio video ; do adduser olpc $i ; done

  • Hints : if you want to pick some files from an XO image, you have to use losetup and /dev/loop
 losetup -o 31744 /dev/loop0 xo.img
mount -o loop /dev/loop0 /floppy

The number 31744 is determined by fdisk -lu xo.img and by multiplying the start sector by 512 bytes (in my case, Start is 62).

  • Note:
    • I get some problems to make the mouse working under X server, so I updated lenny to sid.

Tips and Tricks

  • SD-card and jffs2 : jffs2 is the more accurate filesystem to use with this kind of flash memory, but currently need the blkmtd kernel module to be able to mount the SD-card, if the card is formatted it with jffs2.

But jffs2 seems ok only for small drive

  • Clean installation : I messed up my system a little while by experimenting some configurations, so to wipe out all the junk stuff and for a clean reinstallation, there is a wiki page : http://wiki.laptop.org/go/Secure_reflash
  • Wifi on console mode : to use iwconfig on console mode, first stop NetworkingManager and NetworkingManagerDispatcher services, and it will work.
  • Installing grub on olpc is possible : see http://grub.enbug.org/OLPC

Notes

  • Big problem with man pages, there are all squizzed... Same with doc. Investigations on the process, before filling a track. The system is globally not self-documented, which is an issue when talking about education.
  • Learn to use /dev/shm (tmpfs) to minimize access on the flash card (they might last longer)
  • Problem with X11 fonts (we cannot add more fonts)

Currently working on

  • Power the olpc XO with the couple battery/solar panel
  • Accurate measurements of the power consumption
  • Robotic modules for the XO
  • VGA output for the XO (useful for demonstrating the XO by itself and for pedagogical purpose)
  • Bluetooth connection
  • Debian-olpc