Skip to content

Commit f09e552

Browse files
authored
docs: fix versions, provider lists, and broken internal links (#439)
* docs: align documentation with latest code * docs: fix broken internal links and complete provider lists * docs(README): clarify Go and Ubuntu requirements on separate lines
1 parent 36e42ea commit f09e552

9 files changed

+23
-23
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@ A command-line tool for building custom Linux images from pre-built packages. De
1111
|----|-------------|--------------|
1212
| Azure Linux | azl3 | x86_64 |
1313
| Edge Microvisor Toolkit | emt3 | x86_64 |
14+
| Red Hat Compatible Distro | rcd10 | x86_64 |
1415
| Wind River eLxr | elxr12 | x86_64 |
1516
| Ubuntu | ubuntu24 | x86_64 |
1617

1718
## Quick Start
1819

1920
### 1. Build the Tool
2021

21-
Requires Go 1.22.12+ on Ubuntu 24.04 (recommended).
22+
Requires Go 1.24+.
23+
Recommended Ubuntu 24.04
2224

2325
```bash
2426
git clone https://github.com/open-edge-platform/os-image-composer.git

docs/architecture/architecture.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
The OS Image Composer is a tool for creating customized OS images from pre-built packages. It takes an image template file (YAML) as input and produces bootable OS images in raw or ISO formats suitable for deployment on bare metal systems, virtual machines, and edge devices.
2323

24-
The tool uses a layered configuration approach: OS-specific default templates provide base settings for supported distributions (Azure Linux, Edge Microvisor Toolkit, and Wind River eLxr), which are merged with user-provided image templates to generate the final image specification. This approach simplifies the process by handling OS-specific details automatically while allowing full customization when needed.
24+
The tool uses a layered configuration approach: OS-specific default templates provide base settings for supported distributions (Azure Linux, Edge Microvisor Toolkit, Wind River eLxr, Ubuntu, and Red Hat-compatible distributions), which are merged with user-provided image templates to generate the final image specification. This approach simplifies the process by handling OS-specific details automatically while allowing full customization when needed.
2525

2626
Pre-built packages are fetched securely from distribution-specific remote repositories over HTTPS, with automatic dependency resolution and GPG signature verification. The tool maintains local caches for both packages and reusable chroot environments to optimize build performance across multiple image builds.
2727

@@ -57,7 +57,7 @@ The **Provider** component takes data from **Config** as its input, then orchest
5757

5858
### Provider
5959

60-
The Provider component is the orchestrator of the image build process. Each supported operating system (Azure Linux, EMT, eLxr) has its own provider implementation that understands the specific requirements and package management for that OS.
60+
The Provider component is the orchestrator of the image build process. Each supported operating system (Azure Linux, EMT, eLxr, Ubuntu, RCD) has its own provider implementation that understands the specific requirements and package management for that OS.
6161

6262
**Provider Interface:**
6363
- `Init(dist, arch string)` - Initialize the provider with distribution and architecture
@@ -71,6 +71,8 @@ The provider encapsulates all OS-specific logic while maintaining a consistent i
7171
- **Azure Linux** (azl3) - RPM-based distribution
7272
- **Edge Microvisor Toolkit** (emt3) - Specialized edge OS
7373
- **eLxr** (elxr12) - Wind River embedded Linux
74+
- **Ubuntu** (ubuntu24) - Debian-based distribution
75+
- **RCD** (rcd10) - Red Hat-compatible distributions
7476

7577
### Chroot
7678

docs/architecture/os-image-composer-build-process.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ sudo -E os-image-composer build my-image-template.yml
5353

5454
1. **Load Configuration** - Load global configuration and command-line overrides
5555
2. **Load and Merge Templates** - Parse user image template and merge with OS-specific default template for the image type and architecture
56-
3. **Initialize Provider** - Select the appropriate provider (Azure Linux, EMT, eLxr) based on template target (OS, distribution, architecture)
56+
3. **Initialize Provider** - Select the appropriate provider (Azure Linux, EMT, eLxr, Ubuntu, RCD) based on template target (OS, distribution, architecture)
5757
4. **PreProcess** - Provider validates template and prepares the build environment
5858
5. **BuildImage** - Provider executes the complete image build pipeline
5959
6. **PostProcess** - Provider performs cleanup and generates SBOM
@@ -225,7 +225,7 @@ This reuse significantly improves build performance, especially when building mu
225225
- Generate verification metadata
226226
- Store signature information in image metadata
227227

228-
Image signing is optional and is only performed if configured in the template. See [Understanding Templates](./os-image-composer-templates.md#security-configuration) for signing configuration examples.
228+
Image signing is optional and is only performed if configured in the template. See [Understanding Templates](./os-image-composer-templates.md) for template configuration details.
229229

230230
### 5. Finalize Stage
231231

docs/architecture/os-image-composer-cli-specification.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@
3939

4040
`os-image-composer` is a command-line tool for generating custom images for
4141
different operating systems, including
42-
[Azure Linux](https://github.com/microsoft/azurelinux),
43-
[Wind River eLxr](https://www.windriver.com/blog/Introducing-eLxr), and
44-
[Edge Microvisor Toolkit](https://github.com/open-edge-platform/edge-microvisor-toolkit).
42+
Azure Linux, Wind River eLxr, RCD, and Edge Microvisor Toolkit.
4543
The tool provides a flexible approach to creating and configuring
4644
production-ready OS images with precise customization.
4745

@@ -206,7 +204,7 @@ os-image-composer --log-level debug validate my-image-template.yml
206204

207205
See also:
208206

209-
- [Validate Stage](./os-image-composer-build-process.md#1-validate-stage)
207+
- [Template Loading and Validation](./os-image-composer-build-process.md#1-template-loading-and-validation)
210208
for details on the validation process
211209

212210
### Inspect Command

docs/architecture/os-image-composer-templates.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ To learn about patterns that work well as templates, see
102102
Templates support simple variable substitution using the `${variable_name}`
103103
syntax. When building an image from a template, you can provide values for
104104
these variables. See the
105-
[Build Specification File](./os-image-composer-cli-specification.md#build-specification-file)
105+
[Image Template File](./os-image-composer-cli-specification.md#image-template-file)
106106
in the
107107
[command-line reference](./os-image-composer-cli-specification.md)
108-
for the complete structure of build specifications.
108+
for the complete template structure.
109109

110110
## Using Templates to Build Images
111111

@@ -137,9 +137,9 @@ Templates in the OS Image Composer tool are stored in two main locations:
137137
To find out how variables affect each build stage, see
138138
[Build Stages in Detail](./os-image-composer-build-process.md#build-stages-in-detail).
139139

140-
For details on customizations that you can apply, see the
141-
[Configuration Stage](./os-image-composer-build-process.md#4-configuration-stage)
142-
of the build process.
140+
For details on customizations that you can apply, see
141+
[Build Stages in Detail](./os-image-composer-build-process.md#build-stages-in-detail)
142+
in the build process documentation.
143143

144144
## Best Practices
145145

docs/index.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33
OS Image Composer is a command-line tool that uses a simple toolchain to build
44
mutable or immutable Linux distributions from the pre-built packages from
55
different OS distribution repositories.
6-
Developed in the Go programming language, or Golang, the tool initially builds
6+
Developed in the Go programming language, or Golang, the tool builds
77
custom images for
8-
[Edge Microvisor Toolkit](https://github.com/open-edge-platform/edge-microvisor-toolkit),
9-
[Azure Linux](https://github.com/microsoft/azurelinux) and
10-
[Wind River eLxr](https://www.windriver.com/blog/Introducing-eLxr).
8+
Edge Microvisor Toolkit, Azure Linux, Wind River eLxr, Ubuntu, and Red Hat-compatible distributions (RCD).
119

1210
## Get Started
1311

@@ -23,7 +21,7 @@ support portability across operating systems.
2321
[latest tagged release](https://github.com/open-edge-platform/os-image-composer/releases)
2422
of the ZIP archive.
2523

26-
- Install version 1.22.12 or later of the Go programming language before
24+
- Install version 1.24.0 or later of the Go programming language before
2725
building the tool; see the
2826
[Go installation instructions](https://go.dev/doc/manage-install)
2927
for your Linux distribution.

docs/tutorial/configure-additional-actions-for-build.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ systemConfig:
8080
8181
## Real-World Example
8282
83-
From the [`ubuntu24-mah.yml`](../image-templates/ubuntu24-mah.yml) template:
83+
From an example Ubuntu template with custom actions:
8484
8585
```yaml
8686
systemConfig:
@@ -229,6 +229,6 @@ systemConfig:
229229

230230
## Related Documentation
231231

232-
- [Image Template Format](../architecture/image-template-format.md)
232+
- [Image Templates](../architecture/os-image-composer-templates.md)
233233
- [Understanding the OS Image Build Process](../architecture/os-image-composer-build-process.md)
234234
- [Command-Line Reference](../architecture/os-image-composer-cli-specification.md)

docs/tutorial/configure-multiple-package-repositories.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,6 @@ packageRepositories:
310310

311311
## Related Documentation
312312

313-
- [Image Template Format](../architecture/image-template-format.md)
313+
- [Image Templates](../architecture/os-image-composer-templates.md)
314314
- [Understanding the OS Image Build Process](../architecture/os-image-composer-build-process.md)
315315
- [Configuring Custom Commands During Image Build](configure-additional-actions-for-build.md)

docs/tutorial/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ prerequisites.
1717

1818
- **OS**: Ubuntu 24.04 (recommended; other standard Linux distributions may
1919
work but are not validated)
20-
- **Go**: Version 1.22.12 or later — see
20+
- **Go**: Version 1.24.0 or later — see
2121
[Go installation instructions](https://go.dev/doc/manage-install)
2222

2323
## Development Build (Go)

0 commit comments

Comments
 (0)