XOpup Interest Group. Puppy Linux for the OLPC XO-1 laptop

A home for all kinds of Puppy related projects
Post Reply
Message
Author
User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

XOpup Interest Group. Puppy Linux for the OLPC XO-1 laptop

#1 Post by mavrothal »

Happy end :D
There is an XOpup now (Aug 2010)
Though things can always improve :wink:

===================================

Based on previous posts and ttuuxxx's comments this is a call to form an interest group that will work on installing Puppy on the OLPC XO-1 computer. This group will apply to the OLPC contributors program and if successful, receive XO-1 laptops (one for each participant 2 for the person(s) working on XO mesh conectivity) for 12-18 months in order to develop an XOpup. I could go through the application process myself assuming that some people would be interested and actively participate.

The goals are
1) Build an XO-specific pupplet that will include java, flash and python and be capable of peer-to-peer connection in the absence of other access points. It should be able to use version-appropriate pet packages and sfs files without any problem or modification and fully utilize XO-1 functionality from function keys, game-key buttons and screen rotation to camera, sound, wifi and embedded controller. A full install on USB or SD card is the preffered installation method.
2) Build a Sugar.sfs file that would allow Sugar application stack and activities to run on top of puppy eg package Sugar for Puppy. It would be really important if a fat-free Sugar could be build at least as a proof or principle. The way it stands today Sugar can hardly run on anything else that a 1GHz+ Pentium 4 with 500MB ram. (For anything else a bucket of coffee is mandatory...)

I guess the required expertise are Puppy development, kernel hacking, networking, python knowledge, packaging experience and FORTH assembly language to deal with the Open Firmware (XO-1 has no BIOS). (I guess a couple of "gurus" could do everything but they are hard to come by and even harder to alter their priorities :) )
I have none of these but I know there are people here that they do. The only question is if they have the interest.
XO-1 has a million plus installed base and anything that will make it feel not like a second class computer, would be highly appreciated. It also may give the opportunity to Puppy to double its user base but more importantly get vary young new users on board.
So if you are interested please come forward (PM is fine)[/url]
Last edited by mavrothal on Wed 22 Sep 2010, 06:11, edited 5 times in total.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#2 Post by mavrothal »

Wow!... the silence is deafening...
At least someone tell me how come? Even #@$%#@@$ may be OK :-P

I would think that people simply have other priorities, specially now with the upcoming 431 bug-fix release, but this does not make sense. Is not like you are going to drop everything and start working on XOpup. I guess even 4.4.1 will be out before XOpup materializes with the above time frame.

Then I thought that XO-1 might not be a puppy target machine, but this does not make sense either. Is an under-powered, end-of-life machine that will start populating land fields pretty soon. THE target for Puppy.

Then I thought that may be does not worth to develop a pupplet for a machine that is already running Linux. But this is in contrast with the whole distro idea. They are coming to implement Linux better for a given target. And Puppy is pretty unique compared to most other distros. Is a full-featured, minimalistic distro! Neither a white elephant nor a kernel and a console. So this one does not hold a lot of water either.

Then I considered the "bad blood" between OLPC and Puppy linux back from 2005-2006. Well this could be a possibility(?). But after 4-5 years and so many changes in both OLPC and Puppy is hard to believe, especially considering the mutual benefits for XO-1 (increase functionality-speed) and Puppy (number of potential _and young_ users).
The above I guess is also associated with an "ego" issue. "I am the man/woman, you ignored me before, now you must ask nicely to reconsider". Though nobody can exclude such individual cases, my (limited) experience with linux community is that usually this is _not_ the case. People do what they are doing for the fun of it, the recognition, the (post delivery) appreciation and the sense of worthiness. Not to be vindicated.

The only other possibility that I can think of is that either is _really hard_ or worse, there is a fundamental conflict between XO-1 hardware (embedded controller, DCON screen controller, strange screen resolution-video drivers, FORTH-based OFW "bios" etc) and Puppy Linux. I know I tried and failed but I'm far from expert. A FreeBSD/Kernel hacker computer scientist, friend of mine, also tried for few days and came no where. Barry Kauler tried a bit both in the beginning and the end of 2008 with no visible results. And we all know from the classmate project that he is interested in this kind of machines.

So if you think that _it can not be done_ please at least tell me so so I can stop bothering you (and other people :) ) and hoping that this mutually beneficial goal is feasible.
Thanks.

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#3 Post by ttuuxxx »

Hi mavrothal I can't see why all of your request can't be fulfilled, I'll add my name to the list, If they give me a laptop I'll give you my full support, If not then it wasn't meant to be. I've compiled all those programs before, other than Sugar, but usually I like a challenge. I wouldn't base it on 4 series if I was you, something more like Upup would be better, That is what Barry's main goal is now and also its the future of puppy 5.0 series, doesn't make sense to build a new Os on a dying release, while series 5 is near beta status.
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#4 Post by mavrothal »

ttuuxxx wrote:Hi mavrothal I can't see why all of your request can't be fulfilled, I'll add my name to the list, If they give me a laptop I'll give you my full support, If not then it wasn't meant to be. I've compiled all those programs before, other than Sugar, but usually I like a challenge.
Thank you ttuuxxx.
Both for the interest and the feasibility assessment.
Hopefully a couple more people will be added to form a credible request to OLPC's contributors program.
ttuuxxx wrote:I wouldn't base it on 4 series if I was you, something more like Upup would be better, That is what Barry's main goal is now and also its the future of puppy 5.0 series, doesn't make sense to build a new Os on a dying release, while series 5 is near beta status.
ttuuxxx
You are right. Come to think of it a Fed(ora)pup could be a much better starting point given the so far tight association of OLPC and SugarLabs with the Fedora project.
The only question is if a Fed-pup would be sufficiently lean and mean to run adequately on the XO-1 but I gues we could worry about it if/when this idea takes off. :)

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#5 Post by ttuuxxx »

Upup is based on Ubuntu. that is what puppy 5 will be. fedora would make a good woof also, hmmm I'll mention it to Barry on his blog.
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#6 Post by mavrothal »

ttuuxxx wrote:Upup is based on Ubuntu. that is what puppy 5 will be. fedora would make a good woof also, hmmm I'll mention it to Barry on his blog.
ttuuxxx
That would be great :D
I guess it requires the woof build scripts to be RPM/YUM compatible.
The only "concern" would be that Fedora is rather fast-moving cutting-edge distro, making it often hard to run on old hardware. But although I love the ability of puppy to run on really old hardware I would guess that the majority of machines it runs on is at least Pentium 4, which is almost 10 years old by now.

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

feel

#7 Post by raffy »

I can feel your frustration, but the silence is not really because of "bad blood/feeling" but the BIOS. This forum is littered with posts of people who tried getting Puppy to run in the XO and got nowhere.

There are some questions for which you may know the answers:

1. Will it be easier to raise fund for having the BIOS programmed by an experienced programming outfit?

2. Will #1 be practical, if we anticipate no more volume production of the XO-1?

If #2 is answered with "No", will it be better to look instead to XO-2?

As long as AMD is not pulling the LX800 and LX900 processors out of the market, XO-1 or its derivatives could be produced. But will the OLPC, who hold the intellectual properties on the XO-1, allow it?

The XO-1 and Puppy are a perfect match, so it is good that you're here to marry them. :wink:
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: feel

#8 Post by mavrothal »

raffy wrote:I can feel your frustration, but the silence is not really because of "bad blood/feeling" but the BIOS. This forum is littered with posts of people who tried getting Puppy to run in the XO and got nowhere.
Actually the "BIOS" eg open firmware has been improving constantly and in an effort to make XO-1 windows-XP bootable resembles fairly well a normal bios. The problem is that being based in FORTH, very few people can work with it. However the developer has an extended series in the FORTH lessons and an exhaustively detailed development process and the main developer, Mitch Bradley, is very helpful in addressing any specific issues. Some relevant info about booting and OFW can be found here. Look here for more
The other very interesting issue with OFW is that remains active after booting and can be accessed from Linux allowing you to do very interesting things if you know what you are doing (...)
There are some questions for which you may know the answers:

1. Will it be easier to raise fund for having the BIOS programmed by an experienced programming outfit?
I hope that the above may answer this question.
If you suggest to have a standard PC-BIOS I would say that this is against the "open" philosophy. Besides several distros can boot on the XO, so this should not the problem. The problem is to craft an XO-compatible puppy initrd and vmlinuz. As I said elsewhere just using an XO 2.6.30 based vmlinuz and puppy4.31 initrd.img you cat just get up to the puppy init console.
2. Will #1 be practical, if we anticipate no more volume production of the XO-1?

If #2 is answered with "No", will it be better to look instead to XO-2?
XO-1 will be replaced soon by XO-1.5 that is using a VIA CPU instead of the Geode and I believe it will remain active for few million units (I hope...) In addition there are few hundred thousands XO-1 machines awaiting delivery. However XO-1 and XO-1.5 have very few differences and anything developed for XO-1 should be readily implemented for XO-1.5. To give you a sense the under development XO-1.5 builds are used to develop XO-1 builds.
So looking to XO-1/1.5 is the way to go I believe.
XO-2 will be an ARM based machine (that will also use OFW...) but I think that we are fairly away from implementation. So far there are only "principles" of this machine.
As long as AMD is not pulling the LX800 and LX900 processors out of the market, XO-1 or its derivatives could be produced. But will the OLPC, who hold the intellectual properties on the XO-1, allow it?
Actually some of the early criticism was that XO-1 and some of its drivers are proprietary. So OLPC does not own everything on the XO-1. Honestly though I do not know what OLPC will do if asked for its intellectual property. I guess a lot depends on the specific setting.
The XO-1 and Puppy are a perfect match, so it is good that you're here to marry them. :wink:
So, are you in?... :wink: :wink:

PS: I just stumbled upon an available Slackware build for OLPC!!! I do not know if it works, but if it does this could be another bridge between XO-1 and puppy. No?

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

just do it

#9 Post by raffy »

Great - a good starting point.

big_bass has been building slaxerpup, see http://puppy2.org/slaxer/

and I saw that Sit Heel (SHS) is helping you out since August.

So just do it and ask questions when you encounter problems.

PS - I was the one who bugged the early OLPC team for trying Puppy, so I have been "in" for a long time already. :D
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#10 Post by mavrothal »

I'm downloading (at 5kb/s an ~800MB file...)
The problem that I have is that Slack_olpc is slackware 13 and slaxer 12. But the "conseptual" problem I have is, if Slaxer can use pet packages without any modifications. I went through his thread but was not apparent since he is building his own pet packages directly from the Slackware packages.
If this is the case I do not think is wise to built on a Puppy branch and I would stick with the original plan.
As a proof of principle though certainly worth trying (if the download ever finishes)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#11 Post by mavrothal »

raffy,
I'm still downloading... but the more I think of it the less sense it makes!
Unless by some "miracle" the Slaxer_pup works with the XO_slack13 kernel, then Big_Bass' work must be replicated pretty much from scratch, and as far as I can find there is not a howto. (BTW Slaxer _does not_ work o the XO-1when tried it a couple of week ago by itself or simiral to puppy4.3)
If his work must be replicated somehow without any instructions, then why use Slackware and not Ubuntu (probably the next puppy base) or Debian (the best tested distro) or Fedora (the official XO-base distro) which all run on XO-1.
Better yet just Puppy. The 2.6.30 kernel supports XO-1.
So unless Big_Bass wants to do it again with Slackware 13 (assuming that runs OK on the XO) and XO support, we are still at the same point. Either reconfigure the kernel, make an XO-pup compatible initrd, make the puppy initial setup script XO aware and see what other hardware specific changes might be sessecary, or build Puppy in (not from) another distro.
If you can point on some HOWTO build puppy while running another distro I can appreciate the "try and ask questions" recommendation, otherwise plan A (eg XOpup Interest Group) looks more feasible (assuming there is real interest). No?

PS: for the history XO-slackware-13. Does not work on the XO-1 (X-server crashes immediately) and as a matter of fact is just based on Fedora 9/OLPC 2.6.25 kernel with some slackware on top. :(

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#12 Post by mavrothal »

OK. Lets ask a question then...
Once more I rebuilded the OLPC-2.6.30 kernel in a fresh install with squashfs support. This boots the XO and loop-mounts the puppy .sfs files without any problem (with the fedora squashfs-tools present).

I have in the root directory of an ext2-formated USB stick this kernel (vmlinuz), puppy's 430 (actually ttuuxxx's version) initrd.gz and pup430.sfs, and a boot folder with an olpc.fth file. The olpc.fth file tells XO which is the root device (the stick) and the path to find vmlinuz and and initrd.

This sticks boots up to the point that puppy finds the drivers OK and looks for the pup-430.sfs file in computer disks and can not find any. Then falls back to the init console.
When the same stick is mounted while running the XO with the modified kernel the sfs file is seen and mounted OK.

Can anyone take a look at the attached DOTconfig_XO file and point out something else that is required for puppy init to find the .sfs file in the stick?

Is there any specific way to tell puppy init script where the sfs file is?
Attachments
DOTconfig_xo.zip
(15.76 KiB) Downloaded 1291 times

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#13 Post by technosaurus »

You may want to consider that the gcc provided by Puppy proper does not provide compiler flags -march=geode or -mtune=geode. These were not implemented until gcc-4.3 (as a result of OLPC's efforts). I highly recommend upgrading gcc - alternatively you can use -march=i586 -mmmx -m3dnow.

I don't know how specialized you are trying to be, but there are similar platforms that use the geode, including the DECtop (GX2), Raeon Everrun (LX), pepperpad3 and others using similar hardware. (pepper's sdk may be a good place to get drivers)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#14 Post by mavrothal »

technosaurus wrote:You may want to consider that the gcc provided by Puppy proper does not provide compiler flags -march=geode or -mtune=geode. These were not implemented until gcc-4.3 (as a result of OLPC's efforts). I highly recommend upgrading gcc - alternatively you can use -march=i586 -mmmx -m3dnow.
I should have clarified this. The Kernel was compiled on the XO-1 running Fedora-11 with the latest gcc etc from fedora-testing repo and kernel sources from the patched OLPC-2.6.30 kernel branch.
Basically is just the letest 2.6.30 XO-1 kernel with squashfs support

By the way this kernel does not have aufs support, but this should not be a problem for finding the pup-430.sfs file, should it?

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#15 Post by technosaurus »

Nope - see the latest Choicepup

I'd be interested to know if anyone has tested to see if this works with the vortex86mx or vortex86dx (the only other lower spec processors in current production - 586 +mmx ...can't confirm 3dnow from any documentation available)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

I boots!

#16 Post by mavrothal »

While trying to organize the overwhelming support for the XOpup idea, I was trying to compile kernels based either on the XO 2.6.30 kernel or the puppy 2.6.30.5 patched sources and the olpc DOTconfig as base (see previous page).
Success was variable so I tried something really simple (obviously driven by ignorance and desperation :? ).

I manually made a full puppy install in an ext2-formated USB stick, by loop mounting the pup-431.sfs and devx_431.sfs (both from rc2) as well as the kernel_src-2.6.30.5-patched.sfs4.sfs and copying to the stick. However instead of the inirt.gz and vmlinuz of puppy I used te entire boot folder from F11-XO1/os7 that has the olpc intrd, vmlinuz, config and sytemmap (all 2.6.30 kernel-based). Modified the olpc.fth to the correct path and booted the XO-1. Dracut, that is now used by the XO builds to make the initramfs, complained a bit about SCSI and depmod but booted fine to the puppy setup screens!
Unfortunately XO-1 hardware does not support VESA (not supported by the video card) and there is no geode support in the xorgwizard, so no GUI.
However I guess this attempt shows that OFW (see "XO-BIOS") is not really a problem for puppy.

I _really_ have no idea about Xorg.config, compiling video drivers (and geode driver is still problematic) and of course re-configuring the xorgwizard... Is there anyone that might be able to help?
I can understand that without the XO hardware this can be tricky, but still.

Of course there is always the original proposal on the table, an XOpup interest group that could be given the XO-1s for 12 months or so to work on it, or even to just test what others are doing, but I do not see this going anywhere. :( :( :(

PS: Maybe someone could suggest to me if there are any specific xorg config, fles and drivers that I could be manually adding/editing to the "XOpup" from the Fedora/XO working os, to test .
If you do please indicate full path for the puppy file and configuration changes if necessary.

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

xserver-xoegwizard

#17 Post by mavrothal »

Maybe someone could suggest to me if there are any specific xorg config, fles and drivers that I could be manually adding/editing to the "XOpup" from the Fedora/XO working os, to test .
If you do please indicate full path for the puppy file and configuration changes if necessary.
C'mon guys...
all I asking is some pointers about the X-server and the xorg wizard...

I'm sure that someone can point to a couple of the most relevant to the question, among the 350+ threads that a forum search finds.

Anybody?...

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#18 Post by ttuuxxx »

the file your looking for is located at /etc/X11/xorg.conf
hope that helps
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#19 Post by mavrothal »

ttuuxxx wrote:the file your looking for is located at /etc/X11/xorg.conf
hope that helps
ttuuxxx
Yes it does (a bit :) )
Could you also tell me how to install a local pet without GUI? I'm searching for an hour but no luck...
I'm thinking to try these geode driver pets though I'm not sure that they are compatible with 4.3. But is not running anyway... so not much to loose...

User avatar
ttuuxxx
Posts: 11171
Joined: Sat 05 May 2007, 10:00
Location: Ontario Canada,Sydney Australia
Contact:

#20 Post by ttuuxxx »

It would be easier to start on a system that does boot and edit the sfs files and add the drivers to the sfs then rebuild the sfs . I'll start this week when I get the XO :)
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)

Post Reply