[ kunalagon @ 07.01.2007. 13:06 ] @
Izgleda da je nemoguce napraviti iso od fajla veceg od 4 GB (4294967296 bajtova ), jer kako sam video i procitao mkisofs koristi 32bitan broj za duzino fajla i naravno ni jedan bajt veci fajl ne moze da stavi za pravljenje isofs-a. Autor cdrtools-a redovno izbacuje nove verzije a ne pada mu napamet da se pozabavi sa ovim problemom. Kaze da ima neka opcija deljenja fajla pa da ga onda cdrecord sklapa i sl. ali to naravno ne moze da radi u vecini GUI-a za cdrtools. ISO fajl sistem kako sam video ima ogranicenje velicine fajla u njenu na 2 GB, ali pomocu UDF strukture (ili fajls sitema) moguce je napraviti i od mnogo vecih fajlova, u mountovati normalno. Ovo je moguce uraditi jer znam da nero moze da napravi iso i od fajlova vecih od 6-7 GB (koliko sam probao).


evo tog fajla gde mkisofs proverava velicinu fajla (getnum.c):


Code:
/* @(#)getnum.c    1.3 06/09/13 Copyright 1984-2002, 2004 J. Schilling */
#ifndef lint
static    char sccsid[] =
    "@(#)getnum.c    1.3 06/09/13 Copyright 1984-2002, 2004 J. Schilling";
#endif
/*
 *    Number conversion routines to implement 'dd' like options.
 *
 *    Copyright (c) 1984-2002, 2004 J. Schilling
 */
/*
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * See the file CDDL.Schily.txt in this distribution for details.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file CDDL.Schily.txt from this distribution.
 */

#include <schily/mconfig.h>
#include <schily/standard.h>
#include <schily/utypes.h>
#include <schily/schily.h>

LOCAL    Llong    number        __PR((char *arg, int *retp));
EXPORT    int    getnum        __PR((char *arg, long *valp));
EXPORT    int    getllnum    __PR((char *arg, Llong *lvalp));

LOCAL Llong
number(arg, retp)
    register char    *arg;
        int    *retp;
{
    Llong    val    = 0;

    if (*retp != 1)
        return (val);
    if (*arg == '\0') {
        *retp = -1;
    } else if (*(arg = astoll(arg, &val))) {
        if (*arg == 'p' || *arg == 'P') {
            val *= (1024*1024);
            val *= (1024*1024*1024);
            arg++;

        } else if (*arg == 't' || *arg == 'T') {
            val *= (1024*1024);
            val *= (1024*1024);
            arg++;

        } else if (*arg == 'g' || *arg == 'G') {
            val *= (1024*1024*1024);
            arg++;

        } else if (*arg == 'm' || *arg == 'M') {
            val *= (1024*1024);
            arg++;

        } else if (*arg == 'f' || *arg == 'F') {
            val *= 2352;
            arg++;

        } else if (*arg == 's' || *arg == 'S') {
            val *= 2048;
            arg++;

        } else if (*arg == 'k' || *arg == 'K') {
            val *= 1024;
            arg++;

        } else if (*arg == 'b' || *arg == 'B') {
            val *= 512;
            arg++;

        } else if (*arg == 'w' || *arg == 'W') {
            val *= 2;
            arg++;
        }
        if (*arg == '*' || *arg == 'x')
            val *= number(++arg, retp);
        else if (*arg != '\0')
            *retp = -1;
    }
    return (val);
}

EXPORT int
getnum(arg, valp)
    char    *arg;
    long    *valp;
{
    Llong    llval;
    int    ret = 1;

    llval = number(arg, &ret);
    *valp = llval;
    if (*valp != llval) {
        errmsgno(EX_BAD,
            "Value %lld is too large for data type 'long'.\n",
                                    llval);
        ret = -1;
    }
    return (ret);
}

EXPORT int
getllnum(arg, lvalp)
    char    *arg;
    Llong    *lvalp;
{
    int    ret = 1;

    *lvalp = number(arg, &ret);
    return (ret);
}
[ kunalagon @ 09.01.2007. 12:45 ] @
Upravo sam primio odgovor od Joerg Schilling-a i kaze:

Citat:
mkisofs will soon support multi extent files. Then you will be able to have
8 TB files in iso-9660 ans 234 GB in udf.
[ Not now, John! @ 09.01.2007. 15:50 ] @
Da nema veze sa tim što koristiš FAT32?

Koliko znam dosta programa pravi IDO image od 4.4 GB bez problema, da li preko mkisofs ili nečeg drugog, ne znam (možda growisofs?).
[ kunalagon @ 15.01.2007. 09:41 ] @
Uh, dobro je... Jer me i onako do sada niko nije razumeo.
Jeste, pravi svaki program image velicine 4.4 GB, u linuxu trenutno samo nero pravi image od fajla veceg od 4294967296 Bajta. A za cdrtools(mkisofs) moram da cekam ne znam ni ja koju verziju da bi covek samo to dodao.
[ meka @ 17.01.2007. 01:44 ] @
Probaj CDRkit. Ljudi iz debian-a su popizdili na promenu licence, ćapili zadnju GPL verziju cdrtools-a i napravili ovo. Pored licence, ubačeno je dosta stvari, a najbitnija je podrška za UTF-8 (u prevodu, naša slova u imenu CD-a i ostalim stringovima pri kreiranju CD-a. Kako je to fork postojećeg paketa, ne bi trebao da imaš problema sa snalaženjem. Možda su tu sredili te stvari (stvarno nisam čitao sve izmene i patch-eve).
[ warhead @ 19.01.2007. 11:38 ] @
Bitno je koji imaš fajl sistem, ako je npr. FAT32, zaboravi.

ISO nema limita od 2 Gb, jer imam ISO image veličine 8.1 Gb :-)