Page 1 of 1

xdelta

Posted: Mon Apr 02, 2007 4:19 pm
by mark847
Is there a way to use the delta patches when you have customized ubcd4?

It seems that xdelta wants a particular size iso image before it starts. (401 --> 402).

A suggestion would be to only patch directories and files that match, but leave intact the custom directories that a user might add.

Thanks.

Posted: Mon Apr 02, 2007 6:42 pm
by ChrisB257
Mark - excuse me if I am a tad off topic but - I have just gotten to getting all this stuff together and wonder how to implement xdelta.exe.!! I am not as high on smarts as many here I suspect despite being involved on puters for many years. I struggle to remember all my DOS commands these days!

I had assumed initially it was an executable that would open a DOS console for me to continue but - all I get from that is a flicker of DOS box and then poof ... gone!

I did try to run that file from DOS but again no dice. Tried on backup machine too BTW.

I have yet to experience what you ask but you presumably got that .exe to run.

Can you or anyone let me know the correct method to run it so as to apply the patches?

Posted: Mon Apr 02, 2007 7:53 pm
by mark847
I had the xdelta.exe in the same directory as all the iso files.

I ran this from Win98SE, and open a DOS window. From Windows XP, <start><run>cmd
then cd to the right directory
Then I issued the command direct:
xdelta patch ubcd401.xdelta ubcd40.iso ubcd401.iso
This worked for me.

However, if I have copied all of my custom directories and files, how can I apply the patch? Or do I have to reapply all of my custom directories every time?

Posted: Mon Apr 02, 2007 10:29 pm
by Constance
You'll have to use the original release ISO, patch it with xdelta, and only once you have the new release ISO, customize it.

As since xdelta basically transforms a specific file into another, it will not work with an already modified source. Or it would certainly lead to most weird issues.

For if I understood well, here is how xdelta works :

To create a .xdelta file, xdelta compares two files.
It finds the differences between these two files, such as :
byte number xxxx has value A in File1, and value B in File2
File2 has following block of additional contents :
(insert block here).

So, it stores and somehow encodes all the data about these differences in a .xdelta file - in a way it is able to "understand" it.

Now, once you have File1, you just need the xdelta program and the associated "File1 to File2 .xdelta" file to "recover" File2 from these. Of course if your copy of File1 is altered, then there are two or three possibilities, depending on how xdelta truly works (as I don't know, here are suppositions) :

1 - maybe xdelta has stored some kind of checksum / hash in the .xdelta file to verify that you don't tell it to patch a wrong file, and thus shall refuse to patch
2 - xdelta doesn't store checksum info about File1, yet it will recognize if some bytes have wrong value and inform you about that. Up to you to choose if you continue (with good probability to get a corrupted output file) or not
3 - xdelta doesn't check anything and will let you "patch" any file o_O ... that would be crazy.

I'm almost sure it is working like #1, as it's the only option which seems to really make sense in my opinion.

Posted: Tue Apr 03, 2007 4:18 am
by Victor Chew
Constance is right. You can only apply a patch on a known source ISO image, not a customized one.

You can always patch the customized ISO image yourself. The bugs for V4.0 are listed on the Known Bugs page. You can, for example, download the latest version of syslinux and replace memdisk with the latest version, or edit "etc\autoset.bat" in each of the DOS images to increase the RAM disk size. The choice is yours, depending on which you think is less work for you.

Posted: Tue Apr 03, 2007 6:05 am
by mark847
Thank you Constance & Victor I now know how the patches work.

Thanks to all who contribute to this project.

Posted: Tue Apr 03, 2007 7:05 am
by ChrisB257
Thx Mark and all.

I put all files in one folder and successfully applied the patches.