documentation:technical_docs:poudriere
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
documentation:technical_docs:poudriere [2023/10/10 01:04] – [poudriere.d/BSDRPj-BSDRPp-options/$CATEGORY_$PORTNAME/options] olivier | documentation:technical_docs:poudriere [2023/10/10 19:12] – [poudriere.d/image-BSDRPj-src.conf] olivier | ||
---|---|---|---|
Line 50: | Line 50: | ||
cat > ~/ | cat > ~/ | ||
sysutils/ | sysutils/ | ||
- | net/frr8 | + | net/frr9 |
net/bird2 | net/bird2 | ||
net/mpd5 | net/mpd5 | ||
Line 177: | Line 177: | ||
* excluded.files: | * excluded.files: | ||
* overlaydir/ | * overlaydir/ | ||
- | ==== poudriere.d/ | + | ==== poudriere.d/ |
The previous section of the NanoBSD configuration files found in variables CONF_BUILD and CONF_WORLD in file [[https:// | The previous section of the NanoBSD configuration files found in variables CONF_BUILD and CONF_WORLD in file [[https:// | ||
- | As for the BSDRP example, | + | Notice |
- | < | + | |
- | cat <<EOF > / | + | |
- | BOOT_BOOT0_COMCONSOLE_SPEED=0 | + | |
- | WITHOUT_ACCT= | + | |
- | WITHOUT_AMD= | + | |
- | WITHOUT_APM= | + | |
- | WITHOUT_ASSERT_DEBUG= | + | |
- | WITHOUT_ATF= | + | |
- | WITHOUT_ATM= | + | |
- | WITHOUT_AUDIT= | + | |
- | WITHOUT_AUTHPF= | + | |
- | WITHOUT_AUTOFS= | + | |
- | WITHOUT_BHYVE= | + | |
- | WITHOUT_BLUETOOTH= | + | |
- | WITHOUT_BOOTPARAMD= | + | |
- | WITHOUT_BOOTPD= | + | |
- | WITHOUT_BSDINSTALL= | + | |
- | WITHOUT_CALENDAR= | + | |
- | WITHOUT_CCD= | + | |
- | WITHOUT_CROSS_COMPILER= | + | |
- | WITHOUT_CTM= | + | |
- | WITHOUT_CVS= | + | |
- | WITHOUT_DICT= | + | |
- | WITHOUT_EE= | + | |
- | WITHOUT_EXAMPLES= | + | |
- | WITHOUT_FINGER= | + | |
- | WITHOUT_FLOPPY= | + | |
- | WITHOUT_FREEBSD_UPDATE= | + | |
- | WITHOUT_GAMES= | + | |
- | WITHOUT_GCOV= | + | |
- | WITHOUT_GNUCXX= | + | |
- | WITHOUT_GPIB= | + | |
- | WITHOUT_GPIO= | + | |
- | WITHOUT_GROFF= | + | |
- | WITHOUT_HAST= | + | |
- | WITHOUT_HTML= | + | |
- | WITHOUT_INFO= | + | |
- | WITHOUT_IPX= | + | |
- | WITHOUT_IPX_SUPPORT= | + | |
- | WITHOUT_ISCSI= | + | |
- | WITHOUT_KERBEROS= | + | |
- | WITHOUT_LIB32= | + | |
- | WITHOUT_LINT= | + | |
- | WITHOUT_LLVM_ASSERTIONS= | + | |
- | WITHOUT_LLVM_TARGET_ALL= | + | |
- | WITHOUT_LOADER_FIREWIRE= | + | |
- | WITHOUT_LOADER_GELI= | + | |
- | WITHOUT_LOCATE= | + | |
- | WITHOUT_LPR= | + | |
- | WITHOUT_NCP= | + | |
- | WITHOUT_NDIS= | + | |
- | WITHOUT_NIS= | + | |
- | WITHOUT_NLS= | + | |
- | WITHOUT_NLS_CATALOGS= | + | |
- | WITHOUT_NS_CACHING= | + | |
- | WITHOUT_PC_SYSINSTALL= | + | |
- | WITHOUT_PORTSNAP= | + | |
- | WITHOUT_PROFILE= | + | |
- | WITHOUT_QUOTAS= | + | |
- | WITHOUT_RBOOTD= | + | |
- | WITHOUT_RCMDS= | + | |
- | WITHOUT_RCS= | + | |
- | WITHOUT_RESCUE= | + | |
- | WITHOUT_ROUTED= | + | |
- | WITHOUT_SENDMAIL= | + | |
- | WITHOUT_SERVICESDB= | + | |
- | WITHOUT_SHAREDOCS= | + | |
- | WITHOUT_SVNLITE= | + | |
- | WITHOUT_SYSCONS= | + | |
- | WITHOUT_SYSINSTALL= | + | |
- | WITHOUT_TALK= | + | |
- | WITHOUT_TESTS= | + | |
- | WITHOUT_TESTS_SUPPORT= | + | |
- | WITHOUT_TFTP= | + | |
- | WITHOUT_TIMED= | + | |
- | WITHOUT_UNBOUND= | + | |
- | WITHOUT_USB_GADGET_EXAMPLES= | + | |
- | WITHOUT_WIRELESS= | + | |
- | WITHOUT_WPA_SUPPLICANT_EAPOL= | + | |
- | WITHOUT_ZFS= | + | |
- | WITH_IDEA= | + | |
- | WITH_OFED= | + | |
- | WITH_DEBUG_FILES= | + | |
- | WITH_RETPOLINE= | + | |
- | WITH_REPRODUCIBLE_BUILD= | + | |
- | WITH_MALLOC_PRODUCTION= | + | |
- | WITH_OPENSSL_KTLS= | + | |
- | MODULES_OVERRIDE= \ | + | |
- | backlight \ | + | |
- | blake2 \ | + | |
- | bridgestp \ | + | |
- | carp \ | + | |
- | dtrace \ | + | |
- | dummynet \ | + | |
- | fdescfs \ | + | |
- | if_bridge \ | + | |
- | if_disc \ | + | |
- | if_epair \ | + | |
- | if_gre \ | + | |
- | if_infiniband \ | + | |
- | if_lagg \ | + | |
- | if_stf \ | + | |
- | if_tuntap \ | + | |
- | if_vxlan \ | + | |
- | ipdivert \ | + | |
- | ipfilter \ | + | |
- | ipfw \ | + | |
- | ipfw_nat \ | + | |
- | ipfw_nat64 \ | + | |
- | ipfw_pmod \ | + | |
- | ipfw_nptv6 \ | + | |
- | ipsec \ | + | |
- | i2c \ | + | |
- | fib_dxr \ | + | |
- | ksyms \ | + | |
- | libalias \ | + | |
- | mlx4 \ | + | |
- | mlx4en \ | + | |
- | netgraph \ | + | |
- | nullfs \ | + | |
- | opensolaris \ | + | |
- | pf \ | + | |
- | pfsync \ | + | |
- | pflog \ | + | |
- | rc4 \ | + | |
- | unionfs \ | + | |
- | usb/uether \ | + | |
- | usb/urndis \ | + | |
- | amdsbwd \ | + | |
- | amdsmn \ | + | |
- | amdtemp \ | + | |
- | cpuctl \ | + | |
- | coretemp \ | + | |
- | dpdk_lpm4 \ | + | |
- | dpdk_lpm6 \ | + | |
- | ena \ | + | |
- | ichwd \ | + | |
- | ioat \ | + | |
- | ipmi \ | + | |
- | ispfw \ | + | |
- | hifn \ | + | |
- | hyperv \ | + | |
- | qat \ | + | |
- | qatfw \ | + | |
- | qat_c2xxx \ | + | |
- | hwpmc \ | + | |
- | padlock \ | + | |
- | qlxgb \ | + | |
- | qlxgbe \ | + | |
- | safe \ | + | |
- | vmware | + | |
- | EOF | + | |
- | </ | + | |
+ | The [[https:// | ||
==== poudriere.d/ | ==== poudriere.d/ | ||
- | Allow to ADD WITHOUT | + | Allow to ADD WITHOUT_ knob that will be removed during installworld |
- | < | + | This is where we remove compiler and other no-more used part. |
- | cat <<EOF > /usr/local/ | + | |
- | WITHOUT_DEBUG_FILES= | + | The [[https://github.com/ocochard/ |
- | WITHOUT_TOOLCHAIN= | + | |
- | WITHOUT_INCLUDES= | + | |
- | EOF | + | |
- | </ | + | |
==== poudriere.d/ | ==== poudriere.d/ | ||
This file contains configuration parameters common for all ports. | This file contains configuration parameters common for all ports. | ||
- | |||
- | Example: | ||
- | < | ||
- | OPTIONS_UNSET+=DOCS EXAMPLES INFO NLS X11 DOXYGEN | ||
- | lang_perl5.32_UNSET+=DTRACE | ||
- | textproc_expat2_SET+=STATIC | ||
- | net_frr9_SET+=MULTIPATH | ||
- | net_openldap25-client_UNSET+=GSSAPI | ||
- | security_ipsec-tools_SET+=RC5 IDEA RADIUS LDAP | ||
- | security_strongswan_SET+=MEDIATION GCM | ||
- | security_strongswan_UNSET+=EAPAKA3GPP2 EAPSIMFILE SQLITE UNBOUND LOADTESTER TESTVECTOR | ||
- | security_openvpn_SET+=DCO | ||
- | benchmarks_netperf_UNSET+=OMNI | ||
- | sysutils_flashrom_UNSET+=DMIDECODE FTDI | ||
- | sysutils_mstflint_SET+=FWMANAGER ADAB | ||
- | net_mtr_UNSET+=JSON | ||
- | ftp_curl_SET+=GSSAPI_NONE | ||
- | ftp_curl_UNSET+=GSSAPI_BASE IMAP GOPHER HTTP2 LIBSSH2 POP3 PSL RTSP SMTP TELNET | ||
- | </ | ||
+ | The [[https:// | ||
==== BSDRP-pkglist ==== | ==== BSDRP-pkglist ==== | ||
- | Now the list of package to be builded and added to the final image: | + | This file includes |
+ | |||
+ | The [[https:// | ||
- | < | + | |
- | benchmarks/ | + | |
- | benchmarks/ | + | ==== excluded.files ==== |
- | benchmarks/ | + | |
- | editors/ | + | List of files/directory that WITHOUT_ wasn't able to prevent to be on the final image. |
- | emulators/ | + | |
- | lang/perl5.32 | + | The [[https://github.com/ocochard/BSDRP/blob/master/poudriere.etc/poudriere.d/excluded.files|excluded.files ]] is on github. |
- | lang/python | + | |
- | net-mgmt/bgpq4 | + | |
- | net-mgmt/bsnmp-regex | + | |
- | net-mgmt/bsnmp-ucd | + | |
- | net-mgmt/nrpe3 | + | |
- | net-mgmt/pmacct | + | |
- | net-mgmt/rtrlib | + | |
- | net/arping | + | |
- | net/bird2@netlink | + | |
- | net/dhcp6 | + | |
- | net/ | + | |
- | net/ | + | |
- | net/ | + | |
- | net/frr8 | + | |
- | net/ | + | |
- | net/ | + | |
- | net/ | + | |
- | net/ | + | |
- | net/mlvpn | + | |
- | net/mpd5 | + | |
- | net/ | + | |
- | net/ | + | |
- | net/mtr | + | |
- | net/nc | + | |
- | net/ | + | |
- | net/ | + | |
- | net/pimd | + | |
- | net/ | + | |
- | net/ | + | |
- | net/ | + | |
- | net/tayga | + | |
- | net/ | + | |
- | net/ucarp | + | |
- | net/ | + | |
- | ports-mgmt/ | + | |
- | security/ | + | |
- | security/ | + | |
- | security/ | + | |
- | security/ | + | |
- | security/ | + | |
- | security/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | sysutils/ | + | |
- | </ | + | |
Line 442: | Line 219: | ||
The simplest solution is to re-use already existing BSDRP patched source tree: specific kernel configuration files can be installed into these source tree and use after. | The simplest solution is to re-use already existing BSDRP patched source tree: specific kernel configuration files can be installed into these source tree and use after. | ||
- | Start by only patching BSDRP sources (sources and ports) using the BSDRP make.sh script: | + | Start by only patching BSDRP sources (sources and ports) using the [[https:// |
< | < | ||
./make.sh -U | ./make.sh -U | ||
Line 454: | Line 231: | ||
< | < | ||
- | poudriere jail -c -j BSDRPj | + | poudriere jail -c -j BSDRPj -b -m src=/ |
</ | </ | ||
Command line details: | Command line details: | ||
Line 461: | Line 238: | ||
* -j: SHORT name for the jail (I can't use BSDRP-amd64-10.3R here because later it will generate a long directory name and long name aren't well supported) | * -j: SHORT name for the jail (I can't use BSDRP-amd64-10.3R here because later it will generate a long directory name and long name aren't well supported) | ||
* -m src=: Path to the patched source branch we want to use | * -m src=: Path to the patched source branch we want to use | ||
- | * -K: The kernel configuration file, was copied here during patching BSDRP code trees | + | * -K: The kernel configuration file (was copied here during patching BSDRP code tree) |
===== Creating port tree ===== | ===== Creating port tree ===== | ||
Line 482: | Line 259: | ||
Here I'm instructing to build a 4GB image using the previous sets, jail, port-tree. | Here I'm instructing to build a 4GB image using the previous sets, jail, port-tree. | ||
< | < | ||
- | poudriere image -t firmware -s 4g -j BSDRPj -p BSDRPp -n BSDRP -h router.bsdrp.net -c / | + | poudriere image -t firmware -s 2g \ |
+ | | ||
+ | | ||
+ | | ||
+ | -X poudriere.etc/poudriere.d/ | ||
+ | -A poudriere.etc/ | ||
</ | </ | ||
Command line explanation: | Command line explanation: | ||
* -s: Size of full image size (same as the flash media) | * -s: Size of full image size (same as the flash media) | ||
+ | * -j: The jail we just generated | ||
+ | * -p: The poudriere port tree, we just generated its packages | ||
* -n: Image name, will be use as the partition name too | * -n: Image name, will be use as the partition name too | ||
* -h: Hostname configured on the image | * -h: Hostname configured on the image | ||
+ | * -c: Directory tree to be copied on the image (that should include a pkg.conf with the FILES_IGNORE_GLOB) | ||
* -f: List of package to be installed on the image | * -f: List of package to be installed on the image | ||
- | * -c: Directory tree to be copied on the image | + | * -X: List of file to be excluded from the installworld |
- | + | * -A: The post-script, executed at the end, to do the last image tuning (like an mtree or other) | |
- | FIXME: Needs to add a post-script to be added with option "-A post-script" | + |
documentation/technical_docs/poudriere.txt · Last modified: 2024/04/04 12:19 by olivier