docs/163102: linprocfs mounted in wrong location in Handbook

Sergey Kandaurov pluknet at gmail.com
Thu Dec 8 18:57:40 UTC 2011


On 8 December 2011 21:41, John Baldwin <jhb at freebsd.org> wrote:
> 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.

Also from man hier:

     /compat/   normally a link to /usr/compat.  If not, then the /usr/compat
                comments apply (created by sysinstall(8))
...
/usr/compat/   files needed to support binary compatibility with
                          other operating systems, such as Linux (created by
                          sysinstall(8))

So, I think the installer should be rather fixed to created this paths
as it was before.

Also, linux_base ports as well as ports .mk files reference /compat/linux
e.g. as default LINUXBASE.

> 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
> }

-- 
wbr,
pluknet



More information about the freebsd-doc mailing list