Unbrickable Pandora - 'emegency Mode' F/w In Rom?


Still Fresh
Mar 11, 2008
Visit site
I going to throw a coin in and see what happens here !! Please forgive my complete non-dev, non-mod inexperience!! :blink: :blink:

I read somewhere about the Pandora being potentially ‘un-brickable’.

I think my JXD301 is also un-brickable – With the ‘301, if you do a ‘bad’ firmware upload, a certain combination of keys (I can’t remember which right now) seem to bring it back into an emergency mode, allowing you to re-flash again. In other words, I think this emergency mode coding is in a bit of ROM rather than NAND / Flash RAM, and is therefore must less corruptible.

I’m not talking about have the whole ‘emergency’ f/w available in a ROM area, as I realise that that’s cost prohibitive. But by having a little piece of coding in ROM, which could be accessed even after a main flash f/w screw-up, might allow you to at least re-flash and un-brick your unit.

Just a thought, but perhaps that type of approach could be used, if not already considered in the Pandora…
The Pandora's bootloader is designed to be unbrickable. The bootloader itself is on a ROM chip on the device, and will load code from the internal storage memory or an SD Card. It is unbrickable in the sense that a bad firmware re-flash can't break the bootloader.
As I understand, that may already be present; there's certainly anti-brick features present. If I understand correctly, it's a several-layered boot sequence to allow this, i.e.:

1) Pre-bootloader (hardcoded, non-upgradeable): Loads bootloader unless a key combination is pressed, whereupon it boots from SD.
2) Bootloader (upgradeable, but shouldn't need to be): Begins the boot process properly, loads 3) normally, but can be directed to 3a) if something's wrong with 3)
3) Normal Linux (upgradeable, and upgrades are probable)
3a) Backup image of linux (upgradeable optionally, but if you don't upgrade it and something goes wrong, then you'll have to re-upgrade after restoration. Or something).

'course, I'm probably wrong, but that's how I understand it. 1) and 2) I'm sure about; not certain of the presence of 3a, but I think I've heard it mentioned.
Both Tobriand and atomicthumbs is pretty much spot on.

There's currently a hardcoded bootloader that runs on a keypress (or just directly passes control to the next stage if no keypress detected), 2 bootloaders (X-Load & UBoot), and then Linux.
The way I assume things are, it's like a pc.

You've got your OS (operating system) which can run off the internal memory or an SD card.
Then you've got your underling bios/firmware.

Now on most handhelds much of the OS is integrated into the firmware. Screw it up entirely and your boned. There's sometimes ways around but it's tricky.

The Pandora will be more like a pc with an OS. You screw the OS, you just stick in a cd (or SD card) and reformat.
The Pandora, like with a pc, will also have it's very basic firmware/bios but it's kept basic and almost never needs upgrading. And even then it's small enough in size that it's hard to screw up if you're sensible.

Am I wrong at all here?
Squidge said:
There's currently a hardcoded bootloader that runs on a keypress (or just directly passes control to the next stage if no keypress detected), 2 bootloaders (X-Load & UBoot), and then Linux.
Is the hardcoded bootloader (which I guess is a ROM) being developed by Pandora team?
I hope it's not infected by TI (Mshield) or ARM (TrustZone) security features...
Last edited by a moderator:
I don't know if the hardcoded bootloader is being developed by anyone else in the "team", but I'm certainly not involved with it.

Zarneth: Pretty much, most people will have no reason to update the "bios", but even if they do (and screw it up), it's easy to get it back.
Squidge said:
2 bootloaders (X-Load & UBoot)
I hope this version of UBoot doesn't have the bug that makes it mark blocks as bad even though they aren't (this was the problem with the version used in the GP2X, wasn't it?). IIRC it was a bug not introduced by GPH but rather one that already existed in UBoot?
Last edited by a moderator: