docs/163102: linprocfs mounted in wrong location in Handbook
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
>> 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
>> > 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
>> > 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
>> > > 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
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
> # Fixups from installFixupBase() in sysinstall's install.c
> 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
More information about the freebsd-doc