[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: growisofs -use-the-force-luke=4gms doesn't work?


> * - -use-the-force-luke=4gms to allow ISO9660 directory structures
> *   to cross 4GB boundary, the option is effective only with DVD+R DL
> Now I've got a DVD+R DL, failed with 2 trials:
> $ growisofs -M /dev/sr0 -speed 1 -use-the-force-luke=4gms -iso-level 2 -r \
>   -J -V PHOTOS_YLS -old-root / \
>   -graft-points /tmp/empty Photos=Photos/ f-spot=.config/f-spot/
> :-( next session would cross 4GB boundary, aborting...

I read in growisofs.c of version 7.1:

     if (strstr(s,"4gms"))       no_4gb_check = 1;


     else if (next_session > (0x200000-0x5000)) /* 4GB/2K-40MB/2K */
        if (/*(mmc_profile&0xFFFF)<0x20 ||*/
            ((mmc_profile&0xFFFF)<0x40 && !no_4gb_check))
            fprintf (stderr,":-( next session would cross 4GB "
                            "boundary, aborting...\n"),
            exit (FATAL_START(ENOSPC));

(mmc_profile&0xFFFF)<0x40 means everything older than Blu-ray.
DVD+R DL has profile number 0x2b.

Nevertheless, if no_4gb_check is non-zero then this test should
not snap.
So it appears that for some reason the option
did not get into effect as no_4gb_check = 1.

One would have to insert a few printf statements in order to learn
what exactly goes wrong.

> I wonder if I could workaround this issue by replacing growisofs with 
> "genisoimage -C xx,xx -M" followed by "cdrskin"?

That should be possible. Your grwoisofs command would be:

  c_value=$(cdrskin dev=/dev/sr0 -msinfo 2>/dev/null)
  genisoimage -C $c_value -M /dev/sr0  -iso-level 2 -r -J -V \
              PHOTOS_YLS -old-root / -graft-points \
              /tmp/empty Photos=Photos/ f-spot=.config/f-spot/ \
  | cdrskin -v dev=/dev/sr0 -waiti -multi -eject -

This will work on CD-R[W], DVD-R[W], DVD+R, DVD+R DL, BD-R.
For media types DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE,
add in both cdrskin runs option --grow_overwriteable_iso .

The same should be possible by 
  xorriso -as mkisofs
  xorriso -as cdrecord
in the roles of genisoimage and cdrskin.

Have a nice day :)


Reply to: