Images, Sources, Rootfs!


EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,986
Age
47
Location
Ingolstadt
Well, we're still setting up stuff like repositories, etc.

In the meantime, here is also something you might be interested in:

http://openpandora.org/firmware/

From now on, you can grab ready-to-be-flashed ubifs-images there (the current one already includes Hotfix 3) or the rootfs which you can extract on your SD Card and boot from there.

Be aware that these images are FRESHLY BUILT and untested. They might have some bugs.
I will put links to the latest tested images on the Support-Page on the homepage (probably tonight).

The pandora-rootfs.tar.bz2 in the main directory always points to the latest rootfs (which is ideal for testing and reporting bugs).
Inside the images-directory, you can find the ubifs-images that can be used with the flashkit and also older images.
Inside the sources-directory, you can find the sourcecodes used to build the latest image.

For grabbing the recipes which are used by OE to built the image, check out http://git.openpandora.org/

Here is an example of how to install and run the latest rootfs-Image to your SD-Card:

1. Download the pandora-rootfs.tar.bz2
2. Format your SD-Card with EXT2 (not EXT3, etc.)
3. Extract the complete contents of pandora-rootfs.tar.bz2 onto the root of your SD-Card.
4. Create a file either named autoboot.txt (then the system will boot automatically off the SD Card) or boot.txt (then the system will boot off the NAND as default, but you can boot from SD Card by pressing and holding R while switching it on and selecting boot from SD Card).

The content of the autoboot.txt / boot.txt would be:

Code:
setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K
ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1
bootm 0x80300000

Of course, you can change the U-Boot script to your liking (if you know what you're doing).

Enjoy!
 
Is there any chance of having the SD version of the firmware as a loopback ext2 file also? I find that unpacking these things takes hours because of the many small files. Also, it would mean people can keep their cards formatted as fat32 or whatever. AFAIK Angstrom can be booted from such a file.

Is it possible to boot the ubifs files directly?
 
SomeGuy99 said:
Is there any chance of having the SD version of the firmware as a loopback ext2 file also?

Hm, don't know if OE can do this.

I find that unpacking these things takes hours because of the many small files. Also, it would mean people can keep their cards formatted as fat32 or whatever. AFAIK Angstrom can be booted from such a file.

Did that with the latest image - did take about 6 minutes on a normal 512MB SanDisk-Singlespeed SD Card.

Is it possible to boot the ubifs files directly?

http://groups.google.com/group/beagleboard/msg/f65b692981aec475

Seems possible on the Beagleboard, so should work on the Pandora as well.
Haven't tested it though.
 
Last edited:
Perhaps there is something wrong with my SD card then? It always took many hours for me, especially when done on the Pandora itself.

At the moment, I don't have Linux on my desktop - but I have installed ext2 drivers for XP. The only problem is that it doesn't seem to respect permissions, and copying over a rootfs fails when booting it because of bad permissions.

I know that Angstrom is capable of booting from loopback files as I have already done so; I picked up a very cheap Pocket PC last week, and the guide to booting on a Windows CE device had me put one on my SD card. Apart from the drivers not correctly working (something to do with the Hariet CE bootloader), it started and ran perfectly!
 
It took me about 10 minutes to do a file-by-file copy of the on-NAND rootfs to an ext2 formatted partition on the SD. Just remember to manually mount the SD without the sync flag (if you're not running HF3, atleast). And to get the real NAND fs file contents available somewhere, do mount --bind / /someplace.
 
some things who might good to know for people who want to make a Sd card to boot off to "play around"

* to add an ext2 partition to a Sd card in Ubuntu the easiest tool is "Gparted" (might need to add this using the synaptic package manager,) it then will show up in the system - administration menu as "partition editor"
* If you want to copy something on the card after this ( for example download the http://www.openpandora.org/firmware/pandora-rootfs.tar.bz2 to it) you need first to do in a terminal an
$sudo chown -your ubuntu user- /media/-label of your Sd card-
otherwise you will get a permission denied

* assuming the pandora-rootfs.tar.bz2 file is downloaded to the root of the SD card ( / directory) then the unpacking command is
$cd /media/-label of your Sd card-
$sudo tar xvfj pandora-rootfs.tar.bz2
(this will take while)

* after the untar do on the pandora , while booted from the normal os and the SD card plugged in the pandora do an
$sudo chmod 777 /media/-label of your Sd card-
otherwise you cannot edit/add/rename files to the Sd card when you boot with the nand (default) distro

If you use an "autoboot.txt file then the Sd card is booted by default (if inserted) but the "boot from SD1" does not show up when using the menu, "default boot" then goes to SD1
If you use "boot.txt" then the boot menu shows "Boot from SD1" (and it obviously does not boot this Sd card by default)


EvilDragon said:
Did that with the latest image - did take about 6 minutes on a normal 512MB SanDisk-Singlespeed SD Card.

I('m not sure how you do that :) I have just checked and I have on my 4Gb Sd card I formatted with extf2 (so clean start - nothing but the rootfs and after using now a few times in the pandora ) 2.7gb free and it say's "40,055 items, totalling 781.3 MB"
 
Last edited by a moderator:
I'm just dropping by to suggest that you could also include a .tar.bz2 of a pandora-core-image (CLI image), that I can boot my experimental kernels against (instead of risking borking of my XFCE partition). If you cant, maybe I'll some day/week have time to setup the OE build environment in some box, but just thought that if you have one ready in somebody's hdd, you could drop it in there, also.
 
I spent the last 36 hours getting my new 32G flash to boot, I have some comments that might be useful (maybe) for other folks, so I thought I'd put it here. No reply needed.

First, the comment on getting the flash to boot, the one on the Wiki, says you have to hold down the R. It took me a long time before I found out that what it should have said was to hold down the right shoulder button, not the letter R (as I read it first). Thanks on this (and other things) to aTc on the OpenPandora IRC channel.

This next isn't a bug, but when I finally got flash to boot, I found I couldn't get to my old home dir, and my home dir held files I needed to continue moving forward. That's not going to be too awful difficult for me to figure out, but the script that's used to boot flash ought to do something about mounting the old root dir somewhere for it to be visible.

When you're booted off the flash, and you want to move back to booting to the internal memory, you want to have the machine come to a complete stop, some point so that you're sure, if you pull the flash at that point, you won't be damaging the filesystem. That seems to be a problem, because everything I try just immediately circles back to another boot, you get no indication of when it's safe to pull the flash. Shutdown, when it's happening from flash, should have a buillt in 2 second pause at the actual halting point, with a printed "halting for N seconds".

Finally, I had a heck of a time getting the machine to go from the boot menu (which I got once I began using the right shoulder) to booting, and the trick that finally worked was to move the boot.txt to autoboot.txt. I haven't the least idea of why this fails as boot.txt, but it sure does, at least on my Pandora. I'd wanted to use boot.txt because when I'm doing things like this for the first time, I like to move in the smallest possible steps. Using autoboot.txt means you don't see the boot menu, but at least it works.

Boy, when you finally DO get flash booting going right, the Pandora sure becomes a nicely unlimited machine, far far better than any other palmtop I've ever seen. Some startup kinks, yes, but since when have you seen an opensource thing that didn't have documentation problems? Pandora is still relatively great.
 
chuckr said:
<*problems*>
It took me about an hour to make mine boot from SD. (The booting from SD part, i downloaded the toolchain and compiled my own kernel first, that in total was like 4 hours) If you want to stop the reboot cycle at a safe point just hold R to get the menu and pull the SD there (I'm so lazy that i just pull it on the u-boot logo + reset once to make sure it doesnt halt because it was trying to read from SD when it was pulled). The menu's "boot from SD" will always exec boot.txt and "normal boot" will do autoboot.txt. They work just fine (and are nice for kernel dev, i have stable kernel in autoboot.txt and experimental with boot.txt).
Mounting your NAND is rather simple, as root:
Code:
ubiattach /dev/ubi_ctrl -m 4
mount -t ubifs ubi0:rootfs /path/to/mount/point[code]
 
Last edited by a moderator:
urjaman said:
chuckr said:
<*problems*>
It took me about an hour to make mine boot from SD. (The booting from SD part, i downloaded the toolchain and compiled my own kernel first, that in total was like 4 hours) If you want to stop the reboot cycle at a safe point just hold R to get the menu and pull the SD there (I'm so lazy that i just pull it on the u-boot logo + reset once to make sure it doesnt halt because it was trying to read from SD when it was pulled). The menu's "boot from SD" will always exec boot.txt and "normal boot" will do autoboot.txt. They work just fine (and are nice for kernel dev, i have stable kernel in autoboot.txt and experimental with boot.txt).
Mounting your NAND is rather simple, as root:
Code:
ubiattach /dev/ubi_ctrl -m 4
mount -t ubifs ubi0:rootfs /path/to/mount/point[code]
[/quote]
I'll bet that "R" is regular developer shorthand for the right hand side shoulder button.  Try to remember here that you're not always talking to seasoned developers here, and most everyone else is very likely to make the entirely reaqsonable assumption that "R" means the letter R, not one of the shoulder buttons.  It's what threw me for a loop for a day, doesn't this sound reasonable?  I also need to say that once I got my lefthand flash booting (it's a 32G flash and has all the room I;ll ever need, I'd bet) several other odd things stopped being odd.  I haven't any idea at all why this is so (one of them is that it used to take me 10 iterations of entering my passphrase before my wifi would come up, now it works in one), but I'm extremely happy I did this.

Also, I've been thinking of writing some Objective-C programs ... but I don't know what the GCC executeable (the driver) program's called, and neither do I know if the opkg-installed gcc runs gcc's Objective-C.  Anyone else know?
 
Last edited by a moderator:
Duno if my problem belongs here but I can't boot from my SD card.
I prepare my card for boot OS from it in following steps (between steps I do some umounts, reboots and so, that sub-steps I don't remember exactly):
  • sudo fdisk
    • delete original FAT partition
    • add new primary partition 1
    • set primary partition 1 active
  • sudo mkfs -L myvolumlabel /dev/mmcblk0p1
  • sudo tar xvf pandora-rootfs.tar.bz2 wheretounpack
  • at last cp boot.txt rootofpreparedcard
I can't find anything wrong, but it doesn't boot. Instead of I get following screen:
Code:
Loading file "boot.txt" from mmc1 device 0:1 (xxa1)
186 bytes read
## Executing plain script at 82000000
" from mmc device 0:1 (xxa1).6.27.46-omap1
** File not found /boot/uImage-2.6.27.46-omap1
bootm - boot application imagem from memory

Usage:
bootm [addr [arg ...]]
    - boot application image stored in memory
        passing arguments 'arg ...'; when booting a Linux kernel.
        'arg' can be the address of an initrd image

Sub-commands to do partof the bootm sequence.  The sub-commands must be
issued in the order below (it's ok to not issue all sub-commands):
        start [addr [arg ...]]
        loados  - load OS image
        cmdline - OS specific command line processing/setup
        bdt     - OS specific bd_t processing
        prep    - OS specific prep before relocating or go
        go      - start OS
script finished.
Any suggestion or howto to study please?
 
peca said:
Code:
** File not found /boot/uImage-2.6.27.46-omap1
(I'm holding off a bit here...) Are you sure you have the kernel in /boot (of SD) (with that name)? Take the uImage at openpandora.org/firmware and drop it there with that name or copy from /boot (in NAND).
EDIT: +(of SD)
EDIT2:
peca said:
sudo tar xvf pandora-rootfs.tar.bz2 wheretounpack
You did use -C /where/to/unpack did you? (without it will only extract that file...), but atleast I would be able to tell the output of those two commands apart; it would list... if you said /media/mmcblk0p1... well maybe /media, but.... near nothing vs. all the files on earth starting with /boot (and including that kernel, had to check, so that shouldnt be a problem). Your descriptions of commands are so inexact that I cant say more (exactly), but I think that in the left SD card slots /boot doesnt have the kernel... or some other FS problem.
 
Last edited by a moderator:
urjaman said:
...Are you sure you have the kernel in /boot (of SD) (with that name)?
Yes, I check it many times, compare name in boot.txt and name of real file. It is the same. My boot.txt (I copypast it from EvilDragon's description or some blog (not sure about origin)), maybe is some mistake here:
Code:
setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K
ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1
bootm 0x80300000
urjaman said:
...You did use -C /where/to/unpack did you?
No, I didn't :)
EDIT: But I use "cd /media/destination" so tar should extract what I need. uImage is in /boot at least.
Edit: I mean uImage-2.6.27.46-omap1 is in appropriate /boot directory on SD card which is inserted into 1st slot.
 
Last edited by a moderator:
peca said:
uImage is in /boot at least
OK... :huh:
When i get home I'll update my u-boot (so that it has USB serial) and test a bit on that boot.txt (which is in README.txt of openpandora.org/firmware, btw). It sounds a bit different to mine, but that's mostly because mine a) loads kernel from FAT partition B) was copied from notaz's sound patch c) is modified by me... but anyways, the things I will check are:
1. How is ext2load supposed to be used, fatload goes like (this is from my boot.txt) "fatload mmc1 0 ${loadaddr} uImage"... but yeah I'm a bit mystified on this (i think it should have ext2load mmc1 0..., but dunno)
2. Will setenv work without "" over its parameter, i have setenv bootargs "<stuff>", could cause something mysterious but doubt it big time.
 
Last edited by a moderator:
Start by removing all '0x' from the script, u-boot only takes hex anyway.
Be sure you have u-boot from HF3, older one can't load kernel from ext2 (but it should complain differently in that case though).
 
I can not load the neuvoo stage 3 using the default Pandora kernel.
Uboot starts loading of the kernel image, then just black screen. No logs or error messages.
I suspect that the problem is caused by bootchart, because the gentoo rootfs does not contain the daemon. Specifying 'root=/linuxrc' or 'root=/sbin/init' doesn't help.
So i need a very base kernel to start with.
The pandora rootfs works fine BTW.
 
Vitel said:
I can not load the neuvoo stage 3 using the default Pandora kernel.
Uboot starts loading of the kernel image, then just black screen. No logs or error messages.
I suspect that the problem is caused by bootchart, because the gentoo rootfs does not contain the daemon. Specifying 'root=/linuxrc' or 'root=/sbin/init' doesn't help.
So i need a very base kernel to start with.
The pandora rootfs works fine BTW.
Drop the console= part in bootargs and you should have atleast some output regardless of the rootfs, no?
 
Last edited by a moderator:
I guess that I found error between keyboard and chair. I'm quite sure, that I'm using last version pandora-rootfs.tar.bz2, but it isn't true. I just download it again and it has different size from the one I used. So I do next steps:
  • remove card 2 (with data, pnds, pandora-rootfs.tar.bz2, etc) - just for to be safe
  • open terminal
  • unmount card 1 and mkfs - I gues that it is much more fast then deleting all that files
    Code:
    sudo umount /media/myvolume
    sudo mkfs -L myvolume /dev/mmcblk0p1
  • exit terminal
  • remove and after a while reinsert card 1 (empty one) then insert card 2 (with data)
    Code:
    cd /media/myvolume/
    sudo tar xvf /media/datacard/pandora-rootfs.tar.bz2
    sudo cp /media/datacard/boot.txt /media/myvolume/
But still no success. I get the same message:
Code:
Loading file "boot.txt" from mmc1 device 0:1 (xxa1)
186 bytes read
## Executing plain script at 82000000
" from mmc device 0:1 (xxa1).6.27.46-omap1
** File not found /boot/uImage-2.6.27.46-omap1
bootm - boot application imagem from memory

Usage:
bootm [addr [arg ...]]
    - boot application image stored in memory
        passing arguments 'arg ...'; when booting a Linux kernel.
        'arg' can be the address of an initrd image

Sub-commands to do partof the bootm sequence.  The sub-commands must be
issued in the order below (it's ok to not issue all sub-commands):
        start [addr [arg ...]]
        loados  - load OS image
        cmdline - OS specific command line processing/setup
        bdt     - OS specific bd_t processing
        prep    - OS specific prep before relocating or go
        go      - start OS
script finished.
An here is my boot.txt (doesn't work neither with not without "0x" prefixes):
Code:
setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K
ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1
bootm 0x80300000
 
Back
Top