XBReboot Block Layout:

Ox00 - 0x2F	4548 boot FW
0x30 - 0x3F	Backup Xell
0x40 - 0x4F	XBRfw.bin Rebooter core
0x50 - 0xBF	Patch.bin Kernel and patches
0xC0 - 0x??	Flash file system

Version: XBRfw 0.5beta Initial
The fw version need not change for any given Patch.bin 

Patch.bin is what needs to change for any new patch
The following are Patch.bin versions

8955_0: Initial
Don't need xextool:
 automatically detect correct key for dev or retail xex.
Drag and drop any xex to cdr.
No specific secdata.bin or crl.bin requirements.

Add support for PIRS
Fixed Backup Xell


1) Extract KV and Config blocks from orig.bin

nandpro orig.bin: -r16 rawkv.bin 1 1
nandpro orig.bin: -r16 rawconfig.bin 3de 2

2) Inject those blocks into XBR.bin

nandpro XBR.bin: -w16 rawkv.bin 1 1
nandpro XBR.bin: -w16 rawconfig.bin 3de 2

3) Flash result

nandpro lpt: -w16 XBR.bin


There is no need to unpack and repack pirs files!
This is a limitation of freeboot. Not XBR.
Aside from that major difference, all functionality is the same.

Individual sections can be updated or extracted seperately using nandpro.

The image can be made to work for all 16M consoles.

The standard method of using build.py can be used to change the
 4548 boot FW portion of the flash to the console type.


Create the image as described above.
The command to rebuild it might look like this:

 build.py XBR.bin CB CD update.bin xell-1f.bin XBRfw.bin smcp.bin

Then the .ecc file result from build.py would be "flashed" back into the XBR

 nandpro XBR.bin: -w16 image_00000000.ecc