Changeset 3885 in MondoRescue for branches/3.3/mondo/src
- Timestamp:
- Mar 10, 2024, 7:23:12 PM (3 months ago)
- Location:
- branches/3.3/mondo/src
- Files:
-
- 2 deleted
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.