Python Megawidgets

2008-01-01 Thread starsu


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Python Megawidgets on XO

2008-01-01 Thread starsu
Dear all,

Can you kindly let me know how to install Python Mega Widgets on XO?

Thanks a lot in advance,

Sung-Hyuck

p.s. Please ignore the previous empty e-mail. Sorry for that.

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Quantum cryptography on the xo laptop (24C3)

2008-01-01 Thread Chris Hager
Hey folks, crazy news:

On Saturday 29.12.07, there was a successful 'entanglement based quantum 
key distribution' between two xo-laptops!!

QKD is a quantum-cryptographic scheme to securely distribute correlated 
random numbers between the communicating parties.

At the 24C3, we (sj and aaron, chris, tano from olpc-austria) met people 
from the National University of Singapore, which brought the hardware of 
a full working kit for entanglement based QKD over a free space channel. 
They got interested on the xo, started playing with 2 of the laptops, 
and finally had success exchangig the keys between two xo laptops.

Read more here (with pics): 
http://www.olpcaustria.org/mediawiki/index.php/Quantum_Cryptography


All the best 2008!
- Chris

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: iwpriv (Was: OLPC News 2007-12-30)

2008-01-01 Thread David Woodhouse

On Mon, 2007-12-31 at 18:10 +, David Woodhouse wrote:
  An interesting goal would be cleaning up CONFIG_OLPC so that
  it could be enabled in stock kernels of standard Linux distros.
 
 I actually see that as a prerequisite for getting the thing upstream.
 And the first step along that path is to stop making it worse.

Let's see if we can repeat history. If experience with the libertas
driver is anything to go by, I predict that by starting to look at the
problem, I will provoke others into a generating a storm of conflicting
patches by attempting to do the same thing themselves¹.

So here's an untested patch to make the reboot fixups slightly more
generic, so that we can easily add our own 'fixup' for the XO in a
fashion which will actually be mergeable upstream.

Untested-but-otherwise-Signed-Off-By: David Woodhouse [EMAIL PROTECTED]

diff --git a/arch/x86/kernel/reboot_32.c b/arch/x86/kernel/reboot_32.c
index bb1a0f8..dedb1d8 100644
--- a/arch/x86/kernel/reboot_32.c
+++ b/arch/x86/kernel/reboot_32.c
@@ -332,9 +332,7 @@ static void native_machine_shutdown(void)
 #endif
 }
 
-void __attribute__((weak)) mach_reboot_fixups(void)
-{
-}
+void (*mach_reboot_fixup)(void);
 
 static void native_machine_emergency_restart(void)
 {
@@ -347,7 +345,8 @@ static void native_machine_emergency_restart(void)
/* rebooting needs to touch the page at absolute addr 0 */
*((unsigned short *)__va(0x472)) = reboot_mode;
for (;;) {
-   mach_reboot_fixups(); /* for board specific fixups */
+   if (mach_reboot_fixup)
+   mach_reboot_fixup();
mach_reboot();
/* That didn't work - force a triple fault.. */
load_idt(no_idt);
diff --git a/arch/x86/kernel/reboot_fixups_32.c 
b/arch/x86/kernel/reboot_fixups_32.c
index f452726..d9607a7 100644
--- a/arch/x86/kernel/reboot_fixups_32.c
+++ b/arch/x86/kernel/reboot_fixups_32.c
@@ -14,16 +14,18 @@
 #include asm/msr.h
 #include asm/geode.h
 
-static void cs5530a_warm_reset(struct pci_dev *dev)
+static pci_dev *cs5530a_pci_dev;
+
+static void cs5530a_warm_reset(void)
 {
/* writing 1 to the reset control register, 0x44 causes the
cs5530a to perform a system warm reset */
-   pci_write_config_byte(dev, 0x44, 0x1);
+   pci_write_config_byte(cs5530_pci_dev, 0x44, 0x1);
udelay(50); /* shouldn't get here but be safe and spin-a-while */
return;
 }
 
-static void cs5536_warm_reset(struct pci_dev *dev)
+static void cs5536_warm_reset(void)
 {
/* writing 1 to the LSB of this MSR causes a hard reset */
wrmsrl(MSR_DIVIL_SOFT_RESET, 1ULL);
@@ -48,24 +50,23 @@ static struct device_fixup fixups_table[] = {
  * do return, we keep looking and then eventually fall back to the
  * standard mach_reboot on return.
  */
-void mach_reboot_fixups(void)
+int mach_reboot_fixup_setup(void)
 {
struct device_fixup *cur;
struct pci_dev *dev;
int i;
 
-   /* we can be called from sysrq-B code. In such a case it is
-* prohibited to dig PCI */
-   if (in_interrupt())
-   return;
-
for (i=0; i  ARRAY_SIZE(fixups_table); i++) {
cur = (fixups_table[i]);
dev = pci_get_device(cur-vendor, cur-device, NULL);
if (!dev)
continue;
 
-   cur-reboot_fixup(dev);
+   cs5530a_pci_dev = dev;
+   mach_reboot_fixup = cur-reboot_fixup;
}
+   return 0;
 }
 
+subsys_initcall(mach_reboot_fixup_setup);
+
diff --git a/include/asm-x86/reboot_fixups.h b/include/asm-x86/reboot_fixups.h
index 0cb7d87..4f79001 100644
--- a/include/asm-x86/reboot_fixups.h
+++ b/include/asm-x86/reboot_fixups.h
@@ -1,6 +1,6 @@
 #ifndef _LINUX_REBOOT_FIXUPS_H
 #define _LINUX_REBOOT_FIXUPS_H
 
-extern void mach_reboot_fixups(void);
+extern void (*mach_reboot_fixup)(void);
 
 #endif /* _LINUX_REBOOT_FIXUPS_H */

-- 
dwmw2

¹ Only this time I don't actually plan to follow through; I'm relying on
the interference 

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


[Tele]Health Update

2008-01-01 Thread Ian Daniher
There has, in the past few months, been a surge of interest in health and
telehealth applications for the XO.
My own efforts have been focused on telehealth hardware and software
intended for use in scenarios where medical facilities are available but man
hours to manually screen individuals is not. This is a scenario faced in
many large third-world cities in addition to refuge camps.
Codyl and Dirakx have been assisting; Codyl handling the micro-controller
part, Dirakx working with a Columbian team to develop an EKG.

I have designed a Pulse Oximeter based heavily on a communications
photodiode instrumentation amplifier. I have started prototyping over
Christmas break.

I am working with Dirakx and Dr. Dhurjaty to design and prototype an EKG
unit providing valuable diagnostic information about Arrythmia.

Both of these devices will also provide valuable pedagogical resources.


I have designed a server-client infrastructure of the following form for the
THPM activity(telehealth parameterized activity):
A GTK+/PyGTK based gui feeds information into a program which creates an XML
document via PXTL XML templating.
This XML file is uploaded to a server running an httpd and ftpd using the
ftplib python module, along with images in a .jpg format and waveforms in a
.wav format.
The program creates a folder on the server of the following form
/www
/username
/time
/health.xml
/image_of_affected_bodypart1.jpg
/image_of_affected_bodypart2.jpg
/pulseox.wav
/stethescope_and_audio.wav
/ekg.wav
/health.css

From this structure, a doctor can access a webpage from the url format:
http://server/username/time/health.xml
The XML file will be rendered by a CSS file in the root web directory.


The THM(TeleHealth Module) activity will use code similar to the measure
code to record and then display waveforms inputted via a USB Analog to
Digital Converter.


In addition to all this, there has been a movement to convert the .pdf
Hesperian foundation work *Where There is No Doctor* into [x]html. Pascals
has been heading up this work.


Anyone interested in contributing, feel free to contact me via any of the
below means.
Many thanks,

-- 
Ian Daniher
[EMAIL PROTECTED]
Skype : it.daniher
irc.freenode.com: DyDisMe
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: iwpriv (Was: OLPC News 2007-12-30)

2008-01-01 Thread Bernardo Innocenti
David Woodhouse wrote:


 So here's an untested patch to make the reboot fixups slightly more
 generic, so that we can easily add our own 'fixup' for the XO in a
 fashion which will actually be mergeable upstream.

It would be slightly nicer and generic if we had

 void (*mach_reboot_fixup)(void *arg);
 void *mach_reboot_fixup_arg;

rather than the cs5530a_pci_dev global.

But anyway,

 Untested-but-otherwise-Signed-Off-By: David Woodhouse [EMAIL PROTECTED]
Untested-but-otherwise-Acked-By: Bernardo Innocenti [EMAIL PROTECTED]

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Kernel configuration options

2008-01-01 Thread John Richard Moser
I'm not sure about some of the kernel configuration options.  A few 
minor things stick out in my mind; I don't know the rationale behind 
some of these things and am curious about developer decisions and 
thoughts on how to build the kernel.

  * CONFIG_NO_HZ + CONFIG_HZ=100?
  * SLAB vs SLUB
  * Some debugging stuff
  * More debugging stuff
  * Building stuff as modules

First off I noticed CONFIG_NO_HZ=y and CONFIG_HZ=100; is this a quirk of 
the kernel's general configuration?  As I understand, these options 
should be mutually exclusive because CONFIG_HZ is a parameter of a 
scheduler using a different methodology than CONFIG_NO_HZ...

Another thing is I noticed CONFIG_SLAB=y, but the SLUB allocator is 
supposed to be a faster generic replacement for SLAB.[1]  Is there a 
reason the XO doesn't use it?

I'm also noticing some things like KALLSYMS and BUG(), BSD process 
accounting, and the like.  KALLSYMS, BUG(), and printk() are useful; on 
a true embedded device I'd say remove 'em but I can't justify it here... 
BSD process accounting and auditd support though?

In the same line, a lot of debugging options are in use.  I'm using 
Build 653, I guess it may be a developer's build and thus there's a lot 
of debugging stuff; but in the final should things like CONFIG_PROFILING 
, CONFIG_KPROBES, CONFIG_DEBUG_FS, CONFIG_UNUSED_SYMBOLS, 
CONFIG_SCHEDSTATS, CONFIG_TIMER_STATS, CONFIG_DEBUG_PREEMPT, 
CONFIG_DEBUG_SPINLOCK ... be removed?

Finally, I'm noticing a lot of stuff can be built as modules, but is 
built in.  Networking in its entirety; sound drivers; mouse; and USB 
(the mouse looks like it's PS2) can be loaded by HAL and UDEV, but this 
will increase boot time (then again, HAL apparently needs to be fixed 
anyway[2], so this could be encouraging?).  More interesting to me 
however is that EXT2, EXT3, Joliet, ZISOFS, RAMFS, NFS, and possibly 
PROMFS because I don't think JFFS2 depends on it BUT I'm not sure if 
it's used at some point before it can be loaded as a module.

[1] http://lwn.net/Articles/229984/
[2] http://lwn.net/Articles/192214/
-- 
Bring back the Firefox plushy!
http://digg.com/linux_unix/Is_the_Firefox_plush_gone_for_good
https://bugzilla.mozilla.org/show_bug.cgi?id=322367
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Jonathan Corbet
I can't speak for the OLPC kernel folks, but here's a few thoughts:

 First off I noticed CONFIG_NO_HZ=y and CONFIG_HZ=100; is this a quirk of 
 the kernel's general configuration?  As I understand, these options 
 should be mutually exclusive because CONFIG_HZ is a parameter of a 
 scheduler using a different methodology than CONFIG_NO_HZ...

In the current dyntick scheme the regular clock interrupt still happens
when the processor is busy - it's only disabled when things go idle.  So
you still need to set HZ to something.  It also sets the resolution of
much of the timekeeping within the kernel.

 Another thing is I noticed CONFIG_SLAB=y, but the SLUB allocator is 
 supposed to be a faster generic replacement for SLAB.[1]  Is there a 
 reason the XO doesn't use it?

I don't know why that decision was made, but SLUB is still new and still
getting a few things shaken out of it.  Using slab for the
currently-shipped system makes sense to me.

jon
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: qemu and the file system and development

2008-01-01 Thread Bernardo Innocenti
Steve Lewis wrote:
 I have gotten sugar running under windows with QEMU -
 no I have lots of questions
 1) If I make changes in the emulated system are those changes remembered
 between runs?

Yes.

 2) Can I have the emulator point at a part of the windows file system -
 allowing my tools to work
 on data to be used by the system

Easiest way is using samba.  If you were using Linux as a
host, I'd recommend nfs (fast) or sshfs (easier to setup).

If you manage to get Samba to work on the laptop, please
add a wiki page describing the procedure you followed.


 3) How do I move changes I made on the XO to the emultator
 4) How can I move changes I make in the emulator to the XO

scp and sftp are the easiest way.  On windows, try the
putty suite of ssh programs.


 Is there a way to hook an external ide to the image running in QEMU

Just share the source (and binary) directory with any
network filesystem.

You can debug C application remotely with gdbserver.
Python has its own debugger.

For development, I usually just ssh into the laptop as
root from my desktop, so I have fast scrolling,
cut  paste, etc.

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread M. Edward (Ed) Borasky
John Richard Moser wrote:
 I'm also noticing some things like KALLSYMS and BUG(), BSD process 
 accounting, and the like.  KALLSYMS, BUG(), and printk() are useful; on 
 a true embedded device I'd say remove 'em but I can't justify it here... 
 BSD process accounting and auditd support though?

Yeah ... I run stuff like that in *my* kernels, but I'm a kernel geek.
Does that stuff need to be in a machine in a village school in Rwanda?

P.S.: I do know a Red Hat geek in Nigeria. :)

 
 In the same line, a lot of debugging options are in use.  I'm using 
 Build 653, I guess it may be a developer's build and thus there's a lot 
 of debugging stuff; but in the final should things like CONFIG_PROFILING 
 , CONFIG_KPROBES, CONFIG_DEBUG_FS, CONFIG_UNUSED_SYMBOLS, 
 CONFIG_SCHEDSTATS, CONFIG_TIMER_STATS, CONFIG_DEBUG_PREEMPT, 
 CONFIG_DEBUG_SPINLOCK ... be removed?

I think I agree with you here with the possible exception of
CONFIG_PROFILING aka oprofile support.

 
 Finally, I'm noticing a lot of stuff can be built as modules, but is 
 built in.  Networking in its entirety; sound drivers; mouse; and USB 
 (the mouse looks like it's PS2) can be loaded by HAL and UDEV, but this 
 will increase boot time (then again, HAL apparently needs to be fixed 
 anyway[2], so this could be encouraging?).  More interesting to me 
 however is that EXT2, EXT3, Joliet, ZISOFS, RAMFS, NFS, and possibly 
 PROMFS because I don't think JFFS2 depends on it BUT I'm not sure if 
 it's used at some point before it can be loaded as a module.

I'd keep as much as possible that's XO-specific and *always* going to be
loaded built in. You're always going to need sound, mouse and keyboard,
wireless and video, and I'd keep the core USB stuff built in as well,
since that's really the only way to talk to the machine besides
wireless. But the rest of it should be built as modules.

The filesystems should be there (as modules). The XO is going to be
talking to school servers, and there's no point in ruling out NFS,
Samba, plugging in an external USB DVD reader/writer, etc. Again, the
question is, would a village in Rwanda format a USB stick ext3? :)
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Tele]Health Update

2008-01-01 Thread Edward Cherlin
On Jan 1, 2008 9:36 AM, Ian Daniher [EMAIL PROTECTED] wrote:
 There has, in the past few months, been a surge of interest in health and
 telehealth applications for the XO.

Glad to hear it. I have been talking up the idea for several years but
evidently not to the right people. %-[

There is a telemedicine kit from India for about $200, and there are
other possibilities. I have been encouraged by developments in blood
chemistry measurements that do not require a needle stick. The first
such product is likely to be a diabetic blood sugar meter, but the
process applies to any small molecule with a distinctive spectrum.

I also have friends in the medical software business. There is a Free
Software implementation of the M language and the entire US Veterans
Administration/DoD hospital software system for medical records,
administration, pharmacy, and much more.

 My own efforts have been focused on telehealth hardware and software
 intended for use in scenarios where medical facilities are available but man
 hours to manually screen individuals is not. This is a scenario faced in
 many large third-world cities in addition to refuge camps.
 Codyl and Dirakx have been assisting; Codyl handling the micro-controller
 part, Dirakx working with a Columbian team to develop an EKG.

 I have designed a Pulse Oximeter based heavily on a communications
 photodiode instrumentation amplifier. I have started prototyping over
 Christmas break.

 I am working with Dirakx and Dr. Dhurjaty to design and prototype an EKG
 unit providing valuable diagnostic information about Arrythmia.

 Both of these devices will also provide valuable pedagogical resources.


 I have designed a server-client infrastructure of the following form for the
 THPM activity(telehealth parameterized activity):
 A GTK+/PyGTK based gui feeds information into a program which creates an XML
 document via PXTL XML templating.
 This XML file is uploaded to a server running an httpd and ftpd using the
 ftplib python module, along with images in a .jpg format and waveforms in a
 .wav format.
 The program creates a folder on the server of the following form
 /www
 /username
 /time
 /health.xml
 /image_of_affected_bodypart1.jpg
 /image_of_affected_bodypart2.jpg
 /pulseox.wav
 /stethescope_and_audio.wav
 /ekg.wav
 /health.css

 From this structure, a doctor can access a webpage from the url format:
 http://server/username/time/health.xml
 The XML file will be rendered by a CSS file in the root web directory.


 The THM(TeleHealth Module) activity will use code similar to the measure
 code to record and then display waveforms inputted via a USB Analog to
 Digital Converter.


 In addition to all this, there has been a movement to convert the .pdf
 Hesperian foundation work Where There is No Doctor into [x]html. Pascals has
 been heading up this work.


 Anyone interested in contributing, feel free to contact me via any of the
 below means.
 Many thanks,

 --
 Ian Daniher
 [EMAIL PROTECTED]
 Skype : it.daniher
 irc.freenode.com: DyDisMe
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

-- 
Edward Cherlin
Earth Treasury: End Poverty at a Profit
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Peripherals] [Tele]Health Update

2008-01-01 Thread Rafael Enrique Ortiz Guerrero
Hi all,

As Ian said i'm working  in a  EKG prototype  with the assistance of  a
professor and alumni of my uni,
The process has been stoped due to intersemestral vacations but we have a
working prototype, although we still need a lot of improvements.

So i guess in two weeks or so we will continue with the development.

I hope soon, i can upload the footprint of the prototype, and all the
related info.

Cheers!

On Jan 1, 2008 12:36 PM, Ian Daniher [EMAIL PROTECTED] wrote:

 There has, in the past few months, been a surge of interest in health and
 telehealth applications for the XO.
 My own efforts have been focused on telehealth hardware and software
 intended for use in scenarios where medical facilities are available but man
 hours to manually screen individuals is not. This is a scenario faced in
 many large third-world cities in addition to refuge camps.
 Codyl and Dirakx have been assisting; Codyl handling the micro-controller
 part, Dirakx working with a Columbian team to develop an EKG.

 I have designed a Pulse Oximeter based heavily on a communications
 photodiode instrumentation amplifier. I have started prototyping over
 Christmas break.

 I am working with Dirakx and Dr. Dhurjaty to design and prototype an EKG
 unit providing valuable diagnostic information about Arrythmia.

 Both of these devices will also provide valuable pedagogical resources.


 I have designed a server-client infrastructure of the following form for
 the THPM activity(telehealth parameterized activity):
 A GTK+/PyGTK based gui feeds information into a program which creates an
 XML document via PXTL XML templating.
 This XML file is uploaded to a server running an httpd and ftpd using the
 ftplib python module, along with images in a .jpg format and waveforms in a
 .wav format.
 The program creates a folder on the server of the following form
 /www
 /username
 /time
 /health.xml
 /image_of_affected_bodypart1.jpg
 /image_of_affected_bodypart2.jpg
 /pulseox.wav
 /stethescope_and_audio.wav
 /ekg.wav
 /health.css

 From this structure, a doctor can access a webpage from the url format:
 http://server/username/time/health.xml
 The XML file will be rendered by a CSS file in the root web directory.


 The THM(TeleHealth Module) activity will use code similar to the measure
 code to record and then display waveforms inputted via a USB Analog to
 Digital Converter.


 In addition to all this, there has been a movement to convert the .pdf
 Hesperian foundation work *Where There is No Doctor* into [x]html. Pascals
 has been heading up this work.


 Anyone interested in contributing, feel free to contact me via any of the
 below means.
 Many thanks,

 --
 Ian Daniher
 [EMAIL PROTECTED]
 Skype : it.daniher
 irc.freenode.com: DyDisMe
 ___
 Peripherals mailing list
 [EMAIL PROTECTED]
 http://lists.laptop.org/listinfo/peripherals




-- 
Rafael Enrique Ortiz Guerrero
One Laptop Per Child
[EMAIL PROTECTED]
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Peripherals] [Tele]Health Update

2008-01-01 Thread Ian Daniher
Hi all,
Just an update: Pascals has an 'alpha' version of Hesperian WTND Chapter one
up online here http://pascal.scheffers.net/Outputs/chapter%201.html. This
is to be compared to the PDF version
herehttp://www.hesperian.org/assets/wtnd/WTND_Chapter_1_pdf.php
.
Best wishes,
Ian

On Jan 1, 2008 4:18 PM, Rafael Enrique Ortiz Guerrero [EMAIL PROTECTED]
wrote:

 Hi all,

 As Ian said i'm working  in a  EKG prototype  with the assistance of  a
 professor and alumni of my uni,
 The process has been stoped due to intersemestral vacations but we have a
 working prototype, although we still need a lot of improvements.

 So i guess in two weeks or so we will continue with the development.

 I hope soon, i can upload the footprint of the prototype, and all the
 related info.

 Cheers!

 On Jan 1, 2008 12:36 PM, Ian Daniher  [EMAIL PROTECTED] wrote:

  There has, in the past few months, been a surge of interest in health
  and telehealth applications for the XO.
  My own efforts have been focused on telehealth hardware and software
  intended for use in scenarios where medical facilities are available but man
  hours to manually screen individuals is not. This is a scenario faced in
  many large third-world cities in addition to refuge camps.
  Codyl and Dirakx have been assisting; Codyl handling the
  micro-controller part, Dirakx working with a Columbian team to develop an
  EKG.
 
  I have designed a Pulse Oximeter based heavily on a communications
  photodiode instrumentation amplifier. I have started prototyping over
  Christmas break.
 
  I am working with Dirakx and Dr. Dhurjaty to design and prototype an EKG
  unit providing valuable diagnostic information about Arrythmia.
 
  Both of these devices will also provide valuable pedagogical resources.
 
 
  I have designed a server-client infrastructure of the following form for
  the THPM activity(telehealth parameterized activity):
  A GTK+/PyGTK based gui feeds information into a program which creates an
  XML document via PXTL XML templating.
  This XML file is uploaded to a server running an httpd and ftpd using
  the ftplib python module, along with images in a .jpg format and waveforms
  in a .wav format.
  The program creates a folder on the server of the following form
  /www
  /username
  /time
  /health.xml
  /image_of_affected_bodypart1.jpg
  /image_of_affected_bodypart2.jpg
  /pulseox.wav
  /stethescope_and_audio.wav
  /ekg.wav
  /health.css
 
  From this structure, a doctor can access a webpage from the url format:
  http://server/username/time/health.xml
  The XML file will be rendered by a CSS file in the root web directory.
 
 
  The THM(TeleHealth Module) activity will use code similar to the measure
  code to record and then display waveforms inputted via a USB Analog to
  Digital Converter.
 
 
  In addition to all this, there has been a movement to convert the .pdf
  Hesperian foundation work *Where There is No Doctor* into [x]html.
  Pascals has been heading up this work.
 
 
  Anyone interested in contributing, feel free to contact me via any of
  the below means.
  Many thanks,
 
  --
  Ian Daniher
  [EMAIL PROTECTED]
  Skype : it.daniher
  irc.freenode.com: DyDisMe
  ___
  Peripherals mailing list
  [EMAIL PROTECTED]
  http://lists.laptop.org/listinfo/peripherals
 
 


 --
 Rafael Enrique Ortiz Guerrero
 One Laptop Per Child
 [EMAIL PROTECTED]




-- 
Ian Daniher
[EMAIL PROTECTED]
Skype : it.daniher
irc.freenode.com: DyDisMe
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Mitch Bradley
 From a security standpoint, there is an advantage to building in 
everything.  The main kernel is verified with a crypto signature before 
it is executed.  Loading a module without first verifying a 
similarly-strong signature weakens the security.

Modules are a good idea for kernels that are intended to run on a wide 
variety of hardware.  I am in favor of treating XO like an appliance and 
making the kernel as monolithic as possible.

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread M. Edward (Ed) Borasky
Mitch Bradley wrote:
  From a security standpoint, there is an advantage to building in 
 everything.  The main kernel is verified with a crypto signature before 
 it is executed.  Loading a module without first verifying a 
 similarly-strong signature weakens the security.
 
 Modules are a good idea for kernels that are intended to run on a wide 
 variety of hardware.  I am in favor of treating XO like an appliance and 
 making the kernel as monolithic as possible.

I'm not familiar with the security stuff in general or this case in
particular. But I think the trend in the Linux community has been
towards more flexibility, moving stuff from kernel space to user space, etc.

Then again, since the *hardware* is soldered onto the mainboard and
can't be easily expanded, why shouldn't the *kernel* be just as
inflexible? ;)

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Devel Digest, Vol 23, Issue 2

2008-01-01 Thread Arjun Sarwal


 There is a telemedicine kit from India for about $200, and there are
 other possibilities. I have been encouraged by developments in blood
 chemistry measurements that do not require a needle stick. The first
 such product is likely to be a diabetic blood sugar meter, but the
 process applies to any small molecule with a distinctive spectrum.

 I also have friends in the medical software business. There is a Free
 Software implementation of the M language and the entire US Veterans
 Administration/DoD hospital software system for medical records,
 administration, pharmacy, and much more.


Glad to hear of these. Any one of these things can be developed/run
around/on the XO ?


thanks
Arjun
-- 
Arjun Sarwal
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates API documentation for everything.

2008-01-01 Thread Edward Cherlin
On Dec 30, 2007 10:20 AM, C. Scott Ananian [EMAIL PROTECTED] wrote:
 I have run the python documentation tool 'epydoc' on the contents of
 the joyride-1477 release.  The results are here:
http://dev.laptop.org/~cscott/joyride-1477-api/

Thanks. I was wishing for that. Can you do the other major builds
also? I am running 653, and I keep hearing about Update.1.

Does anybody know of a documentation tool for Open Firmware, or for
FORTH more generally? Exploring using 'words' and 'see'

 This is probably the most up-to-date documentation available now for
 Sugar, the update and contents tools, rainbow, etc.
 I plan to integrate this into the joyride build process, so that there
 are always current API docs available.

Thank you, thank you. When you can create a URL that will always go to
the latest version, please add it to the Wiki.

 Comments welcome!  And those of you who have not adequately documented
 your code, please do.  Module-level comments in particular are very
 helpful, and often missing.
  --scott

 --
  ( http://cscott.net/ )
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

http://www.documentia.ca/lies.htm
Biggest Lies Heard by Technical Writers
* You should have a fully-functional product in your hands in plenty
of time to complete your document.
* The product's so intuitive, it practically writes the manual itself.
* You won't be thought of as a nuisance by the SME's. They accept that
you're a peer and respect that you have a job to do.
* I'd make that more abstract. We'll make sure you have everything you
need to get the job done.
* As the tech writer at our company, you will have full, unrestricted
access to the devolopment team's time and resources.
etc.
-- 
Edward Cherlin
Earth Treasury: End Poverty at a Profit
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates API documentation for everything.

2008-01-01 Thread Edward Cherlin
Sorry. It got away from me.

On Jan 1, 2008 2:11 PM, Edward Cherlin [EMAIL PROTECTED] wrote:
 On Dec 30, 2007 10:20 AM, C. Scott Ananian [EMAIL PROTECTED] wrote:
  I have run the python documentation tool 'epydoc' on the contents of
  the joyride-1477 release.  The results are here:
 http://dev.laptop.org/~cscott/joyride-1477-api/

 Thanks. I was wishing for that. Can you do the other major builds
 also? I am running 653, and I keep hearing about Update.1.

 Does anybody know of a documentation tool for Open Firmware, or for
 FORTH more generally? Exploring using 'words' and 'see'

is fun up to a point if you're learning FORTH, but really doesn't cut
it for supporting documentation.

And what about Smalltalk/Etoys?

  This is probably the most up-to-date documentation available now for
  Sugar, the update and contents tools, rainbow, etc.
  I plan to integrate this into the joyride build process, so that there
  are always current API docs available.

 Thank you, thank you. When you can create a URL that will always go to
 the latest version, please add it to the Wiki.

  Comments welcome!  And those of you who have not adequately documented
  your code, please do.  Module-level comments in particular are very
  helpful, and often missing.
   --scott
 
  --
   ( http://cscott.net/ )
  ___
  Devel mailing list
  Devel@lists.laptop.org
  http://lists.laptop.org/listinfo/devel

 http://www.documentia.ca/lies.htm
 Biggest Lies Heard by Technical Writers
 * You should have a fully-functional product in your hands in plenty
 of time to complete your document.
 * The product's so intuitive, it practically writes the manual itself.
 * You won't be thought of as a nuisance by the SME's. They accept that
 you're a peer and respect that you have a job to do.
 * I'd make that more abstract. We'll make sure you have everything you
 need to get the job done.
 * As the tech writer at our company, you will have full, unrestricted
 access to the devolopment team's time and resources.
 etc.
 --
 Edward Cherlin
 Earth Treasury: End Poverty at a Profit
 http://www.EarthTreasury.org/
 The best way to predict the future is to invent it.--Alan Kay




-- 
Edward Cherlin
Earth Treasury: End Poverty at a Profit
http://www.EarthTreasury.org/
The best way to predict the future is to invent it.--Alan Kay
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Bernardo Innocenti
Mitch Bradley wrote:

 From a security standpoint, there is an advantage to building in 
 everything.  The main kernel is verified with a crypto signature before 
 it is executed.  Loading a module without first verifying a 
 similarly-strong signature weakens the security.

 Modules are a good idea for kernels that are intended to run on a wide 
 variety of hardware.  I am in favor of treating XO like an appliance and 
 making the kernel as monolithic as possible.

Uh-oh... Does our security system really depend on this?

Reducing the number of modules is not going to help, because
you only need to load a single module to tap into the kernel.

Building everything statically and disabling module loading
is also not an option if you want half decent support for
USB devices.  Note that USB also brings in SCSI, DVB, and
a lot more.

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Bernardo Innocenti
John Richard Moser wrote:
 I'm not sure about some of the kernel configuration options.  A few 
 minor things stick out in my mind; I don't know the rationale behind 
 some of these things and am curious about developer decisions and 
 thoughts on how to build the kernel.
 
   * CONFIG_NO_HZ + CONFIG_HZ=100?
   * SLAB vs SLUB
   * Some debugging stuff
   * More debugging stuff
   * Building stuff as modules

Please, build a kernel with the changes you consider useful,
and make it available somewhere, along with your proposed
config patch.  Please make sure that the resulting kernel
also still works on QEMU and VMware.

Extra bonus points if you can give hard numbers on memory
saving and performance gains.

As a super-quick-and-dirty test, note that /home/olpc/.boot_time
records the time it takes to get from kernel startup to the
X session.  We can expect that time to be slighly influenced
by your improvements because booting exercises several kernel
subsystems, including vfs, slab, forks and mmaps.


 First off I noticed CONFIG_NO_HZ=y and CONFIG_HZ=100; is this a quirk of 
 the kernel's general configuration?  As I understand, these options 
 should be mutually exclusive because CONFIG_HZ is a parameter of a 
 scheduler using a different methodology than CONFIG_NO_HZ...

Probably a (harmless) leftover of editing the .config manually.


 Another thing is I noticed CONFIG_SLAB=y, but the SLUB allocator is 
 supposed to be a faster generic replacement for SLAB.[1]  Is there a 
 reason the XO doesn't use it?

Don't expect too much out of it:
   http://lwn.net/Articles/261868/

But I still think we should try it and maybe use it.


 I'm also noticing some things like KALLSYMS and BUG(), BSD process 
 accounting, and the like.  KALLSYMS, BUG(), and printk() are useful; on 
 a true embedded device I'd say remove 'em but I can't justify it here... 
 BSD process accounting and auditd support though?

I'd keep the debug symbols (which shouldn't cost any memory
at runtime).


 In the same line, a lot of debugging options are in use.  I'm using 
 Build 653, I guess it may be a developer's build and thus there's a lot 
 of debugging stuff; but in the final should things like CONFIG_PROFILING 
 , CONFIG_KPROBES, CONFIG_DEBUG_FS, CONFIG_UNUSED_SYMBOLS, 
 CONFIG_SCHEDSTATS, CONFIG_TIMER_STATS, CONFIG_DEBUG_PREEMPT, 
 CONFIG_DEBUG_SPINLOCK ... be removed?

I side with M.Edward on keeping oprofile support, which does
not slowdown the system and can be built as a module.


 Finally, I'm noticing a lot of stuff can be built as modules, but is 
 built in.

Go for it!  But please note that we're using a weird initrd
that doesn't contain modules (or maybe does, but cannot easily
be regenerated along with the kernel).

Because of this, I think all the modules required for booting
off jffs2 and ext3 need to be linked in :-(

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates API documentation for everything.

2008-01-01 Thread M. Edward (Ed) Borasky
Edward Cherlin wrote:
 Does anybody know of a documentation tool for Open Firmware, or for
 FORTH more generally? Exploring using 'words' and 'see'

Are you looking for automated documentation generation, or FORTH coding
and documentation standards? I don't know about the former, but there is
a well-established set of the latter, and given adherence, I'm sure the
former is eminently possible.

The FORTH community is fairly small (relative to, say, Python), and as
a result, most FORTH programmers don't have much trouble reading the
code of other FORTH programmers. But I don't know about outsiders coming
to FORTH from more traditional languages. :)

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates API documentation for everything.

2008-01-01 Thread Ben Goetter
From: Edward Cherlin [EMAIL PROTECTED]
 And what about Smalltalk/Etoys?

Not sure what level of doc you're seeking.  If I misunderstood you, I 
apologize.

Smalltalk's libraries are to a certain extent self-documenting in its 
browser, which is good because they vary depending on whatever you've 
synced from the central repositories.  For Squeak overall, we have 
http://www.squeakbyexample.org.
For how-to Etoys (the media/animation layer), I'm pretty impressed so 
far by the series of videos on http://www.waveplace.com/movies/ 
(speaking as somebody who doesn't care for non-written doc as a rule).

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Updates API documentation for everything.

2008-01-01 Thread Mitch Bradley
Edward Cherlin wrote:

 Does anybody know of a documentation tool for Open Firmware, or for
 FORTH more generally? Exploring using 'words' and 'see'
 

 is fun up to a point if you're learning FORTH, but really doesn't cut
 it for supporting documentation.
   


I presume that you have seen the tutorials at

  http://wiki.laptop.org/go/Forth_Lessons

The basic Open Firmware level is reasonably well documented -

  http://docs.sun.com/app/docs/doc/805-4436
  http://firmworks.com/QuickRef.html

The OLPC-specific stuff could certainly use some additional 
documentation.  The source code for the OLPC-specific stuff has some 
amount of internal documentation that could be extracted.  Each source 
file has a purpose comment at the top of the file, and many of the 
individual word definitions are preceded by a brief description.  For 
example, the file cpu/x86/pc/olpc.fth begins with:

  purpose: Determine the board revision based on hardware and EC info

and that file defines the word model-name$ as follows:

  \ Constructs a string like B4 or preB4 or postB4
 : model-name$  ( -- model$ )

Many, but certainly not all, of the words that can plausibly be used 
interactively have brief description strings like that.

Some words don't have brief descriptions in the source, and probably 
never will have them, based on the clarity of their names .  For 
example, for the word bios-checksum-bad?  ( -- flag ), I didn't feel 
compelled to write \ Returns true if the BIOS checksum is bad.  The 
various xxx@ and xxx! words fall into that category, once you know 
the general pattern of @ and !.  But even so, it would be nice to 
have a compendium of those words with English descriptions for easy 
reference.

I'm not a big fan of automated documentation tools.  They can help with 
the mechanics of extracting documentation strings from source code, but 
in my experience, such documentation is only marginally useful.  The 
really hard part of understanding how something works is the contextual 
stuff - the circumstances under which it is appropriate to call a given 
function, how it fits together with related stuff, etc.  Phrases are 
more enlightening than individual words.  Automated documentation 
extraction tends to describe individual trees, leaving you wondering 
about the overall shape of the forest.  Projects that are set up for 
auto doc tools tend to have long structured comment blocks before every 
function.  The individual fields are often extremely boring - like 
Outputs: none, and the overall size of the comment block takes up so 
much screen real estate that the actual code is lost among the boilerplate.

Going back to the bios-checksum-bad?  ( -- flag ) example, the usual 
tendency would be to say something obviously correct, and entirely 
pointless, like Returns a boolean flag that is true if the BIOS 
checksum is bad.  What really should be said is something like:

Conventional PC BIOSes checksum the CMOS RAM between indices 0x10 and 
0x2d inclusive, storing the arithmetic sum as a 2-byte big-endian 
integer at indices 0x2e and 0x2f.  bios-checksum-bad? tests that 
checksum.  It is an implementation factor of init-bios-cmos, which 
ensures that said checksum is correct,  fixing the checksum by zeroing 
that entire area if not.

But of course people rarely write documentation that complete, for any 
number of reasons.

That said, I really need to go through all the new OLPC code and at 
least add brief descriptions for all the top-level words.

Meanwhile, if anyone wants to look at the source code, the OLPC-specific 
bits are mostly collected in a few directories, primarily 
cpu/x86/build/olpc/  and dev/olpc/*

The source tree is at http://openbios.org/Open_Firmware


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Packaging and Hello World Tutorial

2008-01-01 Thread Eric Van Hensbergen
I was trying a modification of the Hello World tutorial to package an
application with a bunch of additional files (essentially the python
acts as a launcher at the moment).  In any case, when I follow the
hello world tutorial instructions to create the MANIFEST and run
setup.py, it complains about not being able to find the base component
of the path as it starts to process the MANIFEST list as if its 'cwd'
is the wrong directory.

When I replace the step which builds the MANIFEST from the find
command with a much more simple find command (find ./  MANIFEST),
things seem to work, but it really doesn't like sub-directories
(particularly empty ones).

So - what's the suggested path here?  Should I just manually create
the package and zip it externally?  Is there some easier path to what
I'm trying to accomplish?

-eric
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Uniting the community's infrastructure

2008-01-01 Thread Chris Hager
Hi all!

 From now on, the channel #olpc-groups is open with the ambition to 
connect local communities from everywhere! I can imagine a lot of 
potential for collaborations, projects, problem solving and 
not-reinventing-the-wheel :) !

SJ and I have talked about the current status of the irc-infrastructure 
for the communities, and had some ideas for the future. Basically,

1. many of the local channels are inactive
2. we have had no channel to cross-connect communities
3. the channel #olpc-europe developed from the ccc
4. the whole olpc project is gaining momentum

=

5. the logical next step would be a united communities-channel to focus 
our common effort!

We could basically connect via #olpc-groups on a global basis, and use 
#olpc-europe/asia/africa/... for regional discussions.

The same idea could apply to some of the mailing-lists. We can basically 
use the grassroots list (http://lists.laptop.org/listinfo/grassroots)! 
Please post feedback to [EMAIL PROTECTED]

I wish you all an interesting and successful year 2008!

- chris
(olpc austria)

   ...
   _sj| crazy: there are no active country channels
   _sj| but very active community members :)   we just need a place to
   discuss self-organization, regional meetups, a few infrastructure
   things (which are the same around the world)
   kikka a virtual place?
   _sj| well, here I'm talking about a single irc chan...
   kikka Ah, okay.
   crazy-chris _sj| you're right, the country channels are not used
   _sj| crazy: start with one #olpc-groups, merge existing country
   chans until there's a lot of focused traffic for one
   _sj| and keep separate channels for open discussion by language
   _sj| #olpc can split into #olpc-lang when it gets too busy;
   #olpc-groups can split into #olpc-region when it gets too busy.
   crazy-chris _sj|: okay, that sounds very good.
   _sj| but, none of the olpc chans are too busy yet :)
   crazy-chris heh, yeah
   crazy-chris will change thought :)
   _sj| even #olpc and -help are pretty quiet
   _sj| yeah
   crazy-chris the contributors program ...
   crazy-chris i think to merge the channels is the way to go. i'll
   get working on that.
   _sj| chris: thank you
   ...




___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Uniting the community's infrastructure

2008-01-01 Thread M. Edward (Ed) Borasky
Chris Hager wrote:
 Hi all!
 
  From now on, the channel #olpc-groups is open with the ambition to 
 connect local communities from everywhere! I can imagine a lot of 
 potential for collaborations, projects, problem solving and 
 not-reinventing-the-wheel :) !
 
 SJ and I have talked about the current status of the irc-infrastructure 
 for the communities, and had some ideas for the future. Basically,
 
 1. many of the local channels are inactive
 2. we have had no channel to cross-connect communities
 3. the channel #olpc-europe developed from the ccc
 4. the whole olpc project is gaining momentum
 
 =
 
 5. the logical next step would be a united communities-channel to focus 
 our common effort!
 
 We could basically connect via #olpc-groups on a global basis, and use 
 #olpc-europe/asia/africa/... for regional discussions.
 
 The same idea could apply to some of the mailing-lists. We can basically 
 use the grassroots list (http://lists.laptop.org/listinfo/grassroots)! 
 Please post feedback to [EMAIL PROTECTED]
 
 I wish you all an interesting and successful year 2008!
 
 - chris
 (olpc austria)

Well, like a lot of the Internet and life in general, things tend to
self-organize. I've started a Google group for Portland Oregon XO
owners, and I'm personally on quite a few of the other mailing lists.
In any event, I'm not sure it's time yet for any consolidation, either
on mailing lists/Google Groups or in IRC. I think the best we should
hope for at this point is to ask everyone on IRC to use the characters
olpc in naming channels. That way, the IRC client channel listers can
find them.

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread John Richard Moser


Bernardo Innocenti wrote:
 John Richard Moser wrote:
 I'm not sure about some of the kernel configuration options.  A few 
 minor things stick out in my mind; I don't know the rationale behind 
 some of these things and am curious about developer decisions and 
 thoughts on how to build the kernel.

   * CONFIG_NO_HZ + CONFIG_HZ=100?
   * SLAB vs SLUB
   * Some debugging stuff
   * More debugging stuff
   * Building stuff as modules
 
 Please, build a kernel with the changes you consider useful,
 and make it available somewhere, along with your proposed
 config patch.  Please make sure that the resulting kernel
 also still works on QEMU and VMware.
 

The base hardware drivers built in supports qemu and vmware?

Looks like I gotta read up on the wiki about how to rebuild the kernels 
(again).  It seems I can alter Grub to do what I want afterwards though. 
  (Do I need a developer's key or smth?)

 Extra bonus points if you can give hard numbers on memory
 saving and performance gains.
 

Black art ;)

 As a super-quick-and-dirty test, note that /home/olpc/.boot_time
 records the time it takes to get from kernel startup to the
 X session.  We can expect that time to be slighly influenced
 by your improvements because booting exercises several kernel
 subsystems, including vfs, slab, forks and mmaps.
 

Interesting!  I didn't know this.  Boot chart was pulled out for 
something else that I don't know how to use yet as well.

 
 First off I noticed CONFIG_NO_HZ=y and CONFIG_HZ=100; is this a quirk of 
 the kernel's general configuration?  As I understand, these options 
 should be mutually exclusive because CONFIG_HZ is a parameter of a 
 scheduler using a different methodology than CONFIG_NO_HZ...
 
 Probably a (harmless) leftover of editing the .config manually.
 
 
 Another thing is I noticed CONFIG_SLAB=y, but the SLUB allocator is 
 supposed to be a faster generic replacement for SLAB.[1]  Is there a 
 reason the XO doesn't use it?
 
 Don't expect too much out of it:
http://lwn.net/Articles/261868/
 

Point taken.

 But I still think we should try it and maybe use it.
 
 
 I'm also noticing some things like KALLSYMS and BUG(), BSD process 
 accounting, and the like.  KALLSYMS, BUG(), and printk() are useful; on 
 a true embedded device I'd say remove 'em but I can't justify it here... 
 BSD process accounting and auditd support though?
 
 I'd keep the debug symbols (which shouldn't cost any memory
 at runtime).

Possibly not.  The kernel runs inside one giant huge page doesn't it? 
4MiB read-write-execute...

 
 
 In the same line, a lot of debugging options are in use.  I'm using 
 Build 653, I guess it may be a developer's build and thus there's a lot 
 of debugging stuff; but in the final should things like CONFIG_PROFILING 
 , CONFIG_KPROBES, CONFIG_DEBUG_FS, CONFIG_UNUSED_SYMBOLS, 
 CONFIG_SCHEDSTATS, CONFIG_TIMER_STATS, CONFIG_DEBUG_PREEMPT, 
 CONFIG_DEBUG_SPINLOCK ... be removed?
 
 I side with M.Edward on keeping oprofile support, which does
 not slowdown the system and can be built as a module.
 
 
 Finally, I'm noticing a lot of stuff can be built as modules, but is 
 built in.
 
 Go for it!  But please note that we're using a weird initrd
 that doesn't contain modules (or maybe does, but cannot easily
 be regenerated along with the kernel).
 
 Because of this, I think all the modules required for booting
 off jffs2 and ext3 need to be linked in :-(
 

I think you can omit booting off ext3 for the final product.

There is load-time consideration to be made about loading everything as 
modules (camera, USB, mouse, all of networking, sound, etc) and leaving 
the essentials (flash, display, keyboard, jffs2).  Even if you leave 
networking and all the 100%-always-loaded modules compiled in, however, 
there's no need for things like 30 types of file systems.

I'd personally leave out ipv4 and ipv6 and just load them at boot time; 
I'd rather not have ipv6 loaded right now, and ipv6 infrastructures 
should run without ipv4 (some apps will probably complain about no 
127.0.0.1...); but this is just nitpicking.  Really I like a tiny core 
kernel and a bunch of modules but as I said, increases the time needed 
to boot.


-- 
Bring back the Firefox plushy!
http://digg.com/linux_unix/Is_the_Firefox_plush_gone_for_good
https://bugzilla.mozilla.org/show_bug.cgi?id=322367
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread John Richard Moser


Mitch Bradley wrote:
  From a security standpoint, there is an advantage to building in 
 everything.  The main kernel is verified with a crypto signature before 
 it is executed.  Loading a module without first verifying a 
 similarly-strong signature weakens the security.
 

Loadable kernel modules are enabled in the config.  This argument is moot.

You can sign modules, RHEL supports this by default and has a boot 
option for it.

More interesting, some cute hacks have been done before to get write 
access to the kernel through /dev/(k)mem, evading the protection of 
kernels not supporting modules.  This is of course fixable.

 Modules are a good idea for kernels that are intended to run on a wide 
 variety of hardware.  I am in favor of treating XO like an appliance and 
 making the kernel as monolithic as possible.

I don't favor loading in modules for Joliet and other CD-ROM stuff, for 
RAMFS (which shouldn't be used anyway, use TMPFS), ROMFS (is this even 
used?), NTFS, ext2, ext3, etc. that's not with the system by default. 
All these can be loadable modules.

 
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel
 

-- 
Bring back the Firefox plushy!
http://digg.com/linux_unix/Is_the_Firefox_plush_gone_for_good
https://bugzilla.mozilla.org/show_bug.cgi?id=322367
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Packaging and Hello World Tutorial

2008-01-01 Thread Eric Van Hensbergen
On Jan 1, 2008 7:03 PM, Kent Loobey [EMAIL PROTECTED] wrote:
 On Tuesday 01 January 2008 15:57:17 you wrote:
  I was trying a modification of the Hello World tutorial

 What is the URL to the Hello World tutorial of which you speak?

 Thanks.


Started with: http://wiki.laptop.org/go/Sugar_Activity_Tutorial

and then tried the differences present in:
http://wiki.laptop.org/go/Creating_an_activity

but the key seems to be the:
find ./ | sed 's,^./,YourActivityName.activity/,g'  MANIFEST

The inclusion of YourActivityName.activity seems to be the key problem.

 -eric
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Bernardo Innocenti
John Richard Moser wrote:

 Please, build a kernel with the changes you consider useful,
 and make it available somewhere, along with your proposed
 config patch.  Please make sure that the resulting kernel
 also still works on QEMU and VMware.

 
 The base hardware drivers built in supports qemu and vmware?

Yes, but it doesn't take that much.  It's probably just a
pci IDE controller and the vesafb.


 Looks like I gotta read up on the wiki about how to rebuild the kernels 
 (again).  It seems I can alter Grub to do what I want afterwards though. 
   (Do I need a developer's key or smth?)

Yes, you do need a developer key.  What is an smth?

Rebuilding the kernel RPM is less than trivial.  You may
prefer just building the kernel and then copying it on the
target with a stupid script like this one:

---8---
dest=18.85.46.119
stagedir=stage

#vservers
destdir=/versions/boot/current/boot

#sane
#destdir=/

set -x
mkdir -p $stagedir/boot
make INSTALL_MOD_PATH=$stagedir modules_install
make bzImage
cp -a arch/i386/boot/bzImage $stagedir/boot/vmlinuz
cp -a System.map $stagedir/boot
tar -C $stagedir -czf - . | ssh [EMAIL PROTECTED] tar -C $destdir -xvzf -
---8---


 Extra bonus points if you can give hard numbers on memory
 saving and performance gains.

 
 Black art ;)

Well, size vmlinux may be a lower bound approximation
for the memory saving.  Combined with some /proc/slabinfo
magic you'd get closer.

As you say, performance is hard to measure.  Shell scripts
tend to be good kernel benchmarks because they create lots
of processes, file descriptors, and do a lot of I/O.

 I'd keep the debug symbols (which shouldn't cost any memory
 at runtime).
 Possibly not.  The kernel runs inside one giant huge page doesn't it? 
 4MiB read-write-execute...

Not on the Geode: we don't have MTRRs, so I guess the kernel
is being mapped by 4KB pages.

But anyway, aren't the symbols in a separate ELF section?
So probably they end up in the vmlinuz binary too, but
I've not checked.


 Because of this, I think all the modules required for booting
 off jffs2 and ext3 need to be linked in :-(
 
 I think you can omit booting off ext3 for the final product.

Hmmm, people may like to boot off USB and SD, wouldn't they?
We're talking about a very small saving anyway...


 There is load-time consideration to be made about loading everything as 
 modules (camera, USB, mouse, all of networking, sound, etc) and leaving 
 the essentials (flash, display, keyboard, jffs2).  Even if you leave 
 networking and all the 100%-always-loaded modules compiled in, however, 
 there's no need for things like 30 types of file systems.

We still have plenty of places where we could recover several
*seconds* of boot time with just minor changes.  So I don't think
we should worry too much about module load time, which is probably
very fast.

In my experience, module load time is usually dominated by the work
being done in the init function, which sometimes involves sleeping
or performing slow I/O (i2c, serial, USB...).  This time would also
be spent in the monolithic kernel.


 I'd personally leave out ipv4 and ipv6 and just load them at boot time; 
 I'd rather not have ipv6 loaded right now, and ipv6 infrastructures 
 should run without ipv4 (some apps will probably complain about no 
 127.0.0.1...); but this is just nitpicking.

I agree with you.


 Really I like a tiny core kernel and a bunch of modules but as
 I said, increases the time needed to boot.

I once again agree with you, except that I don't think
the load time increase will be problematic on the XO.

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread John Richard Moser


Bernardo Innocenti wrote:
 John Richard Moser wrote:
 
 Please, build a kernel with the changes you consider useful,
 and make it available somewhere, along with your proposed
 config patch.  Please make sure that the resulting kernel
 also still works on QEMU and VMware.

 The base hardware drivers built in supports qemu and vmware?
 
 Yes, but it doesn't take that much.  It's probably just a
 pci IDE controller and the vesafb.
 
 
 Looks like I gotta read up on the wiki about how to rebuild the kernels 
 (again).  It seems I can alter Grub to do what I want afterwards though. 
   (Do I need a developer's key or smth?)
 
 Yes, you do need a developer key.  What is an smth?
 

something

 Rebuilding the kernel RPM is less than trivial.  You may
 prefer just building the kernel and then copying it on the
 target with a stupid script like this one:
 

 tar -C $stagedir -czf - . | ssh [EMAIL PROTECTED] tar -C $destdir -xvzf -

So glad right now that ssh doesn't allow blank password log-in.

So very glad.

 
 
 Extra bonus points if you can give hard numbers on memory
 saving and performance gains.

 Black art ;)
 
 Well, size vmlinux may be a lower bound approximation
 for the memory saving.  Combined with some /proc/slabinfo
 magic you'd get closer.
 
 As you say, performance is hard to measure.  Shell scripts
 tend to be good kernel benchmarks because they create lots
 of processes, file descriptors, and do a lot of I/O.
 

Point taken.

 I'd keep the debug symbols (which shouldn't cost any memory
 at runtime).
 Possibly not.  The kernel runs inside one giant huge page doesn't it? 
 4MiB read-write-execute...
 
 Not on the Geode: we don't have MTRRs, so I guess the kernel
 is being mapped by 4KB pages.
 

Remove hugetlbfs then.

 But anyway, aren't the symbols in a separate ELF section?
 So probably they end up in the vmlinuz binary too, but
 I've not checked.
 
 
 Because of this, I think all the modules required for booting
 off jffs2 and ext3 need to be linked in :-(
 I think you can omit booting off ext3 for the final product.
 
 Hmmm, people may like to boot off USB and SD, wouldn't they?
 We're talking about a very small saving anyway...

Would you boot off the kernel on the flash and then load the system from 
the USB or SD, or use a kernel on the SD card?

 
 
 There is load-time consideration to be made about loading everything as 
 modules (camera, USB, mouse, all of networking, sound, etc) and leaving 
 the essentials (flash, display, keyboard, jffs2).  Even if you leave 
 networking and all the 100%-always-loaded modules compiled in, however, 
 there's no need for things like 30 types of file systems.
 
 We still have plenty of places where we could recover several
 *seconds* of boot time with just minor changes.  So I don't think
 we should worry too much about module load time, which is probably
 very fast.
 
 In my experience, module load time is usually dominated by the work
 being done in the init function, which sometimes involves sleeping
 or performing slow I/O (i2c, serial, USB...).  This time would also
 be spent in the monolithic kernel.
 

So this raises the question:  By parallelizing boot and using an 
event-driven init system like Ubuntu's Upstart, could you actually get 
to running application code before loading the modules; and then set up 
all the hardware while more CPU-bound parts of the boot process run? 
Sort of bring up the system while all the devices are being initialized, 
just as long as graphics + keyboard + mouse are up for X to start when 
it gets there.

 
 I'd personally leave out ipv4 and ipv6 and just load them at boot time; 
 I'd rather not have ipv6 loaded right now, and ipv6 infrastructures 
 should run without ipv4 (some apps will probably complain about no 
 127.0.0.1...); but this is just nitpicking.
 
 I agree with you.
 
 
 Really I like a tiny core kernel and a bunch of modules but as
 I said, increases the time needed to boot.
 
 I once again agree with you, except that I don't think
 the load time increase will be problematic on the XO.
 

-- 
Bring back the Firefox plushy!
http://digg.com/linux_unix/Is_the_Firefox_plush_gone_for_good
https://bugzilla.mozilla.org/show_bug.cgi?id=322367
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Tom Sylla
Bernardo Innocenti wrote:

 I'd keep the debug symbols (which shouldn't cost any memory
 at runtime).
 Possibly not.  The kernel runs inside one giant huge page doesn't it? 
 4MiB read-write-execute...
 
 Not on the Geode: we don't have MTRRs, so I guess the kernel
 is being mapped by 4KB pages.

4MB page support is unrelated to MTRR support. (one is related to linear 
addresses, the other physical addresses; please see the Intel or AMD 
documentation on paging and caching)

Geode LX supports 4MB pages, it is reported as such in CPUID, and should 
be used by the kernel.

Also note that Geode LX has RCONFs instead of MTRRs, which have the 
same functionality, and they are all programmed properly by the firmware.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Bernardo Innocenti
Tom Sylla wrote:

 Not on the Geode: we don't have MTRRs, so I guess the kernel
 is being mapped by 4KB pages.
 
 4MB page support is unrelated to MTRR support. (one is related to linear 
 addresses, the other physical addresses; please see the Intel or AMD 
 documentation on paging and caching)
 
 Geode LX supports 4MB pages, it is reported as such in CPUID, and should 
 be used by the kernel.
 
 Also note that Geode LX has RCONFs instead of MTRRs, which have the 
 same functionality, and they are all programmed properly by the firmware.

So I wonder why we couldn't use these to speed up access
to the framebuffer in the amd_drv X driver.

Jordan, what do you think?

-- 
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Kernel configuration options

2008-01-01 Thread Tom Sylla
On Jan 1, 2008 9:50 PM, Bernardo Innocenti [EMAIL PROTECTED] wrote:
 So I wonder why we couldn't use these to speed up access
 to the framebuffer in the amd_drv X driver.

I don't understand, this was always taken care of.

http://openbios.org/viewvc/cpu/x86/pc/olpc/lxmsrs.fth?view=markuprevision=739root=OpenFirmware
has:
  msr: .1810 fdfff000.fd000111.  \ Video (write through), fbsize

which is setting the framebuffer as write-combining. (the write
through comment is incorrect)

I don't have current hardware to check if this is the way things are
at run-time (maybe something over-writes that register later), but it
was all working fine at some point in the past.
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Devel Digest, Vol 23, Issue 2

2008-01-01 Thread Jaya Kumar
On Jan 1, 2008 5:10 PM, Arjun Sarwal [EMAIL PROTECTED] wrote:

 
  There is a telemedicine kit from India for about $200, and there are
  other possibilities. I have been encouraged by developments in blood
  chemistry measurements that do not require a needle stick. The first
  such product is likely to be a diabetic blood sugar meter, but the
  process applies to any small molecule with a distinctive spectrum.
 
  I also have friends in the medical software business. There is a Free
  Software implementation of the M language and the entire US Veterans
  Administration/DoD hospital software system for medical records,
  administration, pharmacy, and much more.
 

 Glad to hear of these. Any one of these things can be developed/run
 around/on the XO ?

Hi Arjun,

I've CCed Sameer Sawarkar of Neurosynaptic. They have successfully
built a remote low cost diagnostic kit ( I think it's called ReMeDi)
that can measure temperature, blood pressure, ECG and heartbeat
(stethoscope) and perform other tasks. It won a prize at the World
Economic Forum 2007. There was an article in businessweek here:

http://images.businessweek.com/ss/07/11/1129_tech_pioneers/source/22.htm

I hope maybe XO and ReMeDi can, in someway, be complementary.

Regards,
jaya
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel