Bug 202710 - freebsd-update fails to properly detect kernel directory when booted via grub
Summary: freebsd-update fails to properly detect kernel directory when booted via grub
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 10.2-RELEASE
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-bugs mailing list
URL:
Keywords:
: 207377 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-08-28 12:04 UTC by pbd
Modified: 2016-12-20 22:03 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pbd 2015-08-28 12:04:53 UTC
The /usr/sbin/freebsd-update tool is using output from "sysctl -n kern.bootfile" command when detecting kernel directory. Unfortunately, when booted from GRUB, this returns only "/kernel" (although the system is in fact booted from /boot/kernel/kernel). This results in backup_kernel() function of freebsd-update copying entire / into /boot/kernel.old, thus failing freebsd-update install process.

I used grub2-2.00_7 and it's default option for booting FreeBSD (10.2, amd64), as autoconfigured by /usr/local/etc/grub.d/10_kfreebsd. The autoconfigured boot menu entry is:

menuentry 'FreeBSD' --class freebsd --class bsd --class os $menuentry_id_option 'kfreebsd-simple-5512983a8bce973b' {
        insmod part_msdos
        insmod ufs2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  5512983a8bce973b
        else
          search --no-floppy --fs-uuid --set=root 5512983a8bce973b
        fi
        echo                    'Loading kernel of FreeBSD kernel ...'
        kfreebsd                /boot/kernel/kernel 
        kfreebsd_loadenv        /boot/device.hints
        insmod part_msdos
        insmod ufs2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  5512983a8bce973b
        else
          search --no-floppy --fs-uuid --set=root 5512983a8bce973b
        fi
        kfreebsd_module_elf     /boot/kernel/ufs.ko
        set kFreeBSD.vfs.root.mountfrom=ufs:ufsid/5512983a8bce973b
        set kFreeBSD.vfs.root.mountfrom.options=rw
}
Comment 1 Ed Maste freebsd_committer 2016-12-20 22:03:39 UTC
*** Bug 207377 has been marked as a duplicate of this bug. ***