Printable Version of Topic
Click here to view this topic in its original format
The CD Forum > Bootable CDs > Experts For Mkisofs Needed...


Posted by: bobby100 Feb 29 2004, 01:29 PM
Ok, as all of you can see, this days I have a lot of free time

Idea is to make a GUI for Mkisofs, but I'm not so sure how, because I'm not familiar with all options ( what includes what, what excludes what etc..).

So, if someone have free time to help - he is wellcome.

Posted by: Guybrush Feb 29 2004, 07:35 PM
when iīve some spare time, im coding too...

i would start like this:
let mksiofs list all of his commands (iīm sure there ist an /? optin or something similar) and redir it into a a file, eg.: command.txt (>> command.txt)

then, open this in word, and make all the switches bigger and bold, ist fine for reading...

then, print it out...

sounds stupid, but it helps to habe it on paper than in digital form ...

then, first you should do ist making the graphical frontend, any buttons, checkboxes, radiobuttons, and all sorts of listboxes or similar, thats your thing.

i would keep it clear, easy to use and take care of the overview.
you could include an optin like in xpantispy (show experts options), so that an beginner isnīt afraid to check 20 checkboxes, 13 radiobuttons, 7 different sets of listboxes just to burn 1 single data-cd...

do not use more colours than the default (i suppose you are using windows) window-colors, it shouldnīt look kindergarden-like

start with the standartoptions, try them, and if ALL of them work, add the next feature/option...

if anything goes well, you could release your first complete gui as ver 1.0, not as 0.01a or such sick shit...

i wish you good luck, i was looking for such a gui for myself...

maybe i could use yourīs???


greetz from austria,
Guybrush

Posted by: bobby100 Feb 29 2004, 08:07 PM
You didn't understand what I was asking for.
I was asking for help with Mkisofs options, not with coding and user interface.
I dont know what option shud exclude other and so on...

Posted by: droemel Feb 29 2004, 08:15 PM
There is already a GUI for Linux/*nix at

http://www.abo.fi/~jmunsin/gcombust/

Maybe you'll find some usefull information.

Posted by: Guybrush Mar 1 2004, 12:22 PM
i understand, what yur mean, bobby!

iīm just a mkisofs-nerd too, i didnīt use it at least one time.

was just a little hint, if no one would help you, this is the way to try it yourself.
i know, that coding is no prob...

greetz guybrush

Posted by: ByteCoder Mar 1 2004, 07:24 PM
Here's the list of command line options available when using mkisofs.

QUOTE

Usage: mkisofs [options] file...
Options:
  -nobak                      Do not include backup files
  -no-bak                    Do not include backup files
  -abstract FILE              Set Abstract filename
  -A ID, -appid ID            Set Application ID
  -biblio FILE                Set Bibliographic filename
  -cache-inodes              Cache inodes (needed to detect hard links)
  -no-cache-inodes            Do not cache inodes (if filesystem has no unique unides)
  -check-oldnames            Check all imported ISO9660 names from old session
  -check-session FILE        Check all ISO9660 names from previous session
  -copyright FILE            Set Copyright filename
  -debug                      Set debug flag
  -b FILE, -eltorito-boot FILE
                              Set El Torito boot image name
  -eltorito-alt-boot          Start specifying alternative El Torito boot parameters
  -B FILES, -sparc-boot FILES Set sparc boot image names
  -G FILE, -generic-boot FILE Set generic boot image name
  -sparc-label label text    Set sparc boot disk label
  -c FILE, -eltorito-catalog FILE
                              Set El Torito boot catalog name
  -C PARAMS, -cdrecord-params PARAMS
                              Magic paramters from cdrecord
  -d, -omit-period            Omit trailing periods from filenames (violates ISO9660)
  -dir-mode mode              Make the mode of all directories this mode.
  -D, -disable-deep-relocation
                              Disable deep directory relocation (violates ISO9660)
  -file-mode mode            Make the mode of all plain files this mode.
  -f, -follow-links          Follow symbolic links
  -gid gid                    Make the group owner of all files this gid.
  -graft-points              Allow to use graft points for filenames
  -help                      Print option help
  -hide GLOBFILE              Hide ISO9660/RR file
  -hide-list FILE            File with list of ISO9660/RR files to hide
  -hidden GLOBFILE            Set hidden attribute on ISO9660 file
  -hidden-list FILE          File with list of ISO9660 files with hidden attribute
  -hide-joliet GLOBFILE      Hide Joliet file
  -hide-joliet-list FILE      File with list of Joliet files to hide
  -hide-joliet-trans-tbl      Hide TRANS.TBL from Joliet tree
  -hide-rr-moved              Rename RR_MOVED to .rr_moved in Rock Ridge tree
  -gui                        Switch behaviour for GUI
  -i ADD_FILES                No longer supported
  -input-charset CHARSET      Local input charset for file name conversion
  -output-charset CHARSET    Output charset for file name conversion
  -iso-level LEVEL            Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2
  -J, -joliet                Generate Joliet directory information
  -joliet-long                Allow Joliet file names to be 103 Unicode characters
  -jcharset CHARSET          Local charset for Joliet directory information
  -l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names
  -max-iso9660-filenames      Allow 37 character filenames for ISO9660 names (violates ISO9660)
  -L, -allow-leading-dots    Allow ISO9660 filenames to start with '.' (violates ISO9660)
  -log-file LOG_FILE          Re-direct messages to LOG_FILE
  -m GLOBFILE, -exclude GLOBFILE
                              Exclude file name
  -exclude-list FILE          File with list of file names to exclude
  -pad                        Pad output to a multiple of 32k (default)
  -no-pad                    Do not pad output to a multiple of 32k
  -M FILE, -prev-session FILE Set path to previous session to merge
  -N, -omit-version-number    Omit version number from ISO9660 filename (violates ISO9660)
  -new-dir-mode mode          Mode used when creating new directories.
  -force-rr                  Inhibit automatic Rock Ridge detection for previous session
  -no-rr                      Inhibit reading of Rock Ridge attributes from previous session
  -no-split-symlink-components
                              Inhibit splitting symlink components
  -no-split-symlink-fields    Inhibit splitting symlink fields
  -o FILE, -output FILE      Set output file name
  -path-list FILE            File with list of pathnames to process
  -p PREP, -preparer PREP    Set Volume preparer
  -print-size                Print estimated filesystem size and exit
  -P PUB, -publisher PUB      Set Volume publisher
  -quiet                      Run quietly
  -r, -rational-rock          Generate rationalized Rock Ridge directory information
  -R, -rock                  Generate Rock Ridge directory information
  -s TYPE, -sectype TYPE      Set output sector type to e.g. data/xa1/raw
  -sort FILE                  Sort file content locations according to rules in FILE
  -split-output              Split output into files of approx. 1GB size
  -stream-file-name FILE_NAME Set the stream file ISO9660 name (incl. version)
  -stream-media-size #        Set the size of your CD media in sectors
  -sysid ID                  Set System ID
  -T, -translation-table      Generate translation tables for systems that don't understand long filenames
  -table-name TABLE_NAME      Translation table file name
  -ucs-level LEVEL            Set Joliet UCS level (1..3)
  -udf                        Generate UDF file system
  -dvd-video                  Generate DVD-Video compliant UDF file system
  -uid uid                    Make the owner of all files this uid.
  -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660). Forces -l, -d, -L, -N, -relaxed-filenames, -allow-lowercase, -allow-multidot
  -relaxed-filenames          Allow 7 bit ASCII except lower case characters (violates ISO9660)
  -no-iso-translate          Do not translate illegal ISO characters '~', '-' and '#' (violates ISO9660)
  -allow-lowercase            Allow lower case characters in addition to the current character set (violates ISO9660)
  -allow-multidot            Allow more than one dot in filenames (e.g. .tar.gz) (violates ISO9660)
  -use-fileversion LEVEL      Use file version # from filesystem
  -v, -verbose                Verbose
  -version                    Print the current version
  -V ID, -volid ID            Set Volume ID
  -volset ID                  Set Volume set ID
  -volset-size #              Set Volume set size
  -volset-seqno #            Set Volume set sequence number
  -x FILE, -old-exclude FILE  Exclude file name(depreciated)
  -hard-disk-boot            Boot image is a hard disk image
  -no-emul-boot              Boot image is 'no emulation' image
  -no-boot                    Boot image is not bootable
  -boot-load-seg #            Set load segment for boot image
  -boot-load-size #          Set numbers of load sectors
  -boot-info-table            Patch boot image with info table
  -XA                        Generate XA directory attruibutes
  -xa                        Generate rationalized XA directory attruibutes
  -z, -transparent-compression
                              Enable transparent compression of files
  -hfs-type TYPE              Set HFS default TYPE
  -hfs-creator CREATOR        Set HFS default CREATOR
  -g, -apple                  Add Apple ISO9660 extensions
  -h, -hfs                    Create ISO9660/HFS hybrid
  -H MAPPING_FILE, -map MAPPING_FILE
                              Map file extensions to HFS TYPE/CREATOR
  -magic FILE                Magic file for HFS TYPE/CREATOR
  -probe                      Probe all files for Apple/Unix file types
  -mac-name                  Use Macintosh name for ISO9660/Joliet/RockRidge file name
  -no-mac-files              Do not look for Unix/Mac files (depreciated)
  -boot-hfs-file FILE        Set HFS boot image name
  -part                      Generate HFS partition table
  -cluster-size SIZE          Cluster size for PC Exchange Macintosh files
  -auto FILE                  Set HFS AutoStart file name
  -no-desktop                Do not create the HFS (empty) Desktop files
  -hide-hfs GLOBFILE          Hide HFS file
  -hide-hfs-list FILE        List of HFS files to hide
  -hfs-volid HFS_VOLID        Volume name for the HFS partition
  -icon-position              Keep HFS icon position
  -root-info FILE            finderinfo for root folder
  -input-hfs-charset CHARSET  Local input charset for HFS file name conversion
  -output-hfs-charset CHARSET Output charset for HFS file name conversion
  -hfs-unlock                Leave HFS Volume unlocked
  -hfs-bless FOLDER_NAME      Name of Folder to be blessed
  -hfs-parms PARAMETERS      Comma separated list of HFS parameters
  -prep-boot FILE            PReP boot image file -- up to 4 are allowed
  --cap                      Look for AUFS CAP Macintosh files
  --netatalk                  Look for NETATALK Macintosh files
  --double                    Look for AppleDouble Macintosh files
  --ethershare                Look for Helios EtherShare Macintosh files
  --exchange                  Look for PC Exchange Macintosh files
  --sgi                      Look for SGI Macintosh files
  --macbin                    Look for MacBinary Macintosh files
  --single                    Look for AppleSingle Macintosh files
  --ushare                    Look for IPT UShare Macintosh files
  --xinet                    Look for XINET Macintosh files
  --dave                      Look for DAVE Macintosh files
  --sfm                      Look for SFM Macintosh files
  --osx-double                Look for MacOS X AppleDouble Macintosh files
  --osx-hfs                  Look for MacOS X HFS Macintosh files


If you need more help on them please consult
QUOTE
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/man/mkisofs-2.0.html


It took me a while of fiddling around with various switches until I got desired result.

Posted by: Bernd Blaauw Mar 2 2004, 12:07 AM
GUI for which platform(s)?

Linux already has one.

options are many, but on non-Unix (Linux) platforms, not many options are used commonly.

you could just start simple.

*input directory (browse)
*output file (-o option)

*bootable cd function
(browse for a file, option -b , options with "boot" in it)

*type of filesystem
(ISO9660, Joliet, ISO9660:1999, etcetera

-l -N -R -r options are also used a lot.


Posted by: bobby100 Mar 2 2004, 05:26 PM
OK, I know what options I'll include, but is there some order for this parameters or they can be parsed to Mkisofs in any order (without order) ?
What about forlder names that contains spaces, should they go under quotas ("") ?
My idea is that this GUI shoul make BAT files that can be executed from GUI (as I did for PPMtoLSS convertor GUI). How should I parse LFN to BAT file? With folder name in quotas?

Posted by: this-is-me Mar 2 2004, 06:03 PM
no order.
lfn with quotes.

Posted by: cdob Mar 3 2004, 04:40 PM
Try this guis first:
http://demosten.com/cdrfe/
http://home.arcor.de/kerberos002/
http://cdr.dpaehl.de/

http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/man/mkisofs-2.0.html

I prefer win-batches and shell-scripts.

Posted by: goldfndr Mar 31 2004, 06:59 AM
Is there a mirror site for CDRFE? They seem to have dropped off the face of the earth (or I just am not well-connected). And a site that has http://www.google.com/search?q=cdrfe13 is unavailable too!

Posted by: bobby100 May 2 2004, 03:34 PM
OK people, I know that I was promising too much, but I didn't have enough time (I'm student - that is my priority).
After some work, alpha version looks like this:

*screenshot removed*

Please tell me if something is missing, and if something is too much.
Also, tell me if something should be disabled if some other option isn't selected. I allready know for boot options, but what about following links etc...

If you give me enough feedback (that I dont need to do a lot of experimenting) this one may be finished next weekend.

Cheers
Boban Spasic aka bobby100


--------------------------------------------
Edited
--------------------------------------------
Ok, I saw that I have some typos (RockRidge not RockRide)...
Saving and loading Templates also planed...

Posted by: Bernd Blaauw May 3 2004, 06:09 PM
impressive GUI

what's the "boot catalog" for?
IMHO, it's automatically renewed/updated.

note that MKISOFS is case-sensitive (because it's Cygwin..and thus Unix),
so "isolinux/isolinux.bin" is case sensitive.

maybe also option to remove "read-only" attribute from all contents of cd?
if you copy files from cd to harddisk, not always the read-only attribute is removed.
(and thus isolinux.bin can't be updated)

"cache inodes" only makes sense when using Reanimatolog's DFL.EXE
(Duplicate File Linker).

perhaps also an option to burn cd's immediately, using popular commandline burning programs (CDRECORD, NeroCMD [included in Nero])

"full ISO9660" and "max ISO filenames" seem to be incompatible?
then why 2 checkboxes?

"boot-info-table" sometimes is a requirement, not an option..

give boot-load-segment a default value please ("07C0" ?),
as well as boot-load-size ("4")

a MAKE BATCH also implies a "Load Batch(-options from file)" option?
(so I won't have to enter settings each time, but can change folders.

Posted by: cdob May 4 2004, 01:01 PM
Do you make a GUI for bootable cds first?

Bernd mentioned some points already.

You don't have to use '-J -joliet-long', '-joliet-long' sets 'J' automatically.

ISO9660:1999 is very importand for bootable cds. There exist no level 4, mkisofs maps level 4 internally. Include a 'ISO9660:1999' point seperately.

Initialisation for -iso-levels see mkisofs.c, e.g. ISO9660:1999 set '-N' by default. Select the appropiate points.

Include a point '-output-charset', select charset (e.g. -output-charset cp850). Mkisofs supports 8-bit charsets for ISO9660:1999, see name.c.

Yes, follow-links and -cache-inodes are disabled for win32 by default.

BTW: I like to gzip diskimages using isolinux. Drive Fitnes Test:
CODE
label dft
   kernel memdisk
   append initrd=dft.gz

@Bernd
Microsoft supports hardlinks nowadays. Cache inodes makes sense, if you use hardlinks. Mkisofs creates one file and two links.

Posted by: Preacher May 4 2004, 08:29 PM
QUOTE (bobby100 @ May 2 2004, 01:34 PM)
-------------------------------------------
Edited
--------------------------------------------
Ok, I saw that I have some typos (RockRidge not RockRide)...

Under "advanced options" you have "allow multidot" (5th option down the list)

(1) Can we assume that you mean multiBOOT?
(2) If so, didja already catch that as one of the typos, or is this the first mention you heard of it? In any event. if the answer to (1) was "yes", then presumbaly that will be corrected...

Posted by: bobby100 May 5 2004, 12:17 AM
Multidot means something like this: myfile.zip.rar (two dots)

Posted by: bobby100 May 12 2004, 11:55 PM
Some progress report:

*screenshot removed*

Most of the options tested. Auto-disable and enable (dependencies) resolved for most options.
I need example for boot load segment, how is that used?

Any advice is wellcome. If somebody mean that some other mkisofs option should be included - let me know.

Regards
Boban Spasic aka bobby100

Posted by: this-is-me May 13 2004, 12:43 AM
Everything looks good to me, could you please post the current version somewhere for download?

Posted by: bobby100 May 13 2004, 08:10 PM
I still have some problems if mkisofs.exe is in folder that have spaces in name.
E.g. this one won't work: C:\this is folder with spaces\mkisofs.exe
The problem is that I have done mkisofs GUI like BAT file generator. And spaces in folder names aren't recognized in BAT files. I'll try to solve this soon. Advices are very wellcome.
After solving this I'll release it just for few people that are really interested in testing and finding bugs. No alphas or betas will be released for public, I'll give download link just per e-mail.

Posted by: Preacher May 13 2004, 08:53 PM
QUOTE (bobby100 @ May 4 2004, 10:17 PM)
Multidot means something like this: myfile.zip.rar (two dots)

Ah, OK. Thx 4 the clarification...

Posted by: bobby100 May 13 2004, 10:12 PM
Ok, alpha verision is done, works well under WinXP. I'm sure that it doesn't work under Win9x. I have solved a lot of problems just by leting out the support for Win98 ( I hope you understand what I'v wrote here ).

So...
PM for the link. I don't want to be unfair, but for ILM beta was a lot of downloads, but nobody helped me finding bugs..

See you soon, I hope that version 1.0 will be available in few days.

Regards
Spasic Boban aka bobby100




Posted by: bobby100 May 15 2004, 12:30 PM
Yup, there is a progress on this, thanks to DigiWiz some bugs in alpha solved.
Beta testers, check your PMs for new link.

regards

bobby100

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)