documentation:technical_docs:poudriere
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:technical_docs:poudriere [2024/10/20 22:06] – [The 6 minimum steps to build a poudriere firmware image] olivier | documentation:technical_docs:poudriere [2024/11/18 19:11] (current) – [Build packages] olivier | ||
---|---|---|---|
Line 46: | Line 46: | ||
echo " | echo " | ||
- Create a poudriere jail WITH a GENERIC kernel (by default kernel is not build & installed), here named " | - Create a poudriere jail WITH a GENERIC kernel (by default kernel is not build & installed), here named " | ||
- | - Create a port-tree using " | + | - Create a port-tree using " |
- Generate list of ports to be build & added into the firmware image:< | - Generate list of ports to be build & added into the firmware image:< | ||
cat > ~/ | cat > ~/ | ||
sysutils/ | sysutils/ | ||
- | net/frr9 | + | net/frr10 |
net/bird2 | net/bird2 | ||
net/mpd5 | net/mpd5 | ||
EOF</ | EOF</ | ||
- | - Build the ports (ie: generate binary packages) from the corresponding jail using " | + | - Build the ports (ie: generate binary packages) from the corresponding jail using " |
- Generate your disk image (4Gb total, because 2 systems partitions of 2Gb) using " | - Generate your disk image (4Gb total, because 2 systems partitions of 2Gb) using " | ||
- | sudo poudriere image -t firmware -j router -s 4g -p router-ports | + | sudo poudriere image -t firmware -j router -s 4g -p router_ports |
(...) | (...) | ||
[00:00:15] Creating ESP image | [00:00:15] Creating ESP image | ||
Line 159: | Line 159: | ||
List of mandatory patches for poudriere in Pull-request review: | List of mandatory patches for poudriere in Pull-request review: | ||
+ | * [[https:// | ||
+ | |||
+ | Merged patches: | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | |||
- | List of tuning patches in Pull-request review: | ||
- | * [[https:// | ||
- | |||
- | Merged patches: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
Line 227: | Line 226: | ||
The [[https:// | The [[https:// | ||
+ | ==== Packages excluded files ==== | ||
+ | When customizing ports options, some could not be disabled but we could configure pkg to not install some files from packages while extracting them. | ||
+ | |||
+ | The [[https:// | ||
===== Building the jail ===== | ===== Building the jail ===== | ||
Line 234: | Line 237: | ||
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 [[https:// | + | Start by only patching BSDRP sources (sources and ports) using the [[https:// |
< | < | ||
- | ./make.sh -U | + | make patch-sources |
- | Update ONLY done | + | |
</ | </ | ||
- | There is now 2 sources ready patched: | + | There are now 2 sources ready patched: |
- | * / | + | * obj/FreeBSD (including BSDRP specific kernel configuration file) |
- | * / | + | * obj/ports |
< | < | ||
- | poudriere jail -c -j BSDRPj -b -m src=/ | + | poudriere jail -e poudriere.etc |
</ | </ | ||
Command line details: | Command line details: | ||
Line 252: | Line 253: | ||
* -c: create a jail | * -c: create a jail | ||
* -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) | ||
+ | * -e: Load all configurations files from ./ | ||
* -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 tree) | * -K: The kernel configuration file (was copied here during patching BSDRP code tree) | ||
Line 260: | Line 262: | ||
< | < | ||
- | poudriere ports -c -p BSDRPp -m null -M / | + | poudriere ports -e poudriere.etc |
</ | </ | ||
Line 267: | Line 269: | ||
poudriere native role, we just give the jail name and port-tree name to use then the list of packages. | poudriere native role, we just give the jail name and port-tree name to use then the list of packages. | ||
< | < | ||
- | poudriere bulk -j BSDRPj -p BSDRPp -f / | + | poudriere bulk -e poudriere.etc |
</ | </ | ||
documentation/technical_docs/poudriere.1729454775.txt.gz · Last modified: 2024/10/20 22:06 by olivier