docs/163102: linprocfs mounted in wrong location in Handbook

John Baldwin jhb at FreeBSD.org
Thu Dec 8 17:41:07 UTC 2011


On 12/7/11 1:30 PM, Manolis Kiagias wrote:
> The following reply was made to PR docs/163102; it has been noted by GNATS.
>
> From: Manolis Kiagias<sonic2000gr at gmail.com>
> To: freebsd-doc at freebsd.org, bug-followup at FreeBSD.org
> Cc: VoidChicken at gmail.com
> Subject: Re: docs/163102: linprocfs mounted in wrong location in Handbook
> Date: Wed, 07 Dec 2011 20:26:21 +0200
>
>   On 7/12/2011 7:20 ìì, Patrick Lamaiziere wrote:
>   >  The following reply was made to PR docs/163102; it has been noted by GNATS.
>   >
>   >  From: Patrick Lamaiziere<patfbsd at davenulle.org>
>   >  To: bug-followup at freebsd.org<bug-followup at freebsd.org>
>   >  Cc: Kevin Baxter<voidchicken at gmail.com>
>   >  Subject: Re: docs/163102: linprocfs mounted in wrong location in Handbook
>   >  Date: Wed, 7 Dec 2011 18:02:34 +0100
>   >
>   >    Le Wed, 7 Dec 2011 15:30:15 GMT,
>   >    Kevin Baxter<voidchicken at gmail.com>   a écrit :
>   >
>   >    >    $ ls /usr/compat
>   >    >    ls: /usr/compat: No such file or directory
>   >    >    $ ls -ld /compat
>   >    >    drwxr-xr-x   3 root  wheel        3 Jan 17  2010 compat
>   >    >
>   >    >    It isn't a symlink on my system. At what point in installation is it
>   >    >    supposed to have been created? I don't see a mention of that
>   >    >   anywhere in the Handbook. Chapter 11.2 even refers to /compat/linux
>   >    >   instead of /usr/compat/linux.
>   >
>   >    On 9.0 bsdinstall does not create the /compat symlink. Or
>   >    even /compat, it is created when you install the linux base.
>   >    You have to move /compat to /usr/compat and create the link by hand.
>
>   I've checked on 9.0-RC2 and the link is there, but my installs were
>   upgraded from 8.2-RELEASE, so you may have a point there. I'll check on
>   a clean 9.0-RC3 install shortly and report findings.

sysinstall did this in its magic installFixupBase() routine as bogon #4. 
  I've no idea if bsdinstall replicates all the same post-install 
fixups.  Hmm, my fresh 9.0 system has no /compat or /usr/compat, so
this seems to be missing.  I think the package should keep installing
to /compat, but I don't really think the package should set the policy 
of symlinking /compat to /usr/compat.  That should be in the install if 
/compat doesn't already exist.

FWIW, for my own home-rolled installer on 8 I use the following shell
function to simulate installFixupBase() (note, the installed system is
mounted at /mnt, and this runs from the "outside" not in a chroot into 
/mnt):

# Fixups from installFixupBase() in sysinstall's install.c
install_fixups()
{

         chmod 0755 /mnt/etc
         mkdir -p /mnt/var/db
         touch /mnt/var/db/mountdtab
         chmod 0644 /mnt/var/db/mountdtab
         mkdir /mnt/usr/compat
         ln -s usr/compat /mnt/compat
         chroot /mnt /bin/sh -c newaliases
         mtree -deU -f /mnt/etc/mtree/BSD.root.dist -p /mnt
         mtree -deU -f /mnt/etc/mtree/BSD.var.dist -p /mnt/var
         mtree -deU -f /mnt/etc/mtree/BSD.usr.dist -p /mnt/usr
}

-- 
John Baldwin



More information about the freebsd-doc mailing list