VirtualBox

Ticket #15579 (closed defect: fixed)

Opened 9 months ago

Last modified 9 months ago

Bug in VBoxLinuxAdditions.sh 5.0.24_108355

Reported by: billR Owned by:
Priority: major Component: guest additions
Version: VirtualBox 5.0.24 Keywords: dracut VBoxLinuxAdditions.sh
Cc: Guest type: Linux
Host type: Windows

Description (last modified by frank) (diff)

Tracked down failures to install guest additions on CentOS 7. Symptom was constant syslogs:

 dracut: Can't write to /boot/initramfs-: Directory /boot/initramfs- does not exist or is not accessible. 

Upon rebooting, the system would be unbootable and required a rescue disk.

problem is on line 1042 of VBoxLinuxAdditions.sh:

   for i in /lib/modules/*; do
        update_module_dependencies "${i#/lib/modules}"
    done

running the following code illustrates the problem:

   # for i in /lib/modules/*; do
        echo update_module_dependencies "${i#/lib/modules}"
     done
   
   update_module_dependencies /3.10.0-327.22.2.el7.x86_64

the correct code puts a trailing '/' after 'modules':

    for i in /lib/modules/*; do
        update_module_dependencies "${i#/lib/modules/}"
    done

To workaround this bug, do the following:

(mount GuestAdditions CD Image, cd to top level of CDROM).

# sh ./VBoxLinuxAdditions.sh

(errors - define the following shell function taken from the script)

# update_module_dependencies()
{
    depmod "${1}"
    test -d "/lib/modules/${1}/initrd" &&
        touch "/lib/modules/${1}/initrd/vboxvideo"
    test -n "${QUICKSETUP}" && return
    if type dracut >/dev/null 2>&1; then
        dracut -f "/boot/initramfs-${1}.img"
    elif type update-initramfs >/dev/null 2>&1; then
        update-initramfs -u -k "${1}"
    fi
}

# for i in /lib/modules/*; do
        update_module_dependencies "${i#/lib/modules/}"
  done

(the following files seem to be leftover and prevent my system from booting, delete them).

# rm -rf /var/lib/VBoxGuestAdditions

Change History

comment:1 Changed 9 months ago by frank

  • Description modified (diff)

comment:2 Changed 9 months ago by michael

On the whole this report looks very reasonable, except that there is no file "VBoxLinuxAdditions.sh". The code you mention exists in other places, and your change seems to make sense, but where did you find that file?

comment:3 Changed 9 months ago by þorfinn

confirmed the problem VB-5.1.0 and CentOS-7.7 VBoxLinuxAdditions.run fails with the default installation on CentOS-7 with /boot being read only to all, group and user # chmod u+w /boot and rerunning VBoxLinuxAdditions.run works. VBoxLinuxAdditions.run is supplied from the VBoxGuestAdditions.iso

comment:4 Changed 9 months ago by frank

Fix is part of VirtualBox 5.1 and will be also part of the next VirtualBox 5.0 maintenance release.

comment:5 Changed 9 months ago by frank

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use