Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Aug 2014 22:41:14 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Julian Elischer <julian@freebsd.org>
Cc:        Craig Rodrigues <rodrigc@FreeBSD.org>, freebsd-current Current <freebsd-current@freebsd.org>
Subject:   Re: "make installworld" commands used to generate manifest for makefs?
Message-ID:  <20140825224114.GE91673@spindle.one-eyed-alien.net>
In-Reply-To: <53FBB89B.2020501@freebsd.org>
References:  <CAG=rPVdB424eOLCcdJmMOT2mxf8g_BYBnYX%2Bre=5JJJXO38T3g@mail.gmail.com> <20140825165522.GC91673@spindle.one-eyed-alien.net> <CAG=rPVfE7%2Bnuo50gWCQE4iEaSm0=JfwkZCi=54RzGd28NiFV1A@mail.gmail.com> <20140825193629.GD91673@spindle.one-eyed-alien.net> <53FBB89B.2020501@freebsd.org>

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

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

On Mon, Aug 25, 2014 at 03:28:43PM -0700, Julian Elischer wrote:
> On 8/25/14, 12:36 PM, Brooks Davis wrote:
> > On Mon, Aug 25, 2014 at 10:38:12AM -0700, Craig Rodrigues wrote:
> >> On Mon, Aug 25, 2014 at 9:55 AM, Brooks Davis <brooks@freebsd.org> wro=
te:
> >>> On Sun, Aug 24, 2014 at 04:10:21PM -0700, Craig Rodrigues wrote:
> >>>> Hi,
> >>>>
> >>>> Is there an easy way to take most of the commands performed
> >>>> during "make installworld" and create a manifest file
> >>>> which is compatible with makefs?
> >>> make -DNO_ROOT -DDB_FROM_SRC DESTDIR=3D<foo> installworld
>=20
> if you haven't already this should be documented in the base makefiles=20
> along with the other -DXXXX
> values.

It was documented in the initial commit.

-- Brooks

> >>>
> >>> should result in a <foo>/METALOG file suitable for passing to makefs.
> >>> You may also want the distribution target if you want a populated /et=
c.
> >>>
> >>> -- Broks
> >> Hi,
> >>
> >> I got this:
> >>
> >>
> >> # make -DNO_ROOT -DDB_FROM_SRC DESTDIR=3D/tmp installworld
> > you really don't want DESTDIR=3D/tmp, it will install a full OS in that
> > directory along with the METALOG file.
> >
> >> mkdir -p /tmp/install.hEJfJDhM
> >> progs=3D$(for prog in [ awk cap_mkdb cat chflags chmod chown  date echo
> >> egrep find grep id install   ln lockf make mkdir mtree mv pwd_mkdb  rm
> >> sed services_mkdb sh sysctl test true uname wc zic tzsetup  ; do  if
> >> progpath=3D`which $prog`; then  echo $progpath;  else  echo "Required
> >> tool $prog not found in PATH." >&2;  exit 1;  fi;  done);  libs=3D$(ldd
> >> -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u |  while read
> >> line; do  set -- $line;  if [ "$2 $3" !=3D "not found" ]; then  echo $=
2;
> >>   else  echo "Required library $1 not found." >&2;  exit 1;  fi;
> >> done);  cp $libs $progs /tmp/install.hEJfJDhM
> >> cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.hEJfJDhM/locale
> >> echo "#mtree 2.0" > /tmp//METALOG
> >> cd /usr/src; MAKEOBJDIRPREFIX=3D/usr/obj MACHINE_ARCH=3Damd64
> >> MACHINE=3Damd64 CPUTYPE=3D
> >> GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin
> >> GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
> >> GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac
> >> PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legac=
y/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy=
/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/us=
r/src/tmp/usr/games:/tmp/install.hEJfJDhM
> >>   LD_LIBRARY_PATH=3D/tmp/install.hEJfJDhM
> >> PATH_LOCALE=3D/tmp/install.hEJfJDhM/locale make -DWITH_ATF -f
> >> Makefile.inc1  INSTALL=3D"install -N /usr/src/etc -U -M /tmp//METALOG =
-D
> >> /tmp" MTREE_CMD=3D"mtree -N /usr/src/etc -W"
> >> __MAKE_SHELL=3D/tmp/install.hEJfJDhM/sh -DNO_ROOT METALOG=3D/tmp//META=
LOG
> >> reinstall;  MAKEOBJDIRPREFIX=3D/usr/obj MACHINE_ARCH=3Damd64 MACHINE=
=3Damd64
> >> CPUTYPE=3D GROFF_BIN_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/bin
> >> GROFF_FONT_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
> >> GROFF_TMAC_PATH=3D/usr/obj/usr/src/tmp/legacy/usr/share/tmac
> >> PATH=3D/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legac=
y/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy=
/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/us=
r/src/tmp/usr/games:/tmp/install.hEJfJDhM
> >>   LD_LIBRARY_PATH=3D/tmp/install.hEJfJDhM
> >> PATH_LOCALE=3D/tmp/install.hEJfJDhM/locale rm -rf /tmp/install.hEJfJDhM
> >> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 37: Unable to
> >> determine compiler type for cc.  Consider setting COMPILER_TYPE.
> > You need to build world before you can install it.
> >
> > -- Brooks
>=20

--tMbDGjvJuJijemkf
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlP7u4kACgkQXY6L6fI4GtQoMQCgz1A/aIC8BW1/St4ZbPpNpZFK
5SYAn0LJjZZuXo43YsbGZhgKG/H6Gqfq
=j+Al
-----END PGP SIGNATURE-----

--tMbDGjvJuJijemkf--



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