XOpup Interest Group. Puppy Linux for the OLPC XO-1 laptop
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
Here are the kernel rpmsmavrothal wrote: PS. I'll upload last night's kernel rmps and srpm somewhere and post the link here shortly.
http://www.sendspace.com/file/rgznrx
eefde4b9e9ccc09e4fb2b2dd0ae2100b xopup_kernel_rpms.tgz (11.8MB)
For an F11-running XO you'll need kernel-firmware (install first) and kernel. Kernel-headers and kernel-devel are also included, well, for development. Don't be put off by the "DIRTY" suffix, it follows any unofficial kernel, build with OLPC's build system.
/lib/modules and /lib/firmware here (running on an XO)
http://www.sendspace.com/file/947sw7
80f698a9c6a814d538c5a8371f241854 XOpup_modules_firmw.tar.gz (3.2MB)
Keep in mind that the path is not correct.
The patched kernel source rpm is here
http://www.sendspace.com/file/jxntu3
75a416ed280e5dd4ba527747e079f288 kernel-2.6.31_xo1-20100117.0000.1.olpc.628e024_DIRTY.src.rpm (60MB)
Just in case you want to recompile. Though I strongly suggest to do it from the olpc git source (here is a novice howto)and patch it from source.
Get them while hot because sendspace does not keep them for long.
Does the second means that I'll have to add something in the initrd's modules.dep file? (what?) Something else in the initramfs?wmb@firmworks.com wrote: I see from the XOpupDOTconfig that you (mavrothal) posted earlier that indeed CONFIG_USB_LIBUSUAL=y . So you can try either unsetting that config option or "modprobe usb_libusual".
Last edited by mavrothal on Sun 17 Jan 2010, 20:32, edited 1 time in total.
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
I got the kernel RPM ...
Well, I was thinking you might try typing "modprobe usb-libusual" from the shell prompt, just as a test.
I did that, and got the complaint:
FATAL: Could not load /lib/modules/2.6.31_xo1*/modules.dep: No such file or directory
I looked for that file and, indeed, it isn't present. The containing directory is there, but modules.dep is not. The probable cause is a failure to do "depmod" after creating the modules.
I'm searching for an exact recipe for doing that.
Does the second means that I'll have to add something in the initrd's modules.dep file? (what?) Something else in the initramfs?[/quote]wmb@firmworks.com wrote: I see from the XOpupDOTconfig that you (mavrothal) posted earlier that indeed CONFIG_USB_LIBUSUAL=y . So you can try either unsetting that config option or "modprobe usb_libusual".
Well, I was thinking you might try typing "modprobe usb-libusual" from the shell prompt, just as a test.
I did that, and got the complaint:
FATAL: Could not load /lib/modules/2.6.31_xo1*/modules.dep: No such file or directory
I looked for that file and, indeed, it isn't present. The containing directory is there, but modules.dep is not. The probable cause is a failure to do "depmod" after creating the modules.
I'm searching for an exact recipe for doing that.
Assuming we are talking initramfs I rename the included 2.6.31.5 folder lib/modules to my kernel's name and I add '2.6.31.5' symlink to it.wmb@firmworks.com wrote: Well, I was thinking you might try typing "modprobe usb-libusual" from the shell prompt, just as a test.
I did that, and got the complaint:
FATAL: Could not load /lib/modules/2.6.31_xo1*/modules.dep: No such file or directory
I looked for that file and, indeed, it isn't present. The containing directory is there, but modules.dep is not. The probable cause is a failure to do "depmod" after creating the modules.
I'm searching for an exact recipe for doing that.
Is certainly not the right way but "modprobe usb_libusual" just complains that the module does not exists and indeed does dot
"modprobe usb_storage" gives the aforementioned complains
I could also upload my modified initamfs folder and vmlinuz and sfs file with the /lib/modules and firmware from this kernel (is a different one than the posted but only in the sense that I used last night's olpc git instead of Jan 9 - too much manual labor to repeat on the fly) if you think it would help. But I do not have the srpm for this build anymore.
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
modules.dep
To make the modules.dep, I did this:
where $DIR is the staging directory that contains lib/modules/2.6.31_xo1*
I then regenerated the initrd.gz to include the files that depmod created.
The XO-1 now gets much farther. It says it can't find the .sfs file.
/dev/sda is being probed correctly; I can do "fdisk /dev/sda" and view the partition table. But I cannot mount the filesystem. I tried this:
and got this:
Code: Select all
sudo depmod -b $DIR 2.6.31_xo1-20100117.0000.1.olpc.628e024_DIRTY
I then regenerated the initrd.gz to include the files that depmod created.
The XO-1 now gets much farther. It says it can't find the .sfs file.
/dev/sda is being probed correctly; I can do "fdisk /dev/sda" and view the partition table. But I cannot mount the filesystem. I tried this:
Code: Select all
mkdir /mnt/test
mount /dev/sda1 /mnt/test
- mount: mounting /dev/sda1 on /tmp/foo failed
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
mount progress
I still can't mount a FAT USB stick, but I did manage to mount an ext2 stick, so I moved all the files onto it.
Now it finds quirky_004.sfs . Here's what happens after that:
I'm going to sleep now.
Now it finds quirky_004.sfs . Here's what happens after that:
- forced copying into ram
Setting up the layered filesystem...
aufs test_add:243:mount[1300]: uid/gid/perm /pup_ro1 0/0/0755, 0/0/01777
aufs test_add:243:mount[1300]: uik/gid/perm /pup_ro2 0/0/0755, 0/0/01777
Performing a 'switch root' to the layered filesystem...
Kernel panic - not syncing: Attempting to kill init!
I'm going to sleep now.
Re: mount progress
Yes quirky-004.sfs has Barry's 2.6.31.5 kernel.wmb@firmworks.com wrote: Kernel panic - not syncing: Attempting to kill init![/list]So my next thought is - is there a copy of /lib/modules in quirky_004.sfs ? If so, it will be for the wrong kernel.
However the progress is amazing. Thank you.
So all is really needed is for Barry, you, ttuuxxx or somebody to built the XOpup with an OLPC-patched kernel
That is strange
I did add the usb-libusual in my init and added the dependencies for usbcore and usb-storage in modules.dep.
modprobe finds it correctly and usbcore registers new interface. My usb stick is recognized by manifacturer and loaded as sda (SCSI thought ).
Can not find the sfs files still
pupinfo script says that it can not mount /dev/sda1 in /mnt/sda1.
So the partition is recognized but for some reason can not be mounted.
It does sees that sda1 has a fat partition, however can not see the files in the partition. In contrast it does see the files in an ext2 formated SDcard (that has another OS)
At the end report correctly all the available disks in dev (stick and SDcard).
Anyone???
I did add the usb-libusual in my init and added the dependencies for usbcore and usb-storage in modules.dep.
modprobe finds it correctly and usbcore registers new interface. My usb stick is recognized by manifacturer and loaded as sda (SCSI thought ).
Can not find the sfs files still
pupinfo script says that it can not mount /dev/sda1 in /mnt/sda1.
So the partition is recognized but for some reason can not be mounted.
It does sees that sda1 has a fat partition, however can not see the files in the partition. In contrast it does see the files in an ext2 formated SDcard (that has another OS)
At the end report correctly all the available disks in dev (stick and SDcard).
Anyone???
Going on with an ext3 stick now and an sfs that does have the XOpup kernel modules.
As you can see in the photo everything looks OK, finding sfs, copying to ram etc, but no cigar Just stays there. I suspect that there is more to it in the build itself...
I just hope that Barry will get back to it and Mitch will wake up with a free day and a great enthusiasm
As you can see in the photo everything looks OK, finding sfs, copying to ram etc, but no cigar Just stays there. I suspect that there is more to it in the build itself...
I just hope that Barry will get back to it and Mitch will wake up with a free day and a great enthusiasm
Re: mount progress
Sory I just realised late that you may need kernel modules and firmware so I just uploaded them herewmb@firmworks.com wrote:So my next thought is - is there a copy of /lib/modules in quirky_004.sfs ? If so, it will be for the wrong kernel.
http://www.sendspace.com/file/947sw7
80f698a9c6a814d538c5a8371f241854 XOpup_modules_firmw.tar.gz (3.2MB)
Keep in mind that the path is not correct.
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Not for the OLPC XO unfortunately.technosaurus wrote:I rebuilt Barry's initrd.gz with all kernel modules gunzipped (its actually smaller) maybe thats the problem?
First Barry's kernel will not start, and if you use another one will be the wrong modules. Maybe for other geode LX machines, though is still missing usb-libusual.ko that solves the "find the stick" problem, at least on the XO.
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
Success
I'm looking at a Puppy desktop showing a bulldog riding a skateboard.
All I had to do to make it work (with mavrothal's kernel and the corresponding modules added to initrd.gz) was to add the line:
modprobe loop
in init at line 373, right after the "#filesystems" line
I expect that the same thing could be accomplished by modifying mavrothal's .config to have "CONFIG_BLK_DEV_LOOP=y" instead of "..=m", thus making it unnecessary to explicitly pull in the loop device module.
The other config change I would recommend is "CONFIG_NLS_CODEPAGE_437=m" instead of "..=m". That would suppress an error message that shows up in the boot error log, and might possibly solve the problem with FAT-formatted USB sticks.
If you want to see the boot error log, here is a recipe:
When going through the configuration menus for the display, I just chose some default values like the 'Z' timing option and 1024x768 because the real 1200x900 resolution wasn't offered. It didn't seem to cause any problems - the display came up in the correct resolution anyway.
One problem I did notice is that there were no icons for the desktop applications. Instead, they were represented on-screen by text names below where the icons would have been seen.
I tried the "write" application. It worked.
I did a shutdown. The system offered to make a puppy save file as usual, and that seemed to behave correctly, offering me the choice of saving on a USB stick or an SD card. The next reboot worked as expected, except that the touchpad did not work the second time.
This is with the old 3-section dual-mode ALPS touchpad, not the newer 1-section Synaptics pad. The ALPS touchpad has been a continuing source of problems for OLPC. The console log says:
psmouse serio1: packet spew detected (-2,0)
It is possible that using the OLPC DCON xorg.conf from an OLPC OS distribution might help.
For reference, here is my /boot/olpc.fth file:
The "Saving session to /quirkysave.2fs (sda1)..." step on shutdown is annoyingly slow, even though I chose a relatively small size for the file - 64M I think - without encryption. In my opinion, this long save time is so annoying as to negate some of Puppy's claimed performance advantages. It is possible that this USB stick is just slow, especially since it has an ext2 file system on it, which tends to confuse devices whose firmware is optimized for specific FAT layouts.
Sorry for the long rambling post, but I really have to get back to my real job working on XO-1.5, so I figured I should put down everything I discovered. I won't be able to help any more for awhile. I hope the rest of you can take it from here.
All I had to do to make it work (with mavrothal's kernel and the corresponding modules added to initrd.gz) was to add the line:
modprobe loop
in init at line 373, right after the "#filesystems" line
I expect that the same thing could be accomplished by modifying mavrothal's .config to have "CONFIG_BLK_DEV_LOOP=y" instead of "..=m", thus making it unnecessary to explicitly pull in the loop device module.
The other config change I would recommend is "CONFIG_NLS_CODEPAGE_437=m" instead of "..=m". That would suppress an error message that shows up in the boot error log, and might possibly solve the problem with FAT-formatted USB sticks.
If you want to see the boot error log, here is a recipe:
- Add "pfix=rdsh" to the cmdline (boot-file) in olpc.fth
When you get to the shell prompt, type "more /pup_new/initrd/tmp/bootinit.log"
- ..1022d00000028.. Geode LX Northbridge
..1022d00002081.. Geode LX display
..1022d00002082.. Geode AES encryption engine
..11ABd00004100.. OLPC/Marvell CaFe NAND FLASH controller
..11ABd00004101.. OLPC/Marvell CaFe SDHCI
..1022d00002093.. CS5536 AC97 audio controller
When going through the configuration menus for the display, I just chose some default values like the 'Z' timing option and 1024x768 because the real 1200x900 resolution wasn't offered. It didn't seem to cause any problems - the display came up in the correct resolution anyway.
One problem I did notice is that there were no icons for the desktop applications. Instead, they were represented on-screen by text names below where the icons would have been seen.
I tried the "write" application. It worked.
I did a shutdown. The system offered to make a puppy save file as usual, and that seemed to behave correctly, offering me the choice of saving on a USB stick or an SD card. The next reboot worked as expected, except that the touchpad did not work the second time.
This is with the old 3-section dual-mode ALPS touchpad, not the newer 1-section Synaptics pad. The ALPS touchpad has been a continuing source of problems for OLPC. The console log says:
psmouse serio1: packet spew detected (-2,0)
It is possible that using the OLPC DCON xorg.conf from an OLPC OS distribution might help.
For reference, here is my /boot/olpc.fth file:
Code: Select all
\ OLPC boot script
unfreeze visible setup-smbios
" u:\puppy\initrd.gz" to ramdisk
" setenv boot-file console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22" to boot-file
boot u:\puppy\vmlinuz
Sorry for the long rambling post, but I really have to get back to my real job working on XO-1.5, so I figured I should put down everything I discovered. I won't be able to help any more for awhile. I hope the rest of you can take it from here.
Thanks
Great to see booting success at last. Thanks, Mitch!
Congratulations, Mav, you supplied the kernel version and other tweaks.
Thanks also to Barry, ttuuxxx and TZ.
Congratulations, Mav, you supplied the kernel version and other tweaks.
Thanks also to Barry, ttuuxxx and TZ.
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].
Re: Thanks
Thank you raffy for contacting Mitch and Barryraffy wrote:Great to see booting success at last. Thanks, Mitch!
Congratulations, Mav, you supplied the kernel version and other tweaks.
Thanks also to Barry, ttuuxxx and TZ.
And now, all happy and that, can we get to work?
So ttuuxxx will you get it from here or would you rather have me (or any other willing person ) patch-up something that boots with the right kernel and initrd and make the real XOpup from there? Eg is it easier for development to have all the pieces yourself there (so a proper devx.sfs/kernel source can be posted) or you are ok the other way around?
Just in case you go for the full monty I attache the DOTconfig with Mitch' suggestions incorporated.
- Attachments
-
- XOpupDOTconfig_mitch.zip
- (15.54 KiB) Downloaded 419 times
-
- Posts: 17
- Joined: Tue 04 Sep 2007, 21:22
I don't know. I haven't done any serious benchmarks. The boot time is certainly faster that the OLPC OS with Sugar, but its not hugely faster than DebXO. The shutdown time, as I mentioned, is annoyingly slow. I expect the application startup time might be faster considering that things are already in RAM, but I haven't tested that specifically.mavrothal wrote:Wow
Just 3 very fast questions.
Is the performance improved over other distros?
If you make it to be "=m", then the "modprobe nls_cp437" line that is in init won't fail. I don't know if that is a real problem or not; you would think that having the code hard-compiled would be sufficient.and is the change in config "CONFIG_NLS_CODEPAGE_437=m" or "CONFIG_NLS_CODEPAGE_437=y"?
vmlinuz and initrd can be wherever the olpc.fth say they are. The location of the quirky*.sfs file depends on the search algorithm in init. I put quirky*.sfs in root, but it's possible that init will find it elsewhere too.Should initrd/vmlinuz/quircky.sfs be in a "puppy" folder or root of the stick is also OK?
Thanks again
It would be a really good thing for you to study init carefully and understand it. I get the sense that you are hesistant to do so, and several of the questions that you have asked me in the past seem to stem from the resulting knowledge gap.
You are pushing itwmb@firmworks.com wrote:It would be a really good thing for you to study init carefully and understand it. I get the sense that you are hesistant to do so, and several of the questions that you have asked me in the past seem to stem from the resulting knowledge gap.
My last computer class was on a univac and never got even close to it again (other than using a computer).
I got into linux less that 2 years ago when my last son declared the G1G1 XO-1 "too slow" and abandoned it.
For the most part scripting looks like Chinese stenography to me (no offense).
So we are not talking "gap" we are talking "abyss".
And looking for info and structured knowledge in linux is a very painful story. (The most common answer -if any- to "what's wrong with this lemon" is "have another one" at best, and "have an orange" usually )
Anyway, enough with my life's story.
Are you posting your XOpup anywhere?