Changeset 3888 in MondoRescue
- Timestamp:
- Mar 10, 2024, 8:16:15 PM (7 weeks ago)
- Location:
- branches/3.3
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mindi/README.uefi
r3886 r3888 43 43 Shell> bcfg boot dump -v -b 44 44 45 ------------------------------ 46 From https://unix.stackexchange.com/questions/753773/create-a-uefi-bootable-cd-with-isolinux 47 not specific to CD, but here is general guide how to make syslinux UEFI bootable medium: 48 49 parted /dev/sdf mklabel gpt 50 parted /dev/sdf mkpart boot fat32 0% 100% 51 parted /dev/sdf set 1 esp on 52 parted /dev/sdf set 1 boot on 53 54 mkfs.vfat -F 32 /dev/sdf1 55 56 mount /dev/sdf1 /mnt/tmp/ 57 58 mkdir -p /mnt/tmp/EFI/BOOT/ 59 60 cp /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi /mnt/tmp/EFI/BOOT/BOOTX64.EFI 61 cp /usr/lib/syslinux/modules/efi64/menu.c32 /mnt/tmp/EFI/BOOT/ 62 cp /usr/lib/syslinux/modules/efi64/ldlinux.e64 /mnt/tmp/EFI/BOOT/ 63 cp /usr/lib/syslinux/modules/efi64/libutil.c32 /mnt/tmp/EFI/BOOT/ 64 65 umount /mnt/tmp/ 66 67 efibootmgr --create --disk /dev/sdf --part 1 --loader /EFI/BOOT/BOOTX64.EFI --label "syslinux" --unicode 68 ------------------------------ 69 70 71 45 72 Please report any problem around that tool to bruno@mondorescue.org 46 73 Bruno. -
branches/3.3/mindi/mindi
r3887 r3888 2161 2161 # Needs a bigdir variable setup before calling it 2162 2162 2163 # copy (e)lilo/isolinux/grub/whatever stuff into it as well2163 # copy lilo/isolinux/grub/whatever stuff into it as well 2164 2164 # to get it on the media (in addition to the boot part 2165 2165 # and also to support UEFI boot mechanism … … 3537 3537 export MINDI_EXCLUDE_DEVS="${14}" 3538 3538 USE_COMP="${15}" 3539 USE_LILO="${16}" 3540 USE_STAR="${17}" 3541 INTERNAL_TAPE_BLOCK_SIZE="${18}" 3542 DIFFERENTIAL="${19}" 3543 USE_GZIP="${20}" 3544 USE_LZMA="${21}" 3545 NOT_BOOT="${22}" 3546 BOOT_TYPE="${23}" 3539 USE_STAR="${16}" 3540 INTERNAL_TAPE_BLOCK_SIZE="${17}" 3541 DIFFERENTIAL="${18}" 3542 USE_GZIP="${19}" 3543 USE_LZMA="${20}" 3544 BOOT_TYPE="${21}" 3547 3545 [ "$USE_COMP" = "" ] && USE_COMP=yes 3548 3546 [ "$USE_GZIP" = "" ] && USE_GZIP=no 3549 3547 [ "$USE_LZMA" = "" ] && USE_LZMA=no 3550 [ "$NOT_BOOT" = "" ] && NOT_BOOT=no3551 3548 [ "$TAPEDEV" ] && LogAll "INFO: This is a tape-based backup. Fine." 3552 3549 # MONDO_ROOT is the real scratchdir … … 3601 3598 LogFile "DIFFERENTIAL = $DIFFERENTIAL" 3602 3599 LogFile "INTERNAL TAPE BLOCK SIZE = $INTERNAL_TAPE_BLOCK_SIZE" 3603 LogFile "NOT_BOOT = '$NOT_BOOT'"3604 if [ "$NOT_BOOT" != "" ] && [ "$NOT_BOOT" != "0" ] && [ "$NOT_BOOT" != "no" ] ; then3605 LogAll "INFO: Just creating $MRCFG and a small all.tar.gz for Mondo. Nothing else."3606 MakeMondoConfigFile $MINDI_TMP/$MRCFG3607 MakeMountlist $MINDI_TMP/mountlist.txt3608 CheckMountlist $MINDI_TMP/mountlist.txt3609 mkdir -p $MINDI_TMP/small-all/tmp3610 cp -f $MINDI_TMP/{mountlist.txt,$MRCFG,filelist.full.gz,biggielist.txt} $MINDI_TMP/small-all/tmp 2>> $LOGFILE || Die "Cannot copy small all.tar.gz"3611 (cd $MINDI_TMP/small-all ; tar -cv ./tmp | gzip -9 > $MINDI_TMP/all.tar.gz 2>> $MINDI_TMP/$$.log || Die "Cannot make small all.tar.gz" $MINDI_TMP/$$.log)3612 sleep 23613 LogAll "Done. Exiting."3614 MindiExit 03615 fi3616 3600 3617 3601 if [ "$PROMPT_MAKE_USB_IMAGE" = "yes" ] && [ "$USBDEVICE" != "" ]; then -
branches/3.3/mondo/src/common/libmondo-archive.c
r3885 r3888 683 683 * - @c call_burn_iso 684 684 * - @c call_make_iso 685 * - @c make_cd_use_lilo686 685 * - @c manual_cd_tray 687 686 * - @c scratchdir … … 845 844 mr_free(tmp); 846 845 log_msg(1, "Making bootable backup"); 847 848 #ifdef __FreeBSD__ 849 bkpinfo->make_cd_use_lilo = TRUE; 850 #endif 851 852 853 log_msg(1, "make_cd_use_lilo is actually %d", bkpinfo->make_cd_use_lilo); 854 if (bkpinfo->make_cd_use_lilo) { 855 log_msg(1, "make_cd_use_lilo = TRUE"); 856 mr_asprintf(full_isofs_cmd, "%s%s-b images/mindi-bootroot.img -c images/boot.cat -o '_ISO_' .",isofs_cmd,MONDO_MKISOFS); 857 // FIXME: fixed boot size probably wrong. lilo to be removed 858 res = eval_call_to_make_ISO(full_isofs_cmd, destfile, g_current_media_number, message_to_screen); 859 mr_free(full_isofs_cmd); 846 log_msg(1, "Isolinux"); 847 if (bkpinfo->boot_type == UEFI) { 848 if (strstr(isofs_cmd,"xorriso")) { 849 /* xorriso needs another '-' before efi-boot */ 850 mr_asprintf(uefistr, "%s -%s", MONDO_UEFI_PREFIX, MONDO_MKISOFS_UEFI); 851 } else { 852 mr_asprintf(uefistr, "%s %s", MONDO_UEFI_PREFIX, MONDO_MKISOFS_UEFI); 853 } 860 854 } else { 861 log_msg(1, "make_cd_use_lilo = FALSE"); 862 log_msg(1, "Isolinux"); 863 if (bkpinfo->boot_type == UEFI) { 864 if (strstr(isofs_cmd,"xorriso")) { 865 /* xorriso needs another '-' before efi-boot */ 866 mr_asprintf(uefistr, "%s -%s", MONDO_UEFI_PREFIX, MONDO_MKISOFS_UEFI); 867 } else { 868 mr_asprintf(uefistr, "%s %s", MONDO_UEFI_PREFIX, MONDO_MKISOFS_UEFI); 869 } 870 } else { 871 mr_asprintf(uefistr, "%s",MONDO_MKISOFS_CMS); 872 } 873 mr_asprintf(full_isofs_cmd, "%s%s%s-o '_ISO_' .",isofs_cmd,MONDO_MKISOFS_REGULAR_SYSLINUX,uefistr); 874 mr_free(uefistr); 875 876 res = eval_call_to_make_ISO(full_isofs_cmd, destfile, g_current_media_number, message_to_screen); 877 mr_free(full_isofs_cmd); 878 } 855 mr_asprintf(uefistr, "%s",MONDO_MKISOFS_CMS); 856 } 857 mr_asprintf(full_isofs_cmd, "%s%s%s-o '_ISO_' .",isofs_cmd,MONDO_MKISOFS_REGULAR_SYSLINUX,uefistr); 858 mr_free(uefistr); 859 860 res = eval_call_to_make_ISO(full_isofs_cmd, destfile, g_current_media_number, message_to_screen); 861 mr_free(full_isofs_cmd); 879 862 mr_free(isofs_cmd); 880 863 paranoid_free(message_to_screen); … … 2548 2531 * - @c image_devs 2549 2532 * - @c kernel_path 2550 * - @c make_cd_use_lilo2551 2533 * - @c media_device 2552 2534 * - @c media_size … … 2581 2563 char *cd_recovery_sz = NULL; 2582 2564 char *tape_size_sz = NULL; 2583 char *use_lilo_sz = NULL;2584 2565 char *value = NULL; 2585 2566 char *bootdev = NULL; … … 2666 2647 } else { 2667 2648 mr_asprintf(cd_recovery_sz, "no"); 2668 }2669 if (bkpinfo->make_cd_use_lilo) {2670 mr_asprintf(use_lilo_sz, "yes");2671 } else {2672 mr_asprintf(use_lilo_sz, "no");2673 2649 } 2674 2650 if (bkpinfo->boot_type == UEFI) { … … 2879 2855 2880 2856 unlink(MINDI_RUNFILE); 2881 mr_asprintf(command, "mindi %s --custom %s %s/images '%s' '%s' '%s' '%ld' '%s' '%s' '%s' '%s' '%s' '%ld' '%s' '%s' '%s' '%s' '%ld' '% d' '%s' '%s' '%s' '%s' 2>&1 >> %s",2882 // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 242857 mr_asprintf(command, "mindi %s --custom %s %s/images '%s' '%s' '%s' '%ld' '%s' '%s' '%s' '%s' '%s' '%ld' '%s' '%s' '%s' '%s' '%ld' '%s' %s' '%s' 2>&1 >> %s", 2858 // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 2883 2859 tmp2, // parameter #1 2884 2860 bkpinfo->tmpdir, // parameter #2 … … 2899 2875 // parameter #14 2900 2876 use_comp_sz, // parameter #15 2901 use_lilo_sz, // parameter #16 2902 use_star_sz, // parameter #17 2877 use_star_sz, // parameter #16 2903 2878 bkpinfo->internal_tape_block_size, 2904 // parameter #18 (LONG) 2905 bkpinfo->differential, // parameter #19 (INT) 2906 use_gzip_sz, // parameter #20 (STRING) 2907 use_lzma_sz, // parameter #21 (STRING) 2908 "no", // parameter #22 (STRING) bootable image ? 2909 boot_type, // parameter #23 (STRING) 2910 MINDI_RUNFILE // redirect to log file (#24) 2879 // parameter #17 (LONG) 2880 bkpinfo->differential, // parameter #18 (INT) 2881 use_gzip_sz, // parameter #19 (STRING) 2882 use_lzma_sz, // parameter #20 (STRING) 2883 boot_type, // parameter #21 (STRING) 2884 MINDI_RUNFILE // redirect to log file (#22) 2911 2885 ); 2912 2886 … … 2920 2894 mr_free(last_filelist_number); 2921 2895 mr_free(use_comp_sz); 2922 mr_free(use_lilo_sz);2923 2896 mr_free(use_star_sz); 2924 2897 mr_free(use_gzip_sz); -
branches/3.3/mondo/src/common/libmondo-cli.c
r3885 r3888 832 832 #ifndef __FreeBSD__ 833 833 if ((!is_this_a_valid_disk_format("vfat")) && (! bkpinfo->restore_data)) { 834 bkpinfo->make_cd_use_lilo = TRUE; 835 log_to_screen("Your kernel appears not to support vfat filesystems. I am therefore"); 836 log_to_screen("using LILO instead of SYSLINUX as the media boot loader."); 834 log_to_screen("Your kernel appears not to support vfat filesystems."); 835 fatal_error("Aborting"); 837 836 } 838 837 if ((run_program_and_log_output("which mkfs.vfat", 2)) && (! bkpinfo->restore_data)) { 839 bkpinfo->make_cd_use_lilo = TRUE;840 838 log_to_screen("Your filesystem is missing 'mkfs.vfat', so I cannot use SYSLINUX as"); 841 log_to_screen("your boot loader. I shall therefore use LILO instead."); 839 log_to_screen("your boot loader."); 840 fatal_error("Aborting"); 842 841 } 843 842 #endif -
branches/3.3/mondo/src/common/libmondo-devices.c
r3885 r3888 2553 2553 } 2554 2554 // Interactive mode: 2555 bkpinfo->make_cd_use_lilo = FALSE;2556 2555 bkpinfo->backup_data = TRUE; 2557 2556 if (strcmp(compression_type,"lzo") == 0) { -
branches/3.3/mondo/src/common/libmondo-tools.c
r3885 r3888 346 346 * - Used: @c bkpinfo->isodir 347 347 * - Used: @c bkpinfo->manual_cd_tray 348 * - Used: @c bkpinfo->make_cd_use_lilo349 348 * - Used: @c bkpinfo->media_device 350 349 * - Used: @c bkpinfo->netfs_mount … … 431 430 if (bkpinfo->backup_media_type == optical) { 432 431 if ((cdr_exe = find_home_of_exe("growisofs")) == NULL) { 432 mr_free(cdr_exe); 433 433 fatal_error("Please install growisofs."); 434 434 } 435 if436 435 #ifdef __FreeBSD__ 437 (TRUE)436 mr_asprintf(mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_LILO); 438 437 #else 439 (bkpinfo->make_cd_use_lilo)438 mondo_mkisofs_sz = mr_compute_uefi_string(cdr_exe); 440 439 #endif 441 {442 mr_asprintf(mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_LILO);443 }444 else {445 mondo_mkisofs_sz = mr_compute_uefi_string(cdr_exe);446 }447 440 mr_free(cdr_exe); 448 441 … … 494 487 mr_free(tmp); 495 488 496 if497 489 #ifdef __FreeBSD__ 498 (TRUE)490 mr_asprintf(mondo_mkisofs_sz, "%s%s ", isofs_cmd, MONDO_MKISOFS_REGULAR_LILO); 499 491 #else 500 (bkpinfo->make_cd_use_lilo)492 mondo_mkisofs_sz = mr_compute_uefi_string(isofs_cmd); 501 493 #endif 502 {503 mr_asprintf(mondo_mkisofs_sz, "%s%s ", isofs_cmd, MONDO_MKISOFS_REGULAR_LILO);504 }505 else {506 mondo_mkisofs_sz = mr_compute_uefi_string(isofs_cmd);507 }508 494 mr_free(isofs_cmd); 509 495 … … 970 956 bkpinfo->please_dont_eject = FALSE; 971 957 bkpinfo->manual_cd_tray = FALSE; 972 bkpinfo->make_cd_use_lilo = FALSE;973 958 bkpinfo->use_obdr = FALSE; 974 959 bkpinfo->restore_mode = interactive; -
branches/3.3/mondo/src/common/mondostructures.h
r3885 r3888 617 617 */ 618 618 bool manual_cd_tray; 619 620 /**621 * If TRUE, make the bootable CD use LILO. If FALSE, use isolinux (the default).622 */623 bool make_cd_use_lilo;624 619 625 620 /**
Note:
See TracChangeset
for help on using the changeset viewer.