1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

freebsd-updates and linker.hints

Discussion in 'Installing and Upgrading FreeBSD' started by WildChild, Jan 8, 2009.

  1. WildChild

    WildChild New Member

    Thanks Received:
    when I try to update my system with freebsd-update, it is always complaining about /boot/kernel/linker.hints that needs to be updated. If I install, then reboot, then fetch again, then install again, this file will always need an update. Is there any reason why it's like this? Can it be related to the ale(4) I manually installed under FreeBSD 7.0 to support my network adapter (Atheros L1E)? The ale(4) is included in 7.1 but not enabled by default in GENERIC. If I compile it manually, will freebsd-update still annoy me like this about linker.hints? Would it be better to ask freebsd-update to ignore the /boot directory (no binaries update) and only check the /usr/src directory for source update, then compile manually the kernel with my custom options for the ale(4) driver?

    Here's the output I always get, even after installing the updates.

    [root@headless /home/wildchild]# freebsd-update fetch
    Looking up update.FreeBSD.org mirrors... 4 mirrors found.
    Fetching metadata signature for 7.0-RELEASE from update4.FreeBSD.org... done.
    Fetching metadata index... done.
    Inspecting system... done.
    Preparing to download files... done.
    The following files will be updated as part of updating to 7.0-RELEASE-p8:

  2. jgh@

    jgh@ New Member Developer

    Thanks Received:
    Did you ever find out why this happened? I am experiencing this when upgrading from 7.2-p7 to 7.3-p1.

  3. beastyforums

    beastyforums New Member

    Thanks Received:
    Also interested RE: this. Google turns up a number of people with this issue but no solutions. I'm trying to update to a current version of 7.4.x in preparation to jump to a newer version and it seems to have gotten stuck on linker.hints. Worried this could be holding back other updates.

    Machine is using a generic i386 kernel (previously a custom kernel). Rebooting or removing the old kernel doesn't help; neither does emptying /var/db/freebsd-update or moving /usr/src out of place. Any ideas?

    ... ad infinitum ...
  4. jgh@

    jgh@ New Member Developer

    Thanks Received:
    The file is being distributed, and will always be different then what you have on your system. Typically, this file is removed from the distribution of update bits.

    Since you aren't controlling distribution of the updates, there is one way you can solve this. It involves setting a few options in rc.conf, and telling freebsd-update to ignore the linker.hints file.

    These are taken from /etc/defaults/rc.conf:

    kldxref_enable="NO" # Build linker.hints files with kldxref(8). (this should be set to YES)
    kldxref_clobber="NO" # Overwrite old linker.hints at boot. (this should be set to YES)
    kldxref_module_path="" # Override kern.module_path. A ';'-delimited list. (you can add both paths for /boot/kernel/;/boot/GENERIC)

    After this, you want to add your two paths that are being updated to "IgnorePaths" in /etc/freebsd-update.conf.

    With both of these steps in place, you shouldn't see this issue come up.

    kataklism and beastyforums thanked for this.