XOpup Interest Group. Puppy Linux for the OLPC XO-1 laptop
XOpup Interest Group
I was mistaken, when in an earlier post, I said that I had pup_412.sfs in RAM on my XO. I think now that I was simply looking at it as it was mounted on the USB stick. (I was seeing OTHER things in RAM, just not the .sfs file).
After further messin' around with it, I believe pup_412.sfs is now being copied (line 1000 in Puppy's initrd/init) to XO's RAM's /mnt/tmpfs. When I drop out to a command line shell (using a dump to look at variables, etc.), "ls /mnt/tmpfs" => "pup_412.sfs", and "free" decreases by ~105MB after the copy is performed. The problem is getting it to a point where it is useful.
In line 1004 in initrd/init, /mnt/tmpfs/pup_412.sfs is set up with /dev/loop0. This seems to go OK ("losetup /dev/loop0" => "/mnt/tmpfs/pup_412.sfs").
In line 1009 in initrd/init, things get mired down. The line reads:
mount -r-t squashfs -o noatime /dev/loop0 $CREATEPUPXXXSFS
This iteration is a pupmode5, and line 624 initrd/init defines $CREATEPUPXXXSFS as /pup_ro2.
In the above mentioned dump /tmp/bootinit.log says:
mount: mounting /dev/loop0 on /pup_ro2 failed: Invalid Argument
which seems absurd. I googled this, and came us with 5 references relating to puppy, and none of them (to me, anyway) seemed to be useful in sorting this out.
Has anyone had any experience with this error in this context?
Thanks.
After further messin' around with it, I believe pup_412.sfs is now being copied (line 1000 in Puppy's initrd/init) to XO's RAM's /mnt/tmpfs. When I drop out to a command line shell (using a dump to look at variables, etc.), "ls /mnt/tmpfs" => "pup_412.sfs", and "free" decreases by ~105MB after the copy is performed. The problem is getting it to a point where it is useful.
In line 1004 in initrd/init, /mnt/tmpfs/pup_412.sfs is set up with /dev/loop0. This seems to go OK ("losetup /dev/loop0" => "/mnt/tmpfs/pup_412.sfs").
In line 1009 in initrd/init, things get mired down. The line reads:
mount -r-t squashfs -o noatime /dev/loop0 $CREATEPUPXXXSFS
This iteration is a pupmode5, and line 624 initrd/init defines $CREATEPUPXXXSFS as /pup_ro2.
In the above mentioned dump /tmp/bootinit.log says:
mount: mounting /dev/loop0 on /pup_ro2 failed: Invalid Argument
which seems absurd. I googled this, and came us with 5 references relating to puppy, and none of them (to me, anyway) seemed to be useful in sorting this out.
Has anyone had any experience with this error in this context?
Thanks.
Re: quirky-004 (single file)
Excellent!raffy wrote:We already have Barry's attention:
"Test single-file Quirky"
http://bkhome.org/blog/?viewDetailed=01337..if you can get the kernel to start booting, that's it, you should get a desktop..
..the parameters are very simple, something like this to boot from a USB Flash drive:
kernel quir004.t00
append pmedia=usbflash
Now if you could convince Barry to stop compressing the kernel with LZMA we could even see if it actually works on the XO (the provided lzma-compressed kernel is not readable by the XO as I mentioned several times already in this thread).
See if I can recompile the thing to make it work.
Eddie that's impressive!
Can you be a bit more explicit about the changes you did?
Did you get out of the console at all?
Also you may want to try playdayz' uPup, Behaves much better on the XO than any other pup or pupplet I tried.
Can you be a bit more explicit about the changes you did?
Did you get out of the console at all?
Also you may want to try playdayz' uPup, Behaves much better on the XO than any other pup or pupplet I tried.
OK,
so I recompiled the kernel with BKs kernel_src_2.6.31.5-patched.sfs and the DOTconfig-K2.6.31.5-3DEC09-TICKLESS-SMP that was in the 2.6.31.5 pet. The only change was that kernel compression was with gzip.
It is now recognized by the XO but the OFW spits the "Invalid Opcode" and the story stops there
So I would guess that needs an OLPC configured kernel to boot or something between the two.
Barry if you are reading this (since I can not post comments in your blog-it always gives me an invalid authentication...) pls verify that these are the correct sources and configs and if possible point to the mandatory config options so I can try to make an OLPC/Quirky hybrid kernel.
(see ttuuxxx does not take a day... )
so I recompiled the kernel with BKs kernel_src_2.6.31.5-patched.sfs and the DOTconfig-K2.6.31.5-3DEC09-TICKLESS-SMP that was in the 2.6.31.5 pet. The only change was that kernel compression was with gzip.
It is now recognized by the XO but the OFW spits the "Invalid Opcode" and the story stops there
So I would guess that needs an OLPC configured kernel to boot or something between the two.
Barry if you are reading this (since I can not post comments in your blog-it always gives me an invalid authentication...) pls verify that these are the correct sources and configs and if possible point to the mandatory config options so I can try to make an OLPC/Quirky hybrid kernel.
(see ttuuxxx does not take a day... )
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
OFW accepts iso, fat, vfat, ext2 and ext3 boot files and compressed or uncompressed initrd and vmlinuz. However I believe it does _not_ decompress lzma. (So basically it can not open the vmlinuz you provide with the xo-1.iso).
As it was, stopped (as usual) in the OFW screen. This is because puppy kernels are compressed with lzma and OFW does not support it. DO NOT compress XO-destine vmlinuz with LZMA. Will never run.
I scanned through this thread, counted only two prior posts about an lzma kernel.Now if you could convince Barry to stop compressing the kernel with LZMA we could even see if it actually works on the XO (the provided lzma-compressed kernel is not readable by the XO as I mentioned several times already in this thread).
Most puppies are NOT built with a lzma-compressed kernel. The standard and retro kernels used in Puppy 4.3.1 are just the normal bzip-compressed kernels.
Only the 2.6.31.5 kernel used in Quirky uses lzma compression.
Lzma compression of the kernel should not make any difference. It has nothing to do with the OLPC. The kernel has its own decompression code, it loads like any other Linux kernel, runs its inbuilt decompressor and decompresses the main part of the kernel.
The OLPC would have to be incredibly weird to object to that.
...nah, it is so incredibly unlikely that the OLPC would have any problem with the kernel being gzip, bzip2 or lzma compressed. It is purely a concern of the kernel.
My one-file Quirky should boot. I don't know about getting X to run though, especially as I read the video is not VESA-compatible. If a special Xorg driver is required, I will have to rebuild Quirky with that in it.
Then there's the question of the 'pupsave'. Some development will be required to get that to be recognised at bootup.
[url]https://bkhome.org/news/[/url]
Barry/others
sadly religious spammers have despoiled Mitch Bradley's Fastboot page I linked to earlier....
googling has mixed results
perhaps yaboot?
http://penguinppc.org/bootloaders/yaboot/index.shtml
Similarity between OLPC & PPC maybe after all.....?
Aitch
sadly religious spammers have despoiled Mitch Bradley's Fastboot page I linked to earlier....
googling has mixed results
perhaps yaboot?
http://wiki.laptop.org/go/Open_FirmwareOpen Firmware is the hardware-independent firmware (computer software which loads the operating system) that the XO-1 runs.
It was developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers (though it has been dropped with Apple's transition to Intel processors), Sun Microsystems SPARC based workstations and servers, IBM POWER systems, and PegasosPPC systems, among others. On those computers, Open Firmware fulfills the same tasks as BIOS does on PC computers.
It is accessed by a user by a FORTH-based shell interface. FORTH is a powerful high level language.
For example Fedora and Debian use the YaBoot BootLoader for OpenFirmware.
http://penguinppc.org/bootloaders/yaboot/index.shtml
Similarity between OLPC & PPC maybe after all.....?
Aitch
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
Hi Barry I read that http://cgit.freedesktop.org/xorg/driver ... deo-geode/
driver is the best one for olpc, and a screen size of 1200x900, 200 dpi. 6x4 in (152.4x101.6 mm). 6 bit deep (262k colors). http://wiki.laptop.org/go/Display
also this page helps http://wiki.laptop.org/go/Hardware_Drivers
Thanks for helping Barry we all appreciate it
ttuuxxx
driver is the best one for olpc, and a screen size of 1200x900, 200 dpi. 6x4 in (152.4x101.6 mm). 6 bit deep (262k colors). http://wiki.laptop.org/go/Display
also this page helps http://wiki.laptop.org/go/Hardware_Drivers
Thanks for helping Barry we all appreciate it
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Ok, correct iso uploaded, and follow-up blog post:
One-file Quirky:
http://bkhome.org/blog/?viewDetailed=01337
OLPC booting notes:
http://bkhome.org/blog/?viewDetailed=01338
One-file Quirky:
http://bkhome.org/blog/?viewDetailed=01337
OLPC booting notes:
http://bkhome.org/blog/?viewDetailed=01338
[url]https://bkhome.org/news/[/url]
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Ah, good, Quirky has that driver.ttuuxxx wrote:Hi Barry I read that http://cgit.freedesktop.org/xorg/driver ... deo-geode/
driver is the best one for olpc, and a screen size of 1200x900, 200 dpi. 6x4 in (152.4x101.6 mm). 6 bit deep (262k colors). http://wiki.laptop.org/go/Display
also this page helps http://wiki.laptop.org/go/Hardware_Drivers
Thanks for helping Barry we all appreciate it
ttuuxxx
[url]https://bkhome.org/news/[/url]
First let me clarify that that when i say kernel I mean the vmlinuz. Second the vmlinuz in decompressed by the OFW in the XO-1. Third the OFW can decompress only zlib. Fourth, I tried and tested it. Fifth earlier Puppies did go through the loading of the kernel but stopped for other reasons in the initrd. Sixth XO is "weired" (in some sense )BarryK wrote:
I scanned through this thread, counted only two prior posts about an lzma kernel.
Most puppies are NOT built with a lzma-compressed kernel. The standard and retro kernels used in Puppy 4.3.1 are just the normal bzip-compressed kernels.
Only the 2.6.31.5 kernel used in Quirky uses lzma compression.
Lzma compression of the kernel should not make any difference. It has nothing to do with the OLPC. The kernel has its own decompression code, it loads like any other Linux kernel, runs its inbuilt decompressor and decompresses the main part of the kernel.
The OLPC would have to be incredibly weird to object to that.
PS: sorry for the style, I had to run and I must do it again now. Latter.
Thanks Barry...you being here means a lot.....Guys in his reply Mitch had said that even he would like to get involved in xopup effort. Raffy can you ask Mitch to join in if it helps in this. You seem to have got his attention last time. Why dont we all do a collaborative effort on this.Specially when we all know for a fact that if we get Puppy too run on RAM on XO ,OLPC would really become a practically benifitial project to all without it being limited to 5 year olds.
Re: quirky-004 (single file)
Apparently, I tested the iso the BK mistakenly had uploaded yesterday instead of the real quirky004 (present now in the same link)mavrothal wrote: Excellent!
Now if you could convince Barry to stop compressing the kernel with LZMA we could even see if it actually works on the XO (the provided lzma-compressed kernel is not readable by the XO as I mentioned several times already in this thread).
See if I can recompile the thing to make it work.
That's the problem when you are too eager So all my previous comments do not apply in the real quirky.
Hopefully by the time I'm back home the good news will be out that the _real_ qurcky004 boots fine on the XO.
BTW what kind of file is quir004.t00 ? I was wondering how could I see its content from my work mac.
And an unrelated question. Is there a magic trick to post comments on Barry's blog or he just doesn't like me (PM answers are ok... )
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
Re: quirky-004 (single file)
Do you have an account on his blog? Also when It comes to Barry responding, ummm well He's usually really busy and he only picks and chooses certain questions, he responds usually around 1 out 3 or so questions that I ask on his Blog, it can be frustrating, but at the end of the day it up to him, if he feels like it or not. But hey he does deliver very well, he also stated that his Xo has been dead since 2008 on his blog, hmmm maybe someone should organize him a new one?mavrothal wrote:mavrothal wrote:
And an unrelated question. Is there a magic trick to post comments on Barry's blog or he just doesn't like me (PM answers are ok... )
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
Re: quirky-004 (single file)
How do you do that . It does not have any "register" or something in the site. Is it "cryptic"? or just an e-mail request?ttuuxxx wrote: Do you have an account on his blog?
Yeh... this is a common problem with XOs (left dormant for a long time) related to RTC. He is in the right track though with the internal battery.he also stated that his Xo has been dead since 2008 on his blog, hmmm maybe someone should organize him a new one?
ttuuxxx
The next 2 links may also help
http://wiki.laptop.org/go/Fix_Clock
http://en.forum.laptop.org/viewtopic.ph ... 45#p533274 (and after)
Here is a more sophisticated solution.
But the first thing is to update the firmware to q2e41
Pls pass it along when you post in his blog
Regarding a new XO I'm sure they''l send him 4 if he asks
Any luck with quirky yet?
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
ok I tried like 30+ different combinations ,lol the closest I managed to get was that it loaded vmlinuz and then loaded ramdisk and I received a invalid Opcode. Really it was my last test that got me the furthest but probably shouldn't of worked that far.
it did say "Loading ramdisk from disk:\boot\vmlinuz"
which is good, still haven't seen 1 single puppy screen.
this is my olpc.fth, it was option 2, the usb which went the furthest, when I tried like 15 or so test on SD card, nothing really, other than loading vmlinuz.
ttuuxxx
it did say "Loading ramdisk from disk:\boot\vmlinuz"
which is good, still haven't seen 1 single puppy screen.
this is my olpc.fth, it was option 2, the usb which went the furthest, when I tried like 15 or so test on SD card, nothing really, other than loading vmlinuz.
Code: Select all
\ Menu bootscript for OLPC Place in /boot as olpc.fth
cr
." 1 to boot from SD" cr
." 2 to boot from USB" cr
." 3 to boot from internal NAND" cr
." 4 to boot alternate image from NAND" cr
cr
key case
[char] 1 of \ SD boot info
" ro root=mmcblk0p1 rootdelay=1 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
" sd:\boot\vmlinuz" to boot-device
endof
[char] 2 of \ USB boot info
" ro root=sda1 rootdelay=1 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
" disk:\boot\vmlinuz" to boot-device
" disk:\boot\vmlinuz" to ramdisk
endof
[char] 4 of \ Alternate boot image info
" ro root=mtd0 rootfstype=jffs2 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
" nand:\boot-alt\vmlinuz" to boot-device
" nand:\boot-alt\initrd.gz" to ramdisk
endof
( default ) \ Default sugar boot image info
" ro root=mtd0 rootfstype=jffs2 console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
" nand:\boot\vmlinuz" to boot-device
" nand:\boot\initrd.gz" to ramdisk
endcase
unfreeze
boot
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
another notes the isolinux.cfg states,
append pmedia=cd
ummm what CD? shouldn't that be somethings else like, pmedia=usbflash
ttuuxxx
append pmedia=cd
ummm what CD? shouldn't that be somethings else like, pmedia=usbflash
ttuuxxx
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
I tried some scripts my self (with Mitch Bradley's suggestions-thanks)
This one with and without pdev=1 gets me to "Invalid Opcode" Imediatelly
Commenting out (\) the " ro ..." line and transferring the root= to the vmlinuz line just stays on a blank screen.
Based on my yesterday's recompiling experiment (with the wrong quirky iso) that involved only the 2MB vmlinuz and gave me the same Opcode, I would that is something in the kernel.
XO's kernel requirments are really strange (to the extend that will not boot a normal PC or any emulation/virtualization thus the qumu kernel versions...).
Thus yesterday's question comes back.
Barry, what are the quirky minimal, mandatory kernel options
With these an OLPC/quirky kernel could be build (assuming there is no conflict)
Of course there is always the init script with the patched olpc kernel, option... eowens2 any news/progress???
PS: I guess Opcode might be related to the Geode-spefic 3D-Now instructions. This is actually the complain you get when you try to boot OLPC kernels in other (virtual)machines. That "the processor does not support 3D-Now".
Code: Select all
\ boot script
" ro root=/dev/sda1 rootfstype=fat console=tty0 fbcon=font:SUN12x22 video=fb:1200x900" to boot-file
" u:\vmlinuz pmedia=usbflash pdev=sda1" to boot file
setup-smbios
unfreeze
dcon-unfreeze
visible
boot
Commenting out (\) the " ro ..." line and transferring the root= to the vmlinuz line just stays on a blank screen.
Based on my yesterday's recompiling experiment (with the wrong quirky iso) that involved only the 2MB vmlinuz and gave me the same Opcode, I would that is something in the kernel.
XO's kernel requirments are really strange (to the extend that will not boot a normal PC or any emulation/virtualization thus the qumu kernel versions...).
Thus yesterday's question comes back.
Barry, what are the quirky minimal, mandatory kernel options
With these an OLPC/quirky kernel could be build (assuming there is no conflict)
Of course there is always the init script with the patched olpc kernel, option... eowens2 any news/progress???
PS: I guess Opcode might be related to the Geode-spefic 3D-Now instructions. This is actually the complain you get when you try to boot OLPC kernels in other (virtual)machines. That "the processor does not support 3D-Now".
Modifying pup_412's initrd.gz init script
Some of the more important changes I have made to Puppy 412's initrd.gz init include the following:
A limited set of modules (hardware, file systems, etc) that go with the newly compiled kernel of course have to be in init.
Line 52 - LAYERFS=unionfs (instead of = aufs; I never could get aufs to work)
Line 122 - this is the check status function, which would be evoked under certain error conditions, drop you to a shell, and report contents of some variables. I added a function,(modifying check status ())called dump (), which I could invoke by placing dump 0 at selected sites in init; at that point it would drop me to a shell and report pupmode, CREATEPUPXXXSFS, amount of free ram, .sfs file size, .sfs device location, .sfs device mount point as well as the last lines of /tmp/bootinit.log.
lines 211,212,215,216 commented because XO doesn't need modules for PCMCIA cards
line 266 commented out (modprobe nls_cp437) the module is unnecessary because XO kernel has this compiled into the body of the kernel
lines 921-25 commented out - this was a hack specifically for kernel 2.6.25.16 adding ssb modules
line 939 - adjusted [$RAMSIZE -gt 220000 -a "$PCOPY" = "yes"] downward a little, just to make sure I could get my bloated pup_412.sfs into RAM, then plan to clean up the mess later
line 991 - adjusted [ $RAMSIZE -gt 280000 ] downward - same reason as line 939
This init will proceed to a "dump 0" placed just before switch_root @ line 1350 ("exec switch_root /pup/new /sbin/init") without fatal error. The bootinit.log does list the problem "mount: mounting /dev/loop0 on /pup_ro2 failed, Invalid Argument" however.
When said "dump 0" is removed, we get the message "performing a switch root" and then kernel panic.
Is it crashing because it can't find the new OS on the (unmounted) /pup_ro2?
Anyone have any ideas?
Thanx.
P.S. I have been trying to look up some puppy source code and the site where I used to find them won't let me in. It now wants a user ID and password. Does anyone know where you get these?
A limited set of modules (hardware, file systems, etc) that go with the newly compiled kernel of course have to be in init.
Line 52 - LAYERFS=unionfs (instead of = aufs; I never could get aufs to work)
Line 122 - this is the check status function, which would be evoked under certain error conditions, drop you to a shell, and report contents of some variables. I added a function,(modifying check status ())called dump (), which I could invoke by placing dump 0 at selected sites in init; at that point it would drop me to a shell and report pupmode, CREATEPUPXXXSFS, amount of free ram, .sfs file size, .sfs device location, .sfs device mount point as well as the last lines of /tmp/bootinit.log.
lines 211,212,215,216 commented because XO doesn't need modules for PCMCIA cards
line 266 commented out (modprobe nls_cp437) the module is unnecessary because XO kernel has this compiled into the body of the kernel
lines 921-25 commented out - this was a hack specifically for kernel 2.6.25.16 adding ssb modules
line 939 - adjusted [$RAMSIZE -gt 220000 -a "$PCOPY" = "yes"] downward a little, just to make sure I could get my bloated pup_412.sfs into RAM, then plan to clean up the mess later
line 991 - adjusted [ $RAMSIZE -gt 280000 ] downward - same reason as line 939
This init will proceed to a "dump 0" placed just before switch_root @ line 1350 ("exec switch_root /pup/new /sbin/init") without fatal error. The bootinit.log does list the problem "mount: mounting /dev/loop0 on /pup_ro2 failed, Invalid Argument" however.
When said "dump 0" is removed, we get the message "performing a switch root" and then kernel panic.
Is it crashing because it can't find the new OS on the (unmounted) /pup_ro2?
Anyone have any ideas?
Thanx.
P.S. I have been trying to look up some puppy source code and the site where I used to find them won't let me in. It now wants a user ID and password. Does anyone know where you get these?
- ttuuxxx
- Posts: 11171
- Joined: Sat 05 May 2007, 10:00
- Location: Ontario Canada,Sydney Australia
- Contact:
hi username and passwords are just to stop spam
username:puppy
password:linux
username:puppy
password:linux
http://audio.online-convert.com/ <-- excellent site
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)
http://samples.mplayerhq.hu/A-codecs/ <-- Codec Test Files
http://html5games.com/ <-- excellent HTML5 games :)