Nice work Wonko The Sane.
just wan't to clarifying some points.Tell me if i am right.
1) Each Linux distro ( parted magic , slitaz, etc) will have its own seperate .INI file
2) [Source Names] section will contain multiple version of same distros ( partedmagic-5.8.iso , partedmagic-5.7.iso etc ).
source001 = partedmagic-5.8.iso
source002 = partedmagic-5.7.iso
Not really (or at least that is not the original idea).
As I see it (but as said I am ready to change anything
), there are (there will be
) TWO types of .ini's:
- a plainer single source one
- a more complex multi source one
#1 above has NOT the [Source Names] section AND has a single [Source000] section and as many [<main_loader>] and [<method>] sections as needed.
#2 has the [Source Names] and any number of [Sourcelmn
] sections, each with as many [<main_loader>] and [<method>] sections as needed.
In practice #2 is aimed to be the "backbone" of each and any "compatible project".
In your case it would be "XBOOT.INI", in it there should be all the distro's/whatever XBOOT supports.
#1 is aimed to be the "single user contribution" OR a quick extract of any of the various .ini's (of type #2) that will hopefully be available.
As an example, to create the example I simply chose a distro (parted magic 5.8), searched a bit around, did a couple of tests and created the entries that worked for me (with grub4dos only).
If that was an actual file, it would be named partedmagic-5.8.ini.
Anyone can get it, add to it (say) some Syslinux [<method>] sections and post the enhanced .ini.
What you would do, provided that inside you "XBOOT.INI" you had used the previous version of partedmagic-5.8.ini, as (say):
Source317=Parted Magic 5.8
Would simply to replace the whole [Source317] with the [Source000] from the single .ini file, renaming it's section from [Source000] to [Source317].
On the other hand, if "user X" wanted to create a simple multiboot something with just Ubuntu 10.10 and Parted Magic 5.8, he/she would simply extract from your BOOT.INI [Source002] and [Source317] to single .ini's and then either:
- use the "verbal" instructions manually
- combine just the two mentioned .ini's in a new (say) myXBOOT.INI and use XBOOT for the build (*)
- combine just the two mentioned .ini's in a new (say) mySARDU.INI and use SARDU for the build (*)
- combine just the two mentioned .ini's in a new (say) myGREATNEWAPP.INI and use a new app expressly developed for them(*)
BUT nothing prevents to use multi-source .ini's as "containers" for all the versions of a given distro/whatever, as you pointed out. (and have XBOOT get data from multiple .ini files)
Again, all is needed is to extract the single .ini's and re-combine one or more on them in the "app main .ini".
I presume that a simple utility program to extract from multi-source .ini's the single .ini's and one to actually re-combine them at will would be trivial to write (NOT in .NET 4 - please
nothing prevents to optionally add inside each [<method>] section any number of "script lines" dedicated to the particular app, like:
XBOOT_01=copy /B afile.ext bfile.ext
XBOOT_02=hexedit bfile.ext offset 0x28 length 12 0x00
SARDU_01=xcopy /I /S /E /R /V /K /F /C /H adir bdir
SARDU_02= gsar bfile.ext -s
MYGREATNEWAPP_01=mysmartcopy adir bdir
MYGREATNEWAPP_02= mygreatpatcher bfile.ext somedata
(just random commands above, just as an example)
any "other" app will simply ignore these lines.