Changeset 3885 in MondoRescue for branches/3.3
- Timestamp:
- Mar 10, 2024, 7:23:12 PM (3 months ago)
- Location:
- branches/3.3
- Files:
-
- 2 deleted
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mondo-doc/mondoarchive.8
r3884 r3885 342 342 343 343 .TP 344 .BI "\-l " "GRUB|LILO| ELILO|RAW"344 .BI "\-l " "GRUB|LILO|RAW" 345 345 Specify the boot loader. By default, your environment is examined and 346 346 the boot loader can usually be discovered. If you specify RAW then the MBR will 347 347 be backed up and restored byte-for-byte without any analysis. It is likely that 348 you will also need to specify the boot device with \-f <dev>. ELILO is mandatory349 for IA64 machines.GRUB is mandatory for now for UEFI systems.348 you will also need to specify the boot device with \-f <dev>. 349 GRUB is mandatory for now for UEFI systems. 350 350 351 351 .TP … … 381 381 382 382 .SH ENVIRONMENT VARIABLES 383 .IR ARCH384 This variable is passed to the environment by mondoarchive so that385 other tools are aware of the underlying hardware architecture.386 387 383 .IR MONDO_SHARE 388 384 This variable is passed to the environment by mondoarchive so that -
branches/3.3/mondo-doc/mondorescue-howto.sgml
r3653 r3885 848 848 <itemizedlist> 849 849 <listitem> 850 <para>Intel(R)-compatible CPU (ia32, x86_64/amd64 or ia64)</para>850 <para>Intel(R)-compatible CPU (ia32, x86_64/amd64)</para> 851 851 </listitem> 852 852 <listitem> -
branches/3.3/mondo/configure.ac
r3879 r3885 107 107 CPPFLAGS="$CPPFLAGS -D__IA32__ -D__X86_64__" 108 108 ;; 109 ia64*)110 CPPFLAGS="$CPPFLAGS -D__IA64__"111 ;;112 109 *) 113 echo "*** Sorry, only Intel Architectures (ia32, x86_64, ia64) are supported at this time. Want to help?"110 echo "*** Sorry, only Intel based Architectures (ia32, x86_64) are supported at this time. Want to help?" 114 111 ;; 115 112 esac -
branches/3.3/mondo/src/common/libmondo-archive.c
r3883 r3885 854 854 if (bkpinfo->make_cd_use_lilo) { 855 855 log_msg(1, "make_cd_use_lilo = TRUE"); 856 #ifdef __IA64__857 log_msg(1, "IA64 --> elilo");858 mr_asprintf(full_isofs_cmd, "%s%s-o '_ISO_' .",isofs_cmd,MONDO_MKISOFS_REGULAR_ELILO);859 res = eval_call_to_make_ISO(full_isofs_cmd, destfile, g_current_media_number, message_to_screen);860 mr_free(full_isofs_cmd);861 #else862 log_msg(1, "Non-ia64 --> lilo");863 856 mr_asprintf(full_isofs_cmd, "%s%s-b images/mindi-bootroot.img -c images/boot.cat -o '_ISO_' .",isofs_cmd,MONDO_MKISOFS); 864 857 // FIXME: fixed boot size probably wrong. lilo to be removed 865 858 res = eval_call_to_make_ISO(full_isofs_cmd, destfile, g_current_media_number, message_to_screen); 866 859 mr_free(full_isofs_cmd); 867 #endif868 860 } else { 869 861 log_msg(1, "make_cd_use_lilo = FALSE"); … … 2589 2581 char *cd_recovery_sz = NULL; 2590 2582 char *tape_size_sz = NULL; 2591 char *use_lilo_sz = NULL; /* TODO: shared between LILO/ELILO */2583 char *use_lilo_sz = NULL; 2592 2584 char *value = NULL; 2593 2585 char *bootdev = NULL; … … 2701 2693 #else 2702 2694 /* Linux */ 2703 #ifdef __IA64__2704 bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'");2705 #else2706 2695 bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'"); 2707 #endif2708 2696 if (strstr(bootdev, "/dev/cciss/")) { 2709 2697 mr_free(bootdev); 2710 #ifdef __IA64__2711 bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | cut -dp -f1");2712 #else2713 2698 bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | cut -dp -f1"); 2714 #endif2715 2699 } 2716 2700 if (!bootdev[0]) { … … 2745 2729 bkpinfo->boot_loader != 'B' && bkpinfo->boot_loader != 'D' && 2746 2730 #endif 2747 #ifdef __IA64__2748 bkpinfo->boot_loader != 'E' &&2749 #endif2750 2731 bkpinfo->boot_loader != 'L' && bkpinfo->boot_loader != 'G' && bkpinfo->boot_loader != 'R') { 2751 2732 fatal_error("Please specify your boot loader and device, e.g. -l GRUB -f /dev/hda. Type 'man mondoarchive' to read the manual."); … … 2775 2756 mr_free(bootldr_ver); 2776 2757 bootldr_ver = call_program_and_get_last_line_of_output("grub2-install --version"); 2777 }2778 } else if (bkpinfo->boot_loader == 'E') {2779 mr_asprintf(bootldr_str, "ELILO");2780 /* TODO: fix it for Debian, Mageia, ... */2781 if (!does_file_exist("/etc/elilo.conf") && does_file_exist("/boot/efi/efi/redhat/elilo.conf")) {2782 run_program_and_log_output("ln -sf /boot/efi/efi/redhat/elilo.conf /etc/elilo.conf", 5);2783 }2784 if (!does_file_exist("/etc/elilo.conf") && does_file_exist("/boot/efi/efi/SuSE/elilo.conf")) {2785 run_program_and_log_output("ln -sf /boot/efi/efi/SuSE/elilo.conf /etc/elilo.conf", 5);2786 }2787 if (!does_file_exist("/etc/elilo.conf") && does_file_exist("/boot/efi/efi/debian/elilo.conf")) {2788 run_program_and_log_output ("ln -sf /boot/efi/efi/debian/elilo.conf /etc/elilo.conf", 5);2789 }2790 if (!does_file_exist("/etc/elilo.conf") && does_file_exist("/boot/efi/debian/elilo.conf")) {2791 run_program_and_log_output ("ln -sf /boot/efi/debian/elilo.conf /etc/elilo.conf", 5);2792 }2793 if (!does_file_exist("/etc/elilo.conf")) {2794 mr_free(bootldr_str);2795 fatal_error("The de facto mondo standard location for your boot loader's config file is /etc/elilo.conf but I cannot find it there. What is wrong with your Linux distribution? Try finding it under /boot/efi and do 'ln -s /boot/efi/..../elilo.conf /etc/elilo.conf'");2796 2758 } 2797 2759 } else if (bkpinfo->boot_loader == 'R') { -
branches/3.3/mondo/src/common/libmondo-cli.c
r3883 r3885 767 767 # define BOOT_LOADER_CHARS "GLBMR" 768 768 #else 769 # ifdef __IA64__ 770 # define BOOT_LOADER_CHARS "GER" 771 # else 772 # define BOOT_LOADER_CHARS "GLR" 773 # endif 769 # define BOOT_LOADER_CHARS "GLR" 774 770 #endif 775 771 if (!strchr(BOOT_LOADER_CHARS, (bkpinfo->boot_loader = flag_val['l'][0]))) { 776 log_msg(1, "%c? What is %c? I need G, L, Eor R.", bkpinfo->boot_loader, bkpinfo->boot_loader);777 fatal_error("Please specify GRUB, LILO , ELILOor RAW with the -l switch");772 log_msg(1, "%c? What is %c? I need G, L, or R.", bkpinfo->boot_loader, bkpinfo->boot_loader); 773 fatal_error("Please specify GRUB, LILO or RAW with the -l switch"); 778 774 } 779 775 #undef BOOT_LOADER_CHARS … … 842 838 if ((run_program_and_log_output("which mkfs.vfat", 2)) && (! bkpinfo->restore_data)) { 843 839 bkpinfo->make_cd_use_lilo = TRUE; 844 #ifdef __IA32__845 840 log_to_screen("Your filesystem is missing 'mkfs.vfat', so I cannot use SYSLINUX as"); 846 841 log_to_screen("your boot loader. I shall therefore use LILO instead."); 847 #endif 848 #ifdef __IA64__ 849 log_to_screen("Your filesystem is missing 'mkfs.vfat', so I cannot prepare the EFI"); 850 log_to_screen("environment correctly. Please install it."); 851 fatal_error("Aborting"); 852 #endif 853 } 854 #ifdef __IA64__ 855 /* We force ELILO usage on IA64 */ 856 bkpinfo->make_cd_use_lilo = TRUE; 857 #endif 842 } 858 843 #endif 859 844 -
branches/3.3/mondo/src/common/libmondo-devices.c
r3883 r3885 1771 1771 DIR *fd = NULL; 1772 1772 1773 #ifdef __IA64__1774 return(EFI);1775 #endif1776 1773 /* Try to detect whether we are in fact in UEFI mode */ 1777 1774 fd = opendir("/sys/firmware/efi"); … … 1788 1785 * Find out which boot loader is in use. 1789 1786 * @param which_device Device to look for the boot loader on. 1790 * @return 'L' for LILO, ' E'for ELILO, 'G' for GRUB, 'B' or 'D' for FreeBSD boot loaders, or 'U' for Unknown.1787 * @return 'L' for LILO, 'G' for GRUB, 'B' or 'D' for FreeBSD boot loaders, or 'U' for Unknown. 1791 1788 * @note Under Linux, all drives are examined, not just @p which_device. 1792 1789 */ … … 1813 1810 count_dangerouslydedicated++; 1814 1811 } 1815 log_it("%d grubs and %d lilos and %d elilosand %d boot0s and %d DD\n",1816 count_grubs, count_lilos, count_ elilos, count_boot0s,1812 log_it("%d grubs and %d lilos andand %d boot0s and %d DD\n", 1813 count_grubs, count_lilos, count_boot0s, 1817 1814 count_dangerouslydedicated); 1818 1815 … … 1851 1848 1852 1849 /*@ end vars *************************************************** */ 1853 1854 #ifdef __IA64__1855 /* No choice for it */1856 return ('E');1857 #endif1858 if (bkpinfo->boot_type == EFI) {1859 /* No choice for it */1860 return ('E');1861 }1862 1850 1863 1851 if (bkpinfo->boot_type == UEFI) { … … 2455 2443 mr_asprintf(bkpinfo->boot_device, "%s", tmp1); 2456 2444 2457 if (does_string_exist_in_boot_block(bkpinfo->boot_device, "ELILO")) { 2458 i = 'E'; 2459 } else 2460 if (does_string_exist_in_boot_block(bkpinfo->boot_device, "LILO")) { 2445 if (does_string_exist_in_boot_block(bkpinfo->boot_device, "LILO")) { 2461 2446 i = 'L'; 2462 2447 } else … … 2568 2553 } 2569 2554 // Interactive mode: 2570 #ifdef __IA64__2571 bkpinfo->make_cd_use_lilo = TRUE;2572 #else2573 2555 bkpinfo->make_cd_use_lilo = FALSE; 2574 #endif2575 2556 bkpinfo->backup_data = TRUE; 2576 2557 if (strcmp(compression_type,"lzo") == 0) { -
branches/3.3/mondo/src/common/libmondo-tools.c
r3883 r3885 191 191 # endif 192 192 #endif 193 #ifdef __IA64__194 return ("ia64");195 #endif196 193 return ("unknown"); 197 194 } … … 442 439 (bkpinfo->make_cd_use_lilo) 443 440 #endif 444 #ifdef __IA64__445 {446 mr_asprintf(mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_ELILO);447 }448 #else449 441 { 450 442 mr_asprintf(mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_LILO); 451 443 } 452 #endif453 444 else { 454 445 mondo_mkisofs_sz = mr_compute_uefi_string(cdr_exe); … … 509 500 (bkpinfo->make_cd_use_lilo) 510 501 #endif 511 #ifdef __IA64__512 {513 mr_asprintf(mondo_mkisofs_sz, "%s%s ", isofs_cmd, MONDO_MKISOFS_REGULAR_ELILO);514 }515 #else516 502 { 517 503 mr_asprintf(mondo_mkisofs_sz, "%s%s ", isofs_cmd, MONDO_MKISOFS_REGULAR_LILO); 518 504 } 519 #endif520 505 else { 521 506 mondo_mkisofs_sz = mr_compute_uefi_string(isofs_cmd); -
branches/3.3/mondo/src/common/mondostructures.h
r3883 r3885 351 351 * - 'G' for GRUB 352 352 * - 'L' for LILO 353 * - 'E' for ELILO354 353 * - (FreeBSD only) 'B' for boot0 355 354 * - (FreeBSD only) 'D' for dangerously dedicated … … 620 619 621 620 /** 622 * If TRUE, make the bootable CD use LILO /ELILO. If FALSE, use isolinux (the default).621 * If TRUE, make the bootable CD use LILO. If FALSE, use isolinux (the default). 623 622 */ 624 623 bool make_cd_use_lilo; -
branches/3.3/mondo/src/include/my-stuff.h
r3883 r3885 60 60 #endif /* DEBUG */ 61 61 62 #define IA64_BOOT_SIZE "16384" /* Should be coherent with mindi */63 62 #define STD_PREFIX "mondorescue" /* Should be coherent with mindi */ 64 63 … … 120 119 #define MAX_STR_LEN 512 ///< The maximum length of almost all @p char buffers in Mondo. 121 120 /// Note: Make this divisible by eight to avoid aligment issues 122 /// on 64bit platforms like ia64.121 /// on 64bit platforms 123 122 #define MAXIMUM_RAID_DEVS 32 ///< The maximum number of RAID devices in the raidlist. 124 123 #define MAXIMUM_ADDITIONAL_RAID_VARS 32 ///< The maximum number of additional RAID variables per RAID device in the raidlist. … … 195 194 196 195 /** 197 * @c mkisofs command to generate a bootable CD using ELILO, except for -o option and the directory to image.198 */199 #define MONDO_MKISOFS_REGULAR_ELILO MONDO_MKISOFS"-no-emul-boot -b images/mindi-bootroot.img -c images/boot.cat "200 201 /**202 196 * The stub name of the temporary ISO image to create, burn, and remove. 203 197 */ … … 208 202 */ 209 203 #define MONDO_GROWISOFS_REGULAR_SYSLINUX "growisofs -use-the-force-luke "MONDO_MKISOFS_REGULAR_SYSLINUX 210 211 /**212 * @c growisofs command to generate a bootable DVD using LILO, except for the directory to image.213 */214 #define MONDO_GROWISOFS_REGULAR_ELILO "growisofs -use-the-force-luke "MONDO_MKISOFS_REGULAR_ELILO215 204 216 205 /** -
branches/3.3/mondo/src/mondoarchive/mondoarchive.c
r3882 r3885 203 203 mr_free(tmp1); 204 204 205 /* Add the ARCH environment variable for ia64 purposes */206 mr_asprintf(tmp1,"%s",get_architecture());207 setenv("ARCH", tmp1, 1);208 mr_free(tmp1);209 210 205 /* Add MONDO_SHARE environment variable for mindi */ 211 206 setenv_mondo_share(); -
branches/3.3/mondo/src/mondorestore/mondo-prep.c
r3879 r3885 741 741 mr_asprintf(program, "newfs_msdos -F 32"); 742 742 #else 743 #ifdef __IA64__744 /* For EFI partitions on ia64 take fat16745 * as we want to make small ones */746 mr_asprintf(program, "mkfs.vfat -F 16");747 #else748 743 /* mkfs.vfat will make the best possible choice itself */ 749 744 /* should avoid problems with mr-label later on when used */ 750 745 mr_asprintf(program, "mkfs.vfat"); 751 #endif752 746 #endif 753 747 #ifndef __FreeBSD__ … … 2028 2022 #endif 2029 2023 2030 #ifndef __IA64__2031 2024 part_table_fmt = which_partition_format(drivename); 2032 2025 … … 2041 2034 } 2042 2035 mr_free(part_table_fmt); 2043 #endif2044 2036 2045 2037 retval += partition_device(pout_to_fdisk, drivename, current_devno, previous_devno, format, partsize); -
branches/3.3/mondo/src/mondorestore/mondo-rstr-tools-EXT.h
r2682 r3885 16 16 extern int run_grub(bool, char *); 17 17 extern int run_lilo(bool); 18 extern int run_elilo(bool);19 18 extern int run_raw_mbr(bool offer_to_hack_scripts, char *bd); 20 19 extern char *find_my_editor(void); -
branches/3.3/mondo/src/mondorestore/mondo-rstr-tools.c
r3882 r3885 1921 1921 1922 1922 /** 1923 * Install ELILO on the user's boot drive (determined by elilo.conf).1924 * @param offer_to_run_stabelilo If TRUE, then offer to hack the user's fstab for them.1925 * @return 0 for success, nonzero for failure.1926 */1927 int run_elilo(bool offer_to_run_stabelilo)1928 {1929 /** malloc **/1930 char *command = NULL;1931 char *tmp = NULL;1932 char *editor = NULL;1933 1934 int res;1935 int done;1936 1937 if (offer_to_run_stabelilo1938 && ask_me_yes_or_no("Did you change the mountlist or cloned the system ?"))1939 1940 /* interactive mode */1941 {1942 mvaddstr_and_log_it(g_currentY,1943 0,1944 "Modifying fstab and elilo.conf... ");1945 mr_asprintf(command, "mr-stabelilo-me");1946 res = run_program_and_log_output(command, 3);1947 mr_free(command);1948 1949 if (res) {1950 popup_and_OK("You will now edit fstab and elilo.conf, to make sure they match your new mountlist.");1951 for (done = FALSE; !done;) {1952 editor = find_my_editor();1953 if (editor == NULL) {1954 popup_and_OK("No editor found. You won't be able to edit conf files");1955 done = TRUE;1956 } else {1957 1958 if (!g_text_mode) {1959 newtSuspend();1960 }1961 mr_asprintf(tmp, "chroot %s %s /etc/fstab", MNT_RESTORING, editor);1962 paranoid_system(tmp);1963 mr_free(tmp);1964 1965 mr_asprintf(tmp, "chroot %s %s /etc/elilo.conf", MNT_RESTORING, editor);1966 paranoid_system(tmp);1967 mr_free(tmp);1968 mr_free(editor);1969 1970 if (!g_text_mode) {1971 newtResume();1972 }1973 // newtCls();1974 if (ask_me_yes_or_no("Edit them again?")) {1975 continue;1976 }1977 done = TRUE;1978 }1979 mr_free(editor);1980 }1981 } else {1982 log_to_screen("elilo.conf and fstab were modified OK");1983 }1984 } else1985 /* nuke mode */1986 {1987 res = TRUE;1988 }1989 return (res);1990 }1991 1992 /**************************************************************************1993 *END_RUN_ELILO *1994 **************************************************************************/1995 1996 1997 1998 /**1999 1923 * Install the user's boot loader in the MBR. 2000 * Currently LILO, ELILO,GRUB, RAW (dd of MBR), and the FreeBSD bootloader are supported.1924 * Currently LILO, GRUB, RAW (dd of MBR), and the FreeBSD bootloader are supported. 2001 1925 * @param offer_to_hack_scripts If TRUE, then offer to hack the user's fstab for them. 2002 1926 * @return 0 for success, nonzero for failure. … … 2031 1955 backup_crucial_file(MNT_RESTORING, "/boot/grub2/grub.cfg"); 2032 1956 backup_crucial_file(MNT_RESTORING, "/etc/lilo.conf"); 2033 backup_crucial_file(MNT_RESTORING, "/etc/elilo.conf");2034 1957 backup_crucial_file(MNT_RESTORING, "/boot/grub/device.map"); 2035 1958 backup_crucial_file(MNT_RESTORING, "/boot/grub2/device.map"); … … 2058 1981 if (!strcmp(name, "LILO")) { 2059 1982 res = run_lilo(offer_to_hack_scripts); 2060 } else if (!strcmp(name, "ELILO")) {2061 res = run_elilo(offer_to_hack_scripts);2062 1983 } else if (!strcmp(name, "GRUB")) { 2063 1984 res = run_grub(offer_to_hack_scripts, device); -
branches/3.3/mondo/src/mondorestore/mondorestore.c
r3882 r3885 2911 2911 2912 2912 if (!bkpinfo->please_dont_eject) { 2913 (void)eject_device(bkpinfo->backup_media_type);2913 eject_device(bkpinfo->media_device); 2914 2914 } 2915 2915 mvaddstr_and_log_it(g_currentY++, 0, "Run complete. Please remove media and reboot."); -
branches/3.3/mondo/src/restore-scripts/mondo/Makefile.am
r3704 r3885 1 1 restoremondodir = $(pkgdatadir)/restore-scripts/mondo 2 restoremondo_SCRIPTS = mr-grub mr-hack-fstab mr-hack-lilo mr-hack-elilo\2 restoremondo_SCRIPTS = mr-grub mr-hack-fstab mr-hack-lilo \ 3 3 mr-label-partitions-as-necessary \ 4 4 mr-make-me-bootable mr-mount-me mr-mount-subroutine-me mr-raw \ 5 mr-stabgrub-me mr-stablilo-me mr-stabelilo-me\5 mr-stabgrub-me mr-stablilo-me \ 6 6 mr-stabraw-me mr-unmount-me -
branches/3.3/website/index.shtml
r3545 r3885 14 14 </div> 15 15 <div class="c"> <img src="/images/screenshots.png" alt="Mondo Rescue screenshots" title="Mondo Rescue Screenshots" /></div> 16 <p class="c">Mondo Rescue is a GPL disaster recovery solution. It supports Linux (i386, x86_64 , ia64) and FreeBSD (i386). It's packaged for multiple distributions (Fedora, RHEL, openSuSE, SLES, Mandriva, Mageia, Debian, Ubuntu, Gentoo). </p>16 <p class="c">Mondo Rescue is a GPL disaster recovery solution. It supports Linux (i386, x86_64) and FreeBSD (i386). It's packaged for multiple distributions (Fedora, RHEL, openSuSE, SLES, Mandriva, Mageia, Debian, Ubuntu, Gentoo). </p> 17 17 <p class="c">It supports tapes, disks, network and CD/DVD as backup media, multiple filesystems, LVM, software and hardware Raid, BIOS and UEFI.</p> 18 18 <p class="c">You need it to be safe.</p>
Note:
See TracChangeset
for help on using the changeset viewer.