How to create a PkgBase based chroot directory tree (for example)
Date: Thu, 21 Nov 2024 20:18:52 UTC
Some context: I used url: "pkg+http://pkg.FreeBSD.org/${ABI}/base_weekly" as it was somewhat older then the kernel that the system was running. (Newer worlds on older kernels can be a problem.) What I grabbed also grabbed the kernels, for example. That might not be desired. For reference on the system in use, before this activity I had in place: # more /usr/local/etc/pkg/repos/base.conf base: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/base_weekly", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/share/keys/pkg", enabled: yes } What did I do starting from that? . . . I created an empty: /usr/obj/DESTDIRs/main-amd64-pbase/ I the copied over just the tree: /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys/pkg into the that newly created area. This produced: /usr/obj/DESTDIRs/main-amd64-pbase/usr/ /usr/obj/DESTDIRs/main-amd64-pbase/usr/share /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys/pkg /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys/pkg/revoked /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys/pkg/trusted /usr/obj/DESTDIRs/main-amd64-pbase/usr/share/keys/pkg/trusted/pkg.freebsd.org.2013102301 With just that much of a directory tree present, I was then able to do the following. (I did the fetch stage separately from the update stage.) # pkg-static -r /usr/obj/DESTDIRs/main-amd64-pbase/ install -F -rbase -g 'FreeBSD-*' # pkg-static -r /usr/obj/DESTDIRs/main-amd64-pbase/ install -U -rbase -g 'FreeBSD-*' # chroot /usr/obj/DESTDIRs/main-amd64-pbase/ # freebsd-version -kru 15.0-CURRENT 15.0-CURRENT 15.0-CURRENT # exit # After later setting some more up in the chroot : # ~/pkgbase-snapshot-list.sh Via pkg-static info -C -x '^FreeBSD-' . . . 1 FreeBSD-*-15.snap20241117111205 8 FreeBSD-*-15.snap20241116201407 2 FreeBSD-*-15.snap20241116191014 1 FreeBSD-*-15.snap20241116040924 16 FreeBSD-*-15.snap20241115155402 328 FreeBSD-*-15.snap20241115030705 66 FreeBSD-*-15.snap20241114232424 4 FreeBSD-*-15.snap20241114162618 1 FreeBSD-*-15.snap20241113231628 1 FreeBSD-*-15.snap20241113125231 1 FreeBSD-*-15.snap20241113091125 1 FreeBSD-*-15.snap20241112035500 1 FreeBSD-*-15.snap20241108205938 1 FreeBSD-*-15.snap20241108132953 1 FreeBSD-*-15.snap20241107061333 1 FreeBSD-*-15.snap20241107020356 5 FreeBSD-*-15.snap20241104155004 1 FreeBSD-*-15.snap20241103222744 1 FreeBSD-*-15.snap20241029132733 1 FreeBSD-*-15.snap20241028160252 97 FreeBSD-*-15.snap20241026125659 Instead via /var/cache/pkg/*.snap*.pkg . . . 1 FreeBSD-*-15.snap20241117111205 8 FreeBSD-*-15.snap20241116201407 2 FreeBSD-*-15.snap20241116191014 1 FreeBSD-*-15.snap20241116040924 16 FreeBSD-*-15.snap20241115155402 328 FreeBSD-*-15.snap20241115030705 66 FreeBSD-*-15.snap20241114232424 4 FreeBSD-*-15.snap20241114162618 1 FreeBSD-*-15.snap20241113231628 1 FreeBSD-*-15.snap20241113125231 1 FreeBSD-*-15.snap20241113091125 1 FreeBSD-*-15.snap20241112035500 1 FreeBSD-*-15.snap20241108205938 1 FreeBSD-*-15.snap20241108132953 1 FreeBSD-*-15.snap20241107061333 1 FreeBSD-*-15.snap20241107020356 5 FreeBSD-*-15.snap20241104155004 1 FreeBSD-*-15.snap20241103222744 1 FreeBSD-*-15.snap20241029132733 1 FreeBSD-*-15.snap20241028160252 97 FreeBSD-*-15.snap20241026125659 SIDE NOTE I learned that base_weekly does not have have FreeBSD-dtb , unlike base_latest . END SIDE NOTE === Mark Millard marklmi at yahoo.com