system: validate host-initiated native base builds
This commit is contained in:
@@ -214,15 +214,51 @@ Intended use:
|
||||
eval "$(/usr/local/bin/fruix-development-environment)"
|
||||
```
|
||||
|
||||
That helper exports a development-oriented environment while keeping the main runtime profile separate. The validated Phase 20.1 path currently uses this to expose at least:
|
||||
That helper exports a development-oriented environment while keeping the main runtime profile separate. The validated Phase 20 path currently uses this to expose at least:
|
||||
|
||||
- native headers under `usr/include`
|
||||
- FreeBSD `share/mk` files for `bsd.*.mk`
|
||||
- Clang toolchain commands such as `cc`, `c++`, `ar`, `ranlib`, and `nm`
|
||||
- `MAKEFLAGS` pointing at the development profile's `usr/share/mk`
|
||||
|
||||
For native base-build compatibility, development-enabled systems also now expose canonical links at:
|
||||
|
||||
- `/usr/include -> /run/current-system/development-profile/usr/include`
|
||||
- `/usr/share/mk -> /run/current-system/development-profile/usr/share/mk`
|
||||
|
||||
This is the current Fruix-native way to make a running system suitable for controlled native base-development work without merging development content back into the main runtime profile.
|
||||
|
||||
### Host-initiated native base builds inside a Fruix-managed guest
|
||||
|
||||
The currently validated intermediate path toward self-hosting is still host-orchestrated.
|
||||
|
||||
The host:
|
||||
|
||||
1. boots a development-enabled Fruix guest
|
||||
2. connects over SSH
|
||||
3. recovers the materialized FreeBSD source store from system metadata
|
||||
4. runs native FreeBSD build commands inside the guest
|
||||
5. collects and records the staged outputs
|
||||
|
||||
The validated build sequence inside the guest is:
|
||||
|
||||
- `make -jN buildworld`
|
||||
- `make -jN buildkernel`
|
||||
- `make DESTDIR=... installworld`
|
||||
- `make DESTDIR=... distribution`
|
||||
- `make DESTDIR=... installkernel`
|
||||
|
||||
For staged install steps, the validated path uses:
|
||||
|
||||
- `DB_FROM_SRC=yes`
|
||||
|
||||
so the staged install is driven by the declared source tree's account database rather than by accidental guest-local `/etc/master.passwd` contents.
|
||||
|
||||
This is the current Phase 20.2 answer to “where should native base builds run?”
|
||||
|
||||
- **inside** a Fruix-managed FreeBSD environment
|
||||
- but still with the **host** driving the outer orchestration loop
|
||||
|
||||
## Deployment patterns
|
||||
|
||||
### 1. Build-first workflow
|
||||
|
||||
Reference in New Issue
Block a user