Changeset 1063 in MondoRescue for branches/stable/mondo/src


Ignore:
Timestamp:
Jan 20, 2007, 11:37:55 PM (17 years ago)
Author:
Bruno Cornec
Message:
  • USB device support for mindi (Tested and Working)
  • Begining of USB device support for mondo (maybe not even compiling)
  • FindDistroFailsafe build process support
  • makemount list doesn't issue weird messages anymore around LVM
Location:
branches/stable/mondo/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/mondo/src/common/libmondo-archive.c

    r1049 r1063  
    187187#include "libmondo-archive.h"
    188188#include "lib-common-externs.h"
     189
     190#include "mr_mem.h"
    189191#include <sys/sem.h>
    190192#include <sys/types.h>
     
    694696    char *tmp;
    695697    char *tmp1 = NULL;
     698    char *tmp2 = NULL;
    696699    char *scratchdir;
    697700    char *command;
     
    946949        strcpy(value, "dvd");
    947950        break;
     951    case usb:
     952        strcpy(value, "usb");
     953        break;
    948954    default:
    949955        fatal_error("Unknown backup_media_type");
     
    10041010    log_msg(1, "lines_in_filelist = %ld", lines_in_filelist);
    10051011
     1012    if (bkpinfo->backup_media_type == usb) {
     1013        asprintf(&tmp2, "--usb %s", bkpinfo->media_device);
     1014    } else {
     1015        asprintf(&tmp2,"");
     1016    }
     1017
    10061018    sprintf(command,
    10071019/*     "mindi --custom 2=%s 3=%s/images 4=\"%s\" 5=\"%s\" \
    100810206=\"%s\" 7=%ld 8=\"%s\" 9=\"%s\" 10=\"%s\" \
    1009102111=\"%s\" 12=%s 13=%ld 14=\"%s\" 15=\"%s\" 16=\"%s\" 17=\"%s\" 18=%ld 19=%d",*/
    1010             "mindi --custom %s %s/images '%s' '%s' \
     1022            "mindi %s --custom '%s' '%s/images' '%s' '%s' \
    10111023'%s' %ld '%s' '%s' '%s' \
    1012 '%s' %s %ld '%s' '%s' '%s' '%s' %ld %d '%s'", bkpinfo->tmpdir,  // parameter #2
     1024'%s' %s %ld '%s' '%s' '%s' '%s' %ld %d '%s'",
     1025            tmp2,
     1026            bkpinfo->tmpdir,        // parameter #2
    10131027            bkpinfo->scratchdir,    // parameter #3
    10141028            bkpinfo->kernel_path,   // parameter #4
    1015             tape_device,        // parameter #5
    1016             tape_size_sz,       // parameter #6
    1017             lines_in_filelist,  // parameter #7 (INT)
    1018             use_lzo_sz,         // parameter #8
    1019             cd_recovery_sz,     // parameter #9
     1029            tape_device,            // parameter #5
     1030            tape_size_sz,           // parameter #6
     1031            lines_in_filelist,      // parameter #7 (INT)
     1032            use_lzo_sz,             // parameter #8
     1033            cd_recovery_sz,         // parameter #9
    10201034            bkpinfo->image_devs,    // parameter #10
    1021             broken_bios_sz,     // parameter #11
     1035            broken_bios_sz,         // parameter #11
    10221036            last_filelist_number,   // parameter #12 (STRING)
    10231037            estimated_total_noof_slices,    // parameter #13 (INT)
    1024             devs_to_exclude,    // parameter #14
    1025             use_comp_sz,        // parameter #15
    1026             use_lilo_sz,        // parameter #16
    1027             use_star_sz,        // parameter #17
     1038            devs_to_exclude,        // parameter #14
     1039            use_comp_sz,            // parameter #15
     1040            use_lilo_sz,            // parameter #16
     1041            use_star_sz,            // parameter #17
    10281042            bkpinfo->internal_tape_block_size,  // parameter #18 (LONG)
    10291043            bkpinfo->differential,  // parameter #19 (INT)
    1030             use_gzip_sz);       // parameter #20 (STRING)
     1044            use_gzip_sz);           // parameter #20 (STRING)
     1045
     1046    mr_free(tmp2);
    10311047
    10321048// Watch it! This next line adds a parameter...
  • branches/stable/mondo/src/common/libmondo-devices.c

    r958 r1063  
    18641864    case cdrw:
    18651865    case dvd:
     1866    case usb:
    18661867        if (archiving_to_media) {
    1867             if (bkpinfo->backup_media_type != dvd) {
     1868            if ((bkpinfo->backup_media_type != dvd) && (bkpinfo->backup_media_type != usb)) {
    18681869                if (ask_me_yes_or_no
    18691870                    ("Is your computer a laptop, or does the CD writer incorporate BurnProof technology?"))
     
    18841885                sprintf(sz_size, "%d", DEFAULT_DVD_DISK_SIZE);  // 4.7 salesman's GB = 4.482 real GB = 4582 MB
    18851886                log_msg(1, "Setting to DVD defaults");
     1887            } else if (bkpinfo->backup_media_type == usb) {
     1888                strcpy(bkpinfo->media_device, VANILLA_USB_DEVICE);
     1889                strcpy(sz_size, "512");
    18861890            } else {
    18871891                strcpy(bkpinfo->media_device, VANILLA_SCSI_CDROM);
     
    18901894                log_msg(1, "Setting to CD defaults");
    18911895            }
    1892             if (bkpinfo->backup_media_type != dvd) {
     1896            if ((bkpinfo->backup_media_type != dvd) && (bkpinfo->backup_media_type != usb)) {
    18931897                if (!popup_and_get_string("Speed", comment, tmp, 4)) {
    18941898                    log_to_screen("User has chosen not to backup the PC");
  • branches/stable/mondo/src/common/libmondo-string.c

    r841 r1063  
    11561156        strcpy(type_of_backup, "nfs");
    11571157        break;
     1158    case usb:
     1159        strcpy(type_of_backup, "USB");
     1160        break;
    11581161    default:
    11591162        strcpy(type_of_backup, "ISO");
  • branches/stable/mondo/src/common/mondostructures.h

    r998 r1063  
    184184    nfs,                        ///< Back up to an NFS mount on the local subnet.
    185185    tape,                       ///< Back up to tapes.
     186    usb,                        ///< Back up to USB devices.
    186187    udev                        ///< Back up to another unsupported device; just send a stream of bytes.
    187188} t_bkptype;
     
    323324   * The device we're backing up to.
    324325   * If backup_media_type is @b cdr, @b cdrw, or @b cdstream, this should be the SCSI node (e.g. 0,1,0).
    325    * If backup_media_type is @b dvd, @b tape, or @b udev, this should be a /dev entry.
     326   * If backup_media_type is @b dvd, @b tape, @b usb or @b udev, this should be a /dev entry.
    326327   * If backup_media_type is anything else, this should be blank.
    327328   */
  • branches/stable/mondo/src/mondoarchive/mondo-cli.c

    r999 r1063  
    372372    i = flag_set['c'] + flag_set['i'] + flag_set['n'] +
    373373        flag_set['t'] + flag_set['u'] + flag_set['r'] +
    374         flag_set['w'] + flag_set['C'];
     374        flag_set['w'] + flag_set['C'] + flag_set['U'];
    375375    if (i == 0) {
    376376        retval++;
     
    555555    }
    556556
     557    if (flag_set['U'])          // USB
     558    {
     559        if (! flag_set['d']) {
     560            fatal_error
     561                ("You need to specify a device file with -d for bootable USB device creation");
     562        }
     563        if (!flag_set['s']) {
     564            fatal_error("You did not specify a size (-s) for your USB device. Aborting");
     565        }
     566    }
     567
    557568    if (flag_set['r'])          // DVD
    558569    {
     
    617628            }
    618629        }
    619     } else {                    /* CD size */
     630    } else {                    /* CD|USB size */
    620631        if (flag_set['s']) {
    621632            if (process_the_s_switch(bkpinfo, flag_val['s'])) {
     
    667678    if (flag_set['w']) {
    668679        bkpinfo->backup_media_type = cdrw;
     680    }
     681    if (flag_set['U']) {
     682        bkpinfo->backup_media_type = usb;
    669683    }
    670684    if (flag_set['z']) {
     
    791805
    792806
    793     if (flag_set['d']) {        /* backup directory (if ISO/NFS) */
     807    if (flag_set['d']) {        /* backup directory (if ISO/NFS/USB) */
    794808        if (flag_set['i']) {
    795809            strncpy(bkpinfo->isodir, flag_val['d'], MAX_STR_LEN / 4);
     
    802816            strncpy(bkpinfo->nfs_remote_dir, flag_val['d'], MAX_STR_LEN);
    803817        } else {                /* backup device (if tape/CD-R/CD-RW) */
    804 
    805818            strncpy(bkpinfo->media_device, flag_val['d'], MAX_STR_LEN / 4);
    806819        }
     
    820833
    821834    if (!flag_set['d']
    822         && (flag_set['c'] || flag_set['w'] || flag_set['C'])) {
     835        && (flag_set['c'] || flag_set['w'] || flag_set['C'] || flag_set['U'])) {
    823836        if (g_kernel_version >= 2.6) {
    824837            if (popup_and_get_string
     
    10331046    while ((opt =
    10341047            getopt(argc, argv,
    1035                    "0123456789A:B:C:DE:FGHI:J:K:LNOP:QRS:T:VWb:c:d:ef:gik:l:mn:op:rs:tuw:x:z"))
     1048                   "0123456789A:B:C:DE:FGHI:J:K:LNOP:QRS:T:UVWb:c:d:ef:gik:l:mn:op:rs:tuw:x:z"))
    10361049           != -1) {
    10371050        if (opt == '?') {
Note: See TracChangeset for help on using the changeset viewer.