1 Reply Latest reply on Mar 11, 2019 11:55 PM by avalonzst

    converting Linux server OpenSUSE 13.2 with kernel 3.16.7-29-desktop  error :  installGrub.sh failed with return code: 127, and message: FATAL: kernel too old

    avalonzst Novice

      vmware convertor standalone  version:  6.0.0-build 2716716

      Source Linux server information:

      xxxx:~ # cat /etc/issue

      Welcome to openSUSE 13.2 "Harlequin" - Kernel \r (\l).

      xxxx:~ # uname -a

      Linux xxxx 3.16.7-29-desktop #1 SMP PREEMPT Fri Oct 23 00:46:04 UTC 2015 (6be6a97) x86_64 x86_64 x86_64 GNU/Linux

      xxxx:~ # uname -r

      3.16.7-29-desktop

      xxxx:~ # dmidecode -t system

      # dmidecode 2.12

      SMBIOS 2.5 present.

       

      Handle 0x0030, DMI type 1, 27 bytes

      System Information

              Manufacturer: IBM

              Product Name: System x3650 M3 -[7945RFR]-

              Version: 00

      Converting stopped at progress 97% and followed by error and check converter exported logs by attachment:

      FAILED: An error occurred during the conversion: 'GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh failed with return code: 127, and message: FATAL: kernel too old Error running vmware-updateGrub.sh through chroot into /mnt/p2v-src-root /usr/lib/vmware-converter/installGrub.sh: line 147: /mnt/p2v-src-root:
      Is a directory '

       

      Vmware converter release notes have following statements for converter 6.2

       

      • Reconfiguration of Linux VM fails at 97-98%, with message: “Error: Unable to reconfigure the destination virtual machine” and the status contains “message: FATAL: kernel too old”

      Some Linux distributions have unsupported combinations of Linux kernel and grub loader.

      Workaround: None. Use supported distributions only.

      at link VMware vCenter Converter Standalone 6.2.0.1 Release Notes

       

      Disscuss :

            1 From the error, is it saying that the kenrnel of converter helper is older than source linux system ?

                1) check converter helper kernal version: boot a virtual machine from ISO file from  compuer on which converter is installed into  default location   C:\Program Files (x86)\VMware\VMware vCenter Converter Standalone6.0\converter-helper-vm-x64.iso

                2)  we see that the kernel of converter helper is much older than source linux server.  2.6.38 < 3.16.7

           2) can we fix the failed converted linux system by re-install grub with orignal Linux server kernel-version ?

                I did following steps but  it did not work.

                A  boot the failed server from a live CD.

                B after  related file system  is mounted and  chroot,reinstall the grub2

                    grub2-mkconfig -o /boot/grub2/grub.cfg

                    grub2-install /dev/sda

                C  reboot the vm and vm starts endless  circling bettwen "Grub loading" and restarting.

                 

       

          3) the same problem accured and check this aiticle.

            https://forums.opensuse.org/showthread.php/525645-vCenter-Converter-failed-code-127-RAID-and-LVM/page2?s=f9fac0a7104d53ecea83f04df7cd1d2a

             openSUSE Forums

       

         4) Same suggestion is posted in  Vmware p2v conversion error .

        • 1. Re: converting Linux server OpenSUSE 13.2 with kernel 3.16.7-29-desktop  error :  installGrub.sh failed with return code: 127, and message: FATAL: kernel too old
          avalonzst Novice

          Hi, everybody,now  this problem is solved and costs me more than 3 days.I want to share the solution.

          1 boot up thesystem from liveCD .

          2 chroot to installed system.

            su - root

            mount /dev/system/newroot /mnt

            mount /dev/system/homenew /mnt/homenew

            mount /dev/sda1    /mnt/boot

            mount --rbind /proc /mnt/proc

            mount --rbind /sys  /mnt/sys

            mount --rbind /dev /mnt/dev

            chroot /mnt

          3 change boot GPT partition attribute,so we can install boot loader into the boot disk.

             parted /dev/sda

             set 1 bios_grub on

          4 check /etc/fstab and correct it if needed.

             use blkid to identify the uuid of each disk and partition.

             if the wrong disk UUID  is used to identify the disk or partition to mount,correct it.

             remove entries that  no longer exists.

          5  check if modules mptbase,mptscsih,mptspi is built into initrd or not. if not,add those modules and rebuild initrd

             mkdir -p /tmp/initrd

             cp /boot/initrd-$(uname -r)  /tmp/initrd

             cd /tmp/initrd

             mv initrd-$(uname -r) initrd-$(uname -r).xz

             xz -d initrd-$(uname -r).xz

             ls -l lib/modules/$(uname -r)/kernel/drivers/messages/fushion |grep -i mpt

             add mptbase module into initrd if needed.

             vi /etc/sysconfig/kernel

             add modules in this line : INITRD_MODULES="megaraid_sas ata_piix lpfc ata_generic" and rebuild initrd image.

             make it like this here: INITRD_MODULES="megaraid_sas ata_piix lpfc ata_generic mptbase,mptscsih,mptspi"

            mkinitrd -v

          6  replace all rescume=xxxxxx with rescume=norescume in /etc/grub2/grub.cfg or remove rescume=xxxx complete.this can also be done in yast.

           

          7  reinstall boot loader

             grub2-mkconfig -o /boot/grub2/grub.cfg

             grub2-install /dev/sda

             make sure no errors occur.

          8  reboot system and system should boot normally.

           

          There is some information to be added here.

          if step 3 is not done,then there will be an error " GPT partition xxxx " and failed when installing grub2 into disk。

          if step  6 is not done, then  system will show "GRUB loading" and restart again endlessly after power on.

          if step 5 is not done, then sysem will show errors below after grub loaded successfully.

            "Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0)"

          This is because we are coverting an desktop linux which did not include mpt* (mptbase,mptscsih,mptspi) modules(which is the disk driver to vmware virtual disk) in the initrd image, when system trys to boot initrd image ,the disk can not be found.

           

          After all those steps aredone, I'm able to boot the coverted system.