VMware Cloud Community
avalonzst
Enthusiast
Enthusiast
Jump to solution

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

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

pastedImage_11.png

     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/pag...

       openSUSE Forums

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

Reply
0 Kudos
1 Solution

Accepted Solutions
avalonzst
Enthusiast
Enthusiast
Jump to solution

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.

pastedImage_6.png

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

View solution in original post

Reply
0 Kudos
1 Reply
avalonzst
Enthusiast
Enthusiast
Jump to solution

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.

pastedImage_6.png

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

Reply
0 Kudos