Date: Fri, 21 Jun 2019 10:26:46 -0400 From: mike tancsa <mike@sentex.net> To: Karl Denninger <karl@denninger.net>, Warner Losh <imp@bsdimp.com> Cc: freebsd-embedded <freebsd-embedded@freebsd.org> Subject: Re: NanoBSD cust_pkgng problem.... Message-ID: <a0120fe3-e606-45eb-fc82-7fd1b7c923a8@sentex.net> In-Reply-To: <645f2271-276d-6dd6-74b2-20a0843363f4@denninger.net> References: <27515540-54ef-6e7e-1b87-9be875b54c22@denninger.net> <ac88b364f04c70bb0d644d2d0dba4bb50a5d57f8.camel@freebsd.org> <CANCZdfqnvK4x5w7t3-TLgWAChoQVLAH3hp%2Bp87VqkJdkjQhLzA@mail.gmail.com> <fc9b21ad-3d51-a0ab-3db0-7976fb3b6aa1@denninger.net> <CANCZdfo4Eh74C5a==N6c2ULkr89tOuLfem3_2KZQmM9T0jfBQw@mail.gmail.com> <645f2271-276d-6dd6-74b2-20a0843363f4@denninger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks Warner! I have tested it as well on RELENG_11 and it works there too. ---Mike On 6/20/2019 10:19 PM, Karl Denninger wrote: > Hand-applied the patch (with vi, not patch, since I already had some of > the changes in there) and it ran to completion without incident. > > On 6/20/2019 17:27, Warner Losh wrote: >> >> On Thu, Jun 20, 2019 at 1:28 PM Karl Denninger <karl@denninger.net >> <mailto:karl@denninger.net>> wrote: >> >> >> On 6/20/2019 14:46, Warner Losh wrote: >> > >> > >> > On Thu, Jun 20, 2019, 12:40 PM Ian Lepore <ian@freebsd.org >> <mailto:ian@freebsd.org> >> > <mailto:ian@freebsd.org <mailto:ian@freebsd.org>>> wrote: >> > >> > On Thu, 2019-06-20 at 13:16 -0500, Karl Denninger wrote: >> > > I'm trying to rebuild 12-STABLE with current code with the >> following >> > > for >> > > the PCEngines systems. >> > > >> > > NANO_NAME=pcengines >> > > NANO_SRC=/usr/src >> > > NANO_KERNEL=KSD-SMP >> > > NANO_IMAGES=2 >> > > NANO_MODULES="default" >> > > >> > > #NANO_DRIVE=ad0 >> > > NANO_DRIVE=mmcsd0 >> > > >> > > NANO_RAM_ETCSIZE=30720 >> > > #NANO_RAM_TMPVARSIZE=30720 >> > > NANO_RAM_TMPVARSIZE=131072 >> > > >> > > NANO_PACKAGE_DIR=/work/PKG-AMD64-12/pkg >> > > >> > > # Configuration slice size set to 64Mb >> > > # >> > > NANO_CONFSIZE=$((64*1000*1000/512)) >> > > # >> > > # Set "data" partition to 512MB >> > > # >> > > NANO_DATASIZE=$((512*1000*1000/512)) >> > > >> > > NANO_OBJ="/work/Crochet-work-AMD/obj" >> > > >> > > NANO_PMAKE="make -j 8" >> > > >> > > # 7.5Gb SD image; will fit on a 8Gb card, but is REAL tight! >> > > #NANO_MEDIASIZE=$((7*1000*1000*1000/512 + 1000*1000*512/512)) >> > > # >> > > # 12Gb SD image; fits on 16Gb SD card and has more room >> for packages >> > > NANO_MEDIASIZE=$((12*1000*1000*1000/512)) >> > > >> > > The packages are in /work/PKG-AMD64-12 as expected. I >> have a little >> > > script that gets them which is: >> > > >> > > PKGDIR='/work/PKG-AMD64-12' >> > > export PKGDIR >> > > PKG_CACHEDIR=/work/PKG-AMD64-12/cache >> > > export PKG_CACHEDIR >> > > >> > > ABI=FreeBSD:12:amd64 >> > > export ABI >> > > >> > > pkg -R . -r . -o $PKGDIR/pkgs fetch -d \ >> > > bind914 rsync sshguard strongswan dhcp6 \ >> > > net-snmp ntimed openvpn flashrom dmidecode >> > > # net-snmp ntimed openvpn flashrom dmidecode ssmtp >> > > # bind914 rsync sshguard strongswan dhcp6 >> isc-dhcp44-server \ >> > > >> > > rm -rf $PKGDIR/pkg >> > > mkdir -p $PKGDIR/pkg >> > > >> > > cd $PKG_CACHEDIR >> > > find . -type l -print -exec cp {} ../pkg \; >> > > >> > > /work/PKG-AMD64-12 has a repo.conf file and such; I use >> the same >> > > mechanism to fetch for Crochet for the ARM64 platforms. >> > > >> > > Note the two commented lines. If I include EITHER ssmpt or >> > > isc-dhcp44-server cust_pkgng fails, but the error simply >> says the >> > > install failed without a reason for it. >> > > >> > > If I do NOT include those two the build succeeds. Neither >> of them, >> > > if I >> > > add them back in, discloses a missing dependency or similar. >> > > >> > > pkg: Cannot open /dev/null:No such file or directory >> > > Extracting flashrom-1.0_1: ........ done >> > > Message from python27-2.7.16_1: >> > > >> > > >> > >> ===================================================================== >> > > ====== >> > > >> > > Note that some standard Python modules are provided as >> separate >> > ports >> > > as they require additional dependencies. They are >> available as: >> > > >> > > bsddb databases/py-bsddb >> > > gdbm databases/py-gdbm >> > > sqlite3 databases/py-sqlite3 >> > > tkinter x11-toolkits/py-tkinter >> > > >> > > >> > >> ===================================================================== >> > > ====== >> > > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> > > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/gettext-runtime- >> > > 0.20.1.txz' >> > > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> > > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> > > /usr/sbin/pkg add /_.p/gettext-runtime-0.20.1.txz' >> > > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> > > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add /_.p/gettext-runtime- >> > > 0.20.1.txz >> > > Installing gettext-runtime-0.20.1... >> > > the most recent version of gettext-runtime-0.20.1 is already >> > > installed >> > > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> > > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/icu-64.2,1.txz' >> > > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> > > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> > > /usr/sbin/pkg add /_.p/icu-64.2,1.txz' >> > > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> > > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add /_.p/icu-64.2,1.txz >> > > Installing icu-64.2,1... >> > > the most recent version of icu-64.2,1 is already installed >> > > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> > > SIGNATURE_TYPE=none /usr/sbin/pkg add >> /_.p/indexinfo-0.3.1.txz' >> > > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> > > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> > > /usr/sbin/pkg add /_.p/indexinfo-0.3.1.txz' >> > > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> > > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add >> /_.p/indexinfo-0.3.1.txz >> > > Installing indexinfo-0.3.1... >> > > the most recent version of indexinfo-0.3.1 is already >> installed >> > > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> > > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/isc-dhcp44-server- >> > > 4.4.1_4.txz' >> > > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> > > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> > > /usr/sbin/pkg add /_.p/isc-dhcp44-server-4.4.1_4.txz' >> > > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> > > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add >> /_.p/isc-dhcp44-server- >> > > 4.4.1_4.txz >> > > Installing isc-dhcp44-server-4.4.1_4... >> > > pkg: Cannot open /dev/null:No such file or directory >> > > >> > > Failed to install the following 1 package(s): >> > > /_.p/isc-dhcp44-server-4.4.1_4.txz >> > > + umount /work/Crochet-work-AMD/obj/_.w/_.p >> > > + rm -rf /work/Crochet-work-AMD/obj/_.w/_.p >> > > + echo 'NANO RM -rf /work/Crochet-work-AMD/obj/_.w/_.p' >> > > NANO RM -rf /work/Crochet-work-AMD/obj/_.w/_.p >> > > + uname -r >> > > + command rm -x -rf /work/Crochet-work-AMD/obj/_.w/_.p >> > > >> > > Note that's not the "can't open /dev/null" complaint since >> that >> > > appears >> > > up above (and in fact a bunch of other times previously as >> well) and >> > > doesn't blow the install up. But *something* is causing >> the install >> > > for >> > > those two packages -- and only these two, as the other ~40 >> odd with >> > > dependencies are fine -- to exit non-zero and blow up the >> build. >> > > >> > > It's tough to run this down without an error message that >> tells me >> > > exactly what it's upset about. >> > > >> > > Any ideas? >> > > >> > >> > I think it's a mistake to ignore the /dev/null errors. It's >> quite >> > possible that the error is non-fatal when installing some >> packages and >> > fatal when installing others. The message indicates you >> need to mount >> > devfs within the chroot or jail being used to run pkg. >> > >> > >> > I agree, but for different reasons. Pkg is now using it, which >> is why >> > we see a new error. None of the packages installed threw error >> > messages before, so I think his setup is ok. >> > >> > Warner >> > >> I can confirm that with defaults.sh patched it now runs to >> completion on >> the "latest" without problems. >> >> >> I'll get it committed a bit later today. Can someone test the following: >> >> diff --git a/tools/tools/nanobsd/defaults.sh >> b/tools/tools/nanobsd/defaults.sh >> index 0002373be658..86acab65f67d 100755 >> --- a/tools/tools/nanobsd/defaults.sh >> +++ b/tools/tools/nanobsd/defaults.sh >> @@ -778,8 +778,9 @@ cust_pkgng ( ) ( >> # Mount packages into chroot >> mkdir -p ${NANO_WORLDDIR}/_.p >> mount -t nullfs -o noatime -o ro ${NANO_PACKAGE_DIR} >> ${NANO_WORLDDIR}/_.p >> + mount -t devfs devfs ${NANO_WORLDDIR}/dev >> >> - trap "umount ${NANO_WORLDDIR}/_.p ; rm -rf >> ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT >> + trap "umount ${NANO_WORLDDIR}/dev; umount ${NANO_WORLDDIR}/_.p >> ; rm -rf ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT >> >> # Install pkg-* package >> CR "${PKGCMD} add /_.p/${_NANO_PKG_PACKAGE}" >> @@ -804,6 +805,7 @@ cust_pkgng ( ) ( >> CR0 "${PKGCMD} info" >> >> trap - 1 2 15 EXIT >> + umount ${NANO_WORLDDIR}/dev >> umount ${NANO_WORLDDIR}/_.p >> rm -rf ${NANO_WORLDDIR}/_.p >> ) >> >> since we need to umount it if we hit the trap exit. >> >> Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a0120fe3-e606-45eb-fc82-7fd1b7c923a8>