Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Feb 2006 13:50:41 -0800
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: linprocfs and linux_base port upgrade
Message-ID:  <20060221215041.GB22713@odin.ac.hmc.edu>
In-Reply-To: <20060221213812.GA69006@xor.obsecurity.org>
References:  <59887930@srv.sem.ipt.ru> <20060221210659.GA64256@xor.obsecurity.org> <20060221213812.GA69006@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--BwCQnh7xodEAoBMC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 21, 2006 at 04:38:12PM -0500, Kris Kennaway wrote:
> On Tue, Feb 21, 2006 at 04:07:00PM -0500, Kris Kennaway wrote:
> > On Tue, Feb 21, 2006 at 03:52:05PM +0300, Boris Samorodov wrote:
> > > Hi!
> > >=20
> > >=20
> > > Assume that one has a linux_base port installed and linprocfs is
> > > mounted. The task is to upgrade the linux_base port. We do:
> > >   - Un-mounting linprocfs;
> > >   - deletting /compat/linux (along /compat/linux/proc);
> > >   - ...
> > >=20
> > > The problem: a short period of time (well, it may be not so short
> > > accoring to various curcumstances) exists when there _is no_
> > > /compat/linux/proc directory and linprocfs _is_ defined at
> > > /etc/fstab. If something goes wrong when upgrading (system panic, port
> > > upgrading errors, etc) one can get an unbootable machine.
> > >=20
> > > I think that a linux_base port should:
> > >   - comment the linprocfs definition right after removing
> > >     /compat/linux/proc directory;
> > >   - remove the comment after creating the needed directory.
> > >=20
> > > The comment itself should be a readable and unique one (ie all
> > > linux_base ports should use the same text). Ex.:
> > > "#*linux_base autocomment*".
> > >=20
> > >=20
> > > Do you have some other ideas?
> >=20
> > Actually, this unmount ... remount situation is pretty evil.  For
> > example, it prevents users from building linux_base in a jail.  In
> > fact I'd like to switch to building packages in jails instead of
> > chroots on the package cluster, but this is the major reason I can't.
>=20
> Not to mention that the umount isn't always reliable for some reason:
> the linux_base-8 package build often fails with this:
>=20
> =3D=3D=3D>  Checking if emulators/linux_base-8 already installed
> Un-mounting linprocfs...
> kern.fallback_elf_brand: -1 -> 3
> redhat-release-8.0-8.noarch.rpm
> glibc-common-2.3.2-4.80.8.i386.rpm
> glibc-2.3.2-4.80.8.i386.rpm
> setup-2.5.20-1.noarch.rpm
> filesystem-2.1.6-5.noarch.rpm
> unpacking of archive failed on file /proc: cpio: chown failed - Operation=
 not supported
> *** Error code 1

I've also had issues where trying to build a native jdk in a chroot.
The problem is that the chroot in question doesn't have the necessicary
fstab entries so procfs get unmounted, but not remounted.  Installing
linux_base in a prior invocation (also required on amd64 due to the
ARCH override) and mounting and unmounting the chroot's /compat/linux/proc
before and after every port build seems to work OK.

-- Brooks

--=20
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4

--BwCQnh7xodEAoBMC
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFD+4sxXY6L6fI4GtQRAj0gAKDVNsa3PwUrf1p49P1vt3zYq9fjbQCgrOsg
kPgKhp7h5UKsoTicXyqXaqE=
=PRyC
-----END PGP SIGNATURE-----

--BwCQnh7xodEAoBMC--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060221215041.GB22713>