Jump to content











Photo
- - - - -

Problems making grub4dos DVD with mkisofs


  • Please log in to reply
6 replies to this topic

#1 doveman

doveman

    Frequent Member

  • Advanced user
  • 444 posts
  • Location:Surrey
  •  
    United Kingdom

Posted 19 October 2009 - 03:32 AM

I'm just trying to put a multiboot DVD together and was using CDShell but I'm trying to use Grub4DOS instead now.

If I build the ISO with:
cdimage.exe -lDVD -t01/01/2006,12:00:00 -bI:\tech\AIODVD\BOOT\grldr -h -n -o -m I:\tech\AIODVD I:\tech\AIODVD.iso

then when I test it in VMware, Grub4DOS loads but can't find the menu.lst that's in the root.

So I followed the advice here:
http://diddy.boot-la.../install_cd.htm

and tried:
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o AIODVD.iso AIODVD

which does produce an ISO that boots Grub4DOS and loads my menu.lst. However, it also produces a lot of messages at the start of the build such as:
Using SYSTEM000 for ./rr_moved/SYSTEM (SYSTEM)
Using GDIPLUS001 for ./rr_moved/gdiplus (GDIPLUS)
Using WINDOWS002 for ./rr_moved/WINDOWS (WINDOWS)
Using GDIPLUS002 for ./rr_moved/GDIPLUS (GDIPLUS)
Using RETAIL000 for ./rr_moved/RETAIL (RETAIL)
Using RETAIL001 for ./rr_moved/RETAIL (RETAIL)

and the ISO has a RR_MOVED folder with lots of sub-folders, which is just wrong! After digging around, I worked out that adding -iso-level 4 sorts that one out but as I don't really know my way around mkisofs very well, I just wanted to ask if there's anything else that I need to add.

#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 19 October 2009 - 07:13 AM

and the ISO has a RR_MOVED folder with lots of sub-folders, which is just wrong! After digging around, I worked out that adding -iso-level 4 sorts that one out but as I don't really know my way around mkisofs very well, I just wanted to ask if there's anything else that I need to add.


Yes, mkisofs is a complex app, and making a "PE enabled" CD/DVD is a bit complex in itself.

The command line you used, even with the (needed) -iso-level 4 addition may still be missing some parts.

See here:
http://www.boot-land...?showtopic=5967

If it's a multiboot thing with duplicates files, you may need a version of mkisofs with the -duplicates-once switch, this one should have it:
http://www.wolfgang-...0-win32-bin.zip

jaclaz

#3 doveman

doveman

    Frequent Member

  • Advanced user
  • 444 posts
  • Location:Surrey
  •  
    United Kingdom

Posted 19 October 2009 - 12:55 PM

Yeah, I haven't got to the PE bit yet, just working on being able to install various Windows and load some iso/floppy images.

Thanks for the link to the thread, that should help me work out which switches I need.

Thanks for pointing out I need a version of mkisofs as well. I saw that -duplicates-once switch in a PE project script but didn't know the standard mkisofs didn't support it, so would have wasted some time trying to figure out why that wasn't working!

#4 doveman

doveman

    Frequent Member

  • Advanced user
  • 444 posts
  • Location:Surrey
  •  
    United Kingdom

Posted 20 October 2009 - 12:33 AM

Well I've made some progress (and learnt something) after spending all day fiddling around.

Rather annoyingly, mkisofs only seems to allow you to use a file in the root of the source folder for the -b switch, whereas cdimage allows you to specify a path to anywhere, so I ended up using that more whilst I was experimenting with different boot loaders. It also seems to be somewhat faster as well.

I was getting a "Please insert the disk labeled Windows XP Home Edition Service Pack 3 CD into Drive A:" error when trying to run the XP Home install. It turned out that the file win51ic.SP3 needs to be uppercase, even though it looks exactly like that on the original CD.

When I made the cdshell ISO, it worked because I wasn't using the -d switch, which means that all filenames were forced into uppercase. However, when making the GRUB ISO, I had to use that switch otherwise menu.lst was changed to MENU.LST and GRUB couldn't find it.

The solution was to manually change WIN51IC.SP3 to uppercase and then I could use the -d switch to prevent menu.lst being changed. The command that seems to be working is:
cdimage.exe -lDVD -bI:\tech\AIODVD\BOOT\grldr -e -h -d -n -o -m I:\tech\AIODVD I:\tech\AIODVD.iso

cdimage does have some joliet switches -j1 and -j2, but they can't be used at the same time as -d or -n (allows long filenames). Hopefully not using them won't cause any problems.

Now that I've found the problem, the following seems to work for mkisofs:
mkisofs -v -R -l -iso-level 4 -J -joliet-long -duplicates-once -b grldr -no-emul-boot -boot-load-size 4 -o AIODVD.iso AIODVD

By the way jaclaz, the version of mkisofs you linked to doesn't support the -duplicates-once switch, but the version I already had (mkisofs 2.01-bootcd.ru (i686-pc-mingw32) does.

#5 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 20 October 2009 - 08:38 AM

Yep, I posted a link to an "original" version, instead of the "bootcd.ru" one. ;)

This one works:
http://smithii.com/f...otcd.ru-w32.zip

A quick workaround for grub4dos is to edit the "embedded menu.lst" to point to MENU.LST instead of menu.lst, some reference:
http://diddy.boot-la...es/embedded.htm
http://www.boot-land...?...=8634&st=13
http://www.boot-land...?...c=6775&st=5
http://www.boot-land...?...=7231&st=25


or use the RockRidge extension (-r):
http://www.boot-land...?showtopic=6803

More loosely, there are reasons ;) why I use these commands on a PE CD:
http://www.boot-land...?...c=5967&st=2

:cheers:

jaclaz

#6 Jotnar

Jotnar

    Member

  • Members
  • 35 posts

Posted 28 October 2009 - 01:00 AM

mkisofs only seems to allow you to use a file in the root of the source folder for the -b switch

mkisofs wants you to use a unix style path for your boot loader. ie /ISOLINUX/isolinux.bin or /GRUB/grldr.bin or /BOOT/whatever.bin.

Cheers

#7 doveman

doveman

    Frequent Member

  • Advanced user
  • 444 posts
  • Location:Surrey
  •  
    United Kingdom

Posted 28 October 2009 - 09:37 PM

Ah, that's useful to know. Will allow me to keep grldr in a different directory to mkisofs.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users