Skip to content

Commit 2da52a8

Browse files
authored
Merge branch 'main' into daveroge-patch-2
2 parents 2fc2835 + 76380c3 commit 2da52a8

38 files changed

Lines changed: 3864 additions & 705 deletions

README.md

Lines changed: 65 additions & 636 deletions
Large diffs are not rendered by default.

cmd/os-image-composer/build.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/open-edge-platform/os-image-composer/internal/provider/azl"
1111
"github.com/open-edge-platform/os-image-composer/internal/provider/elxr"
1212
"github.com/open-edge-platform/os-image-composer/internal/provider/emt"
13+
"github.com/open-edge-platform/os-image-composer/internal/provider/rcd"
1314
"github.com/open-edge-platform/os-image-composer/internal/provider/ubuntu"
1415
"github.com/open-edge-platform/os-image-composer/internal/utils/logger"
1516
"github.com/open-edge-platform/os-image-composer/internal/utils/system"
@@ -153,6 +154,10 @@ func InitProvider(os, dist, arch string) (provider.Provider, error) {
153154
if err := ubuntu.Register(os, dist, arch); err != nil {
154155
return nil, fmt.Errorf("registering ubuntu provider failed: %v", err)
155156
}
157+
case rcd.OsName:
158+
if err := rcd.Register(os, dist, arch); err != nil {
159+
return nil, fmt.Errorf("registering rcd provider failed: %v", err)
160+
}
156161
default:
157162
return nil, fmt.Errorf("unsupported provider: %s", os)
158163
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
packages:
2+
- createrepo_c
3+
- centos-gpg-keys # Provides GPG keys for package verification
4+
- centos-stream-release # Provides repo files and release info
5+
- bash # The shell
6+
- coreutils-single # Minimal version of basic tools (ls, cp, mv)
7+
- glibc-minimal-langpack # Core libraries without extra languages
8+
- dnf # Package manager (or 'microdnf' for even smaller)
9+
- rpm # Package database tools
10+
- findutils # Basic search tools (often needed by scripts)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
packages:
2+
- createrepo_c
3+
- centos-gpg-keys # Provides GPG keys for package verification
4+
- centos-stream-release # Provides repo files and release info
5+
- bash # The shell
6+
- coreutils-single # Minimal version of basic tools (ls, cp, mv)
7+
- glibc-minimal-langpack # Core libraries without extra languages
8+
- dnf # Package manager (or 'microdnf' for even smaller)
9+
- rpm # Package database tools
10+
- findutils # Basic search tools (often needed by scripts)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[cache-repo]
2+
name=Local Cache Repo
3+
baseurl=file:///cdrom/cache-repo
4+
enabled=1
5+
gpgcheck=0
6+
skip_if_unavailable=1
7+
sslverify=0
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# RHEL 10 OS Configuration
2+
# This file defines architecture-specific build configurations
3+
4+
x86_64:
5+
dist: rcd10 # Distribution identifier
6+
arch: x86_64 # Target architecture
7+
pkgType: rpm # Package management system
8+
chrootenvConfigFile: chrootenvconfigs/chrootenv_x86_64.yml # Path to chrootenv config
9+
releaseVersion: "10.0" # Distribution release version
10+
11+
aarch64:
12+
dist: rcd10 # Distribution identifier
13+
arch: aarch64 # Target architecture
14+
pkgType: rpm # Package management system
15+
chrootenvConfigFile: chrootenvconfigs/chrootenv_aarch64.yml # Path to chrootenv config
16+
releaseVersion: "10.0" # Distribution release version
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[Match]
2+
Name=e*
3+
4+
[Network]
5+
DHCP=yes
6+
IPv6AcceptRA=no
7+
8+
[DHCPv4]
9+
SendRelease=false
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Service]
2+
ExecStart=
3+
ExecStart=-/sbin/agetty --noclear --autologin root --keep-baud %I $TERM
4+
5+
# Default to tty1 but allow other choices
6+
[Install]
7+
Alias=getty.target.wants/getty@tty1.service
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Service]
2+
ExecStart=
3+
ExecStart=-/sbin/agetty --noclear --autologin root --keep-baud %I $TERM
4+
5+
# Default to ttyS0 but allow other choices
6+
[Install]
7+
Alias=getty.target.wants/serial-getty@ttyS0.service
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
image:
2+
name: rcd10-default-x86_64
3+
version: "1.0.0"
4+
5+
target:
6+
os: redhat-compatible-distro # Target OS name
7+
dist: el10 # Target OS distribution
8+
arch: x86_64 # Target OS architecture
9+
imageType: img # Image type, valid value: [raw, iso, img].
10+
11+
systemConfig:
12+
name: Default_Initrd
13+
description: Default yml configuration for initrd image
14+
15+
bootloader:
16+
bootType: efi # (efi or legacy)
17+
provider: grub # (grub for efi and legacy mode, or systemd-boot for efi mode)
18+
19+
packages:
20+
- core-packages-base-image
21+
- dosfstools
22+
- efibootmgr
23+
- grub2-efi
24+
- grub2-efi-binary
25+
- grub2-pc
26+
- ca-certificates
27+
- cronie-anacron
28+
- logrotate
29+
- shadow-utils
30+
- util-linux
31+
32+
additionalFiles:
33+
- local: ../additionalfiles/99-dhcp-en.network
34+
final: /etc/systemd/network/99-dhcp-en.network
35+
- local: ../additionalfiles/getty@.service
36+
final: /usr/lib/systemd/system/getty@.service
37+
- local: ../additionalfiles/serial-getty@.service
38+
final: /usr/lib/systemd/system/serial-getty@.service
39+
- local: ../../../../../general/isolinux/attendedinstaller
40+
final: /root/attendedinstaller
41+
- local: ../../../../../../build/live-installer
42+
final: /usr/bin/live-installer
43+
44+
users:
45+
- name: root
46+
startupScript: "/root/attendedinstaller"
47+
48+
kernel:
49+
name: kernel
50+
cmdline: "console=ttyS0,115200 console=tty0 loglevel=7"
51+
packages:
52+
- kernel

0 commit comments

Comments
 (0)