FOG Project

    • Register
    • Login
    • Search
    • Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    REAR Backup Rescue and FOG Project

    FOG Problems
    2
    12
    339
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      matekub last edited by

      Hello,

      I want add REAR Rescue boot ISO to FOG PXE.

      I’ve copied all files (initrd.cgz and kernel) to TFTP root folder and it is visible on server.

      I’ve added new entry to PXE by using GUI: Parameters are:

      kernel tftp://${fog-ip}/kernel
      initrd tftp://${fog-ip}/initrd.cgz
      imgargs initrd=initrd.cgz root=/dev/ram0
      boot || goto MENU

      Clients are able to connect to PXE server, download kernel, download initrd.cgz and then start kernel: then I was facing the issue - Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0)

      Something is wrong with my settings or names? This is my first time with FOG.

      1 Reply Last reply Reply Quote 0
      • M
        matekub last edited by

        Thanks for your time and response.

        Yes, any of those 3 commands didn’t work.

        Based on information from that topic in REAR GitHub - the user after using PXE mode, they had pxelinux config and probably as you mentioned kernel (kernel file) and maybe file system (initrg.cgz) for BIOS, not UEFI.
        I guess i have the same and trying to boot on UEFI system.

        How to determine which file is for UEFI? I guess it should be part of ISO which works fine on BIOS and UEFI system.

        I have this content of ISO:

        Then I have this content in ISO:
        EFI G:\EFI
        boot G:\boot
        isolinux G:\isolinux
        BOOT G:\EFI\BOOT
        fonts G:\EFI\BOOT\fonts
        locale G:\EFI\BOOT\locale
        BOOTX64.efi G:\EFI\BOOT\BOOTX64.efi
        embedded_grub.cfg G:\EFI\BOOT\embedded_grub.cfg
        grub.cfg G:\EFI\BOOT\grub.cfg
        grubx64.efi G:\EFI\BOOT\grubx64.efi
        grub G:\boot\grub
        efiboot.img G:\boot\efiboot.img
        grub.cfg G:\boot\grub\grub.cfg
        boot.cat G:\isolinux\boot.cat
        chain.c32 G:\isolinux\chain.c32
        hdt.c32 G:\isolinux\hdt.c32
        initrd.cgz G:\isolinux\initrd.cgz
        isolinux.bin G:\isolinux\isolinux.bin
        isolinux.cfg G:\isolinux\isolinux.cfg
        kernel G:\isolinux\kernel
        ldlinux.c32 G:\isolinux\ldlinux.c32
        libcom32.c32 G:\isolinux\libcom32.c32
        libgpl.c32 G:\isolinux\libgpl.c32
        libmenu.c32 G:\isolinux\libmenu.c32
        libutil.c32 G:\isolinux\libutil.c32
        menu.c32 G:\isolinux\menu.c32
        message G:\isolinux\message
        pci.ids G:\isolinux\pci.ids
        rear.help G:\isolinux\rear.help
        reboot.c32 G:\isolinux\reboot.c32
        vesamenu.c32 G:\isolinux\vesamenu.c32

        1 Reply Last reply Reply Quote 0
        • george1421
          george1421 Moderator @matekub last edited by

          @matekub said in REAR Backup Rescue and FOG Project:

          Then he did this:
          linuxefi /node4.kernel
          initrdefi /node4.initrd.cgz
          Should I add a command like LINUXEFI and INITRDFI?

          These are grub specific commands. They tell grub to uefi boot these kernels. Adding them to iPXE will cause ipxe to error with unknown command.

          EFI Stub: Error: Failed to alloc highmem for files
          Trying to load files to higher address

          It almost sounds like you are trying to boot a bios kernel on a uefi system or the other way around. Did option 3 just error out?

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

          1 Reply Last reply Reply Quote 0
          • M
            matekub last edited by matekub

            Thanks. Checking it. It was very helpful.

            But what about GRUB settings and EFI parameters like this? It was mentioned in that post\issue - that created and used by my files are not for EFI

            Then he did this:
            linuxefi /node4.kernel
            initrdefi /node4.initrd.cgz

            Should I add a command like LINUXEFI and INITRDFI?

            Sorry I’m quite new in this area 😞

            UPDATE: (Checked)
            Now, I don’t have KERNEL PANIC - not syncing VFS - Unable to mount root FS on unknown block(0,0).

            Now, I’ve got error message before loading kernel:

            EFI Stub: Error: Failed to alloc highmem for files
            Trying to load files to higher address

            Both options (1,2) cause the same error.

            george1421 1 Reply Last reply Reply Quote 0
            • george1421
              george1421 Moderator @matekub last edited by

              @matekub said in REAR Backup Rescue and FOG Project:

              kernel /node4.kernel
              append initrd=/node4.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0

              converting syslinux commands over to iPXE is not hard because both have a similar lineage. So in iPXE format the command would look like this.

              kernel tftp://${fog-ip}/node4.kernel
              initrd tftp://${fog-ip}/node4.initrd.cgz
              imgargs initrd=node4.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0
              

              This would assume that you had a node4.kernel and node4.initrd.cgz in the /tftpboot directory.

              The grub menus are similar to syslinux and iPXE. But for grub I don’t see it pass any kernel parameters.

              Now there are two variations of the above menu depending how the kernel deals with kernel parameters.

              The first one inserts the kernel name just before initrd.

              kernel tftp://${fog-ip}/node4.kernel
              initrd tftp://${fog-ip}/node4.initrd.cgz
              imgargs node4.kernel initrd=node4.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0
              

              The second alternate method is by appending the imgargs to the end of the kernel call line and imgargs are not used.

              kernel tftp://${fog-ip}/node4.kernel initrd=node4.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0
              initrd tftp://${fog-ip}/node4.initrd.cgz
              

              Some of this is a bit of black art skills to make it work.

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

              1 Reply Last reply Reply Quote 0
              • M
                matekub last edited by

                I guess this may be the issue - https://github.com/rear/rear/issues/2359
                I’ve also probably have files for BIOS, not UEFI.

                But how to add entry in FOG that can be handled by GRUB like in above issue?

                This is a workaround mentioned in that topic:

                Workaround:
                i have create the file grub.cfg and calling the kernel and initrd.cgz files
                [root@PXE-BOOT /]# cat /var/lib/tftpboot/efi.x64/grub.cfg
                set menu_color_normal=white/black
                set menu_color_highlight=black/light-gray
                set timeout=30
                insmod png

                Menu Start

                menuentry ‘Boot from Local Drive’ {
                exit
                }
                menuentry ‘Rear Recover for node4’ {
                linuxefi /node4.kernel
                initrdefi /node4.initrd.cgz
                }
                menuentry ‘Rear Recover for node5’ {
                linuxefi /node5.kernel
                initrdefi /node5.initrd.cgz
                }

                Because I’ve generated this and trying those settings in FOG:
                Recover mkbackup created the file rear-node4 suitable for BIOS not UEFI
                [root@PXE-BOOT node4]# cat rear-node4
                default hd
                prompt 1
                timeout 300

                label hd
                localboot -1
                say ENTER - boot local hard disk
                say --------------------------------------------------------------------------------
                display /node4.message
                say ----------------------------------------------------------
                say rear = disaster recover this system with Relax-and-Recover
                label rear
                kernel /node4.kernel
                append initrd=/node4.initrd.cgz root=/dev/ram0 vga=normal rw selinux=0 console=ttyS0,9600 console=tty0

                george1421 1 Reply Last reply Reply Quote 0
                • M
                  matekub last edited by

                  sorry, I’ve changed filename in meantime

                  1 Reply Last reply Reply Quote 0
                  • george1421
                    george1421 Moderator @matekub last edited by george1421

                    @matekub You posted the config file exactly as it was presented to you?

                    what confuses me is this reference to the kernel

                    kernel /localhost.kernel
                    

                    for pxe booting that localhost.kernel should be the kernel name exactly localhost.kernel not what you supplied as kernel

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                    1 Reply Last reply Reply Quote 0
                    • M
                      matekub last edited by

                      No, I have kernel and initrd from PXE option in REAR - then it doesn’t create ISO, only files with kernel and initrd + above config for “PXE Server”.

                      george1421 1 Reply Last reply Reply Quote 0
                      • george1421
                        george1421 Moderator last edited by

                        @matekub said in REAR Backup Rescue and FOG Project:

                        I see you were missing a few kernel arguments, but that shouldn’t have had an impact on the kernel mounting the filesystem.

                        kernel tftp://${fog-ip}/kernel
                        initrd tftp://${fog-ip}/initrd.cgz
                        imgargs initrd=initrd.cgz root=/dev/ram0 vga=normal rw selinux=0
                        boot || goto MENU
                        

                        You got the kernel and initrd.cgz from the isolinux directory off the ISO?

                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                        1 Reply Last reply Reply Quote 0
                        • M
                          matekub last edited by george1421

                          Thanks for your help. Really appreciate.

                          I’d like to add this backup boot media to Fog: https://relax-and-recover.org/

                          When I build REAR Backup Rescue I can select as output PXE and ISO build:

                          1. PXE
                            Then I have:
                            kernel and initrd.cgz file + config file:
                          default hd
                          prompt 1
                          timeout 300
                          
                          label hd
                              localboot -1
                              say ENTER - boot local hard disk
                              say --------------------------------------------------------------------------------
                              display /localhost.message
                              say ----------------------------------------------------------
                              say rear = disaster recover this system with Relax-and-Recover
                          label rear
                              kernel /localhost.kernel
                              append initrd=/localhost.initrd.cgz root=/dev/ram0 vga=normal rw  selinux=0 
                          
                          1. ISO
                            Then I have this content in ISO:
                            EFI G:\EFI
                            boot G:\boot
                            isolinux G:\isolinux
                            BOOT G:\EFI\BOOT
                            fonts G:\EFI\BOOT\fonts
                            locale G:\EFI\BOOT\locale
                            BOOTX64.efi G:\EFI\BOOT\BOOTX64.efi
                            embedded_grub.cfg G:\EFI\BOOT\embedded_grub.cfg
                            grub.cfg G:\EFI\BOOT\grub.cfg
                            grubx64.efi G:\EFI\BOOT\grubx64.efi
                            grub G:\boot\grub
                            efiboot.img G:\boot\efiboot.img
                            grub.cfg G:\boot\grub\grub.cfg
                            boot.cat G:\isolinux\boot.cat
                            chain.c32 G:\isolinux\chain.c32
                            hdt.c32 G:\isolinux\hdt.c32
                            initrd.cgz G:\isolinux\initrd.cgz
                            isolinux.bin G:\isolinux\isolinux.bin
                            isolinux.cfg G:\isolinux\isolinux.cfg
                            kernel G:\isolinux\kernel
                            ldlinux.c32 G:\isolinux\ldlinux.c32
                            libcom32.c32 G:\isolinux\libcom32.c32
                            libgpl.c32 G:\isolinux\libgpl.c32
                            libmenu.c32 G:\isolinux\libmenu.c32
                            libutil.c32 G:\isolinux\libutil.c32
                            menu.c32 G:\isolinux\menu.c32
                            message G:\isolinux\message
                            pci.ids G:\isolinux\pci.ids
                            rear.help G:\isolinux\rear.help
                            reboot.c32 G:\isolinux\reboot.c32
                            vesamenu.c32 G:\isolinux\vesamenu.c32
                          1 Reply Last reply Reply Quote 0
                          • george1421
                            george1421 Moderator last edited by

                            The unable to mount root fs means the kernel is having an issue connecting to the virtual hard drive (initrd). Your settings look right as long as “kernel” is matched to the initrd.cgz file it should boot. The only thing I can think is there are additional kernel parameters (imgargs) that might be required.

                            So on that rescue cd is the boot loader based on grub or syslinux? Is there a grub.cfg, syslinux.cfg, or isolinux.cfg file? Is there a pxelinux directory on the ISO? These might contain additional kernel parameters needed to boot the kernel.

                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post

                            157
                            Online

                            10.2k
                            Users

                            16.3k
                            Topics

                            149.9k
                            Posts

                            Copyright © 2012-2020 FOG Project