Merge branch 'december-cleanup'
This commit is contained in:
commit
a064978a93
|
|
@ -4,3 +4,4 @@
|
||||||
repo/
|
repo/
|
||||||
_build/
|
_build/
|
||||||
*.repo/
|
*.repo/
|
||||||
|
*.tar
|
||||||
|
|
|
||||||
17
Makefile
17
Makefile
|
|
@ -39,7 +39,7 @@ endif
|
||||||
|
|
||||||
export CHECKPOINTS=build
|
export CHECKPOINTS=build
|
||||||
IMAGETYPES := regular ostree
|
IMAGETYPES := regular ostree
|
||||||
FORMATS := img qcow2 oci.tar repo rootfs ext4 tar
|
FORMATS := oci.tar repo tar
|
||||||
COMMON_TARGETS := qemu
|
COMMON_TARGETS := qemu
|
||||||
HOST_TARGETS := $(COMMON_TARGETS) $($(HOST_ARCH)_TARGETS)
|
HOST_TARGETS := $(COMMON_TARGETS) $($(HOST_ARCH)_TARGETS)
|
||||||
ALL_TARGETS := $(COMMON_TARGETS) $(foreach a,$(ARCHES), $($(a)_TARGETS))
|
ALL_TARGETS := $(COMMON_TARGETS) $(foreach a,$(ARCHES), $($(a)_TARGETS))
|
||||||
|
|
@ -66,9 +66,7 @@ help:
|
||||||
@echo
|
@echo
|
||||||
@echo Other extensions are also supported:
|
@echo Other extensions are also supported:
|
||||||
@echo \ \* .repo: Generate a repo with an ostree commit \(only works for ostree targets\)
|
@echo \ \* .repo: Generate a repo with an ostree commit \(only works for ostree targets\)
|
||||||
@echo \ \* .rootfs: Generate a directory with the rootfs content
|
|
||||||
@echo \ \* .tar: Generate a tar file with the rootfs content
|
@echo \ \* .tar: Generate a tar file with the rootfs content
|
||||||
@echo \ \* .ext4: Generate an ext4 filesystem with the rootfs content \(size from \"image_size\"\)
|
|
||||||
@echo \ \* oci.tar: Generate an oci container image with the rootfs content
|
@echo \ \* oci.tar: Generate an oci container image with the rootfs content
|
||||||
@echo
|
@echo
|
||||||
@echo You can pass variable declarations to osbuild-mpp with the DEFINES make variable.
|
@echo You can pass variable declarations to osbuild-mpp with the DEFINES make variable.
|
||||||
|
|
@ -76,9 +74,6 @@ help:
|
||||||
@echo For example, to add extra rpms to a minimal regular image, use:
|
@echo For example, to add extra rpms to a minimal regular image, use:
|
||||||
@echo " make cs9-qemu-minimal-regular.$(HOST_ARCH).qcow2 DEFINES='extra_rpms=[\"gdb\",\"strace\"]'"
|
@echo " make cs9-qemu-minimal-regular.$(HOST_ARCH).qcow2 DEFINES='extra_rpms=[\"gdb\",\"strace\"]'"
|
||||||
@echo
|
@echo
|
||||||
@echo To easily run the image with qemu, you can use the included runvm tool, like:
|
|
||||||
@echo \ \ ./runvm cs9-qemu-minimal-regular.$(HOST_ARCH).qcow2
|
|
||||||
@echo
|
|
||||||
@echo There are some additional targets:
|
@echo There are some additional targets:
|
||||||
@echo \ \ manifests: generates resolved json manifests for all images without building them.
|
@echo \ \ manifests: generates resolved json manifests for all images without building them.
|
||||||
@echo \ \ clean_caches: Removes intermediate image build artifacts \(that improve rebuild speed\)
|
@echo \ \ clean_caches: Removes intermediate image build artifacts \(that improve rebuild speed\)
|
||||||
|
|
@ -86,8 +81,6 @@ help:
|
||||||
@echo \ \ clean: Run clean_caches and clean_downloads
|
@echo \ \ clean: Run clean_caches and clean_downloads
|
||||||
@echo
|
@echo
|
||||||
@echo There are also some common conversion rules:
|
@echo There are also some common conversion rules:
|
||||||
@echo \ \ foo.ext4.simg will build foo.ext4 and then convert it with img2simg
|
|
||||||
@echo \ \ foo.simg will build foo.img and then convert it with img2simg
|
|
||||||
@echo \ \ foo.tar.gz will build $foo.tar and then gzip it
|
@echo \ \ foo.tar.gz will build $foo.tar and then gzip it
|
||||||
@echo
|
@echo
|
||||||
@echo "When building a custom variant of an image (say with an extra package) you can use a"
|
@echo "When building a custom variant of an image (say with an extra package) you can use a"
|
||||||
|
|
@ -180,13 +173,5 @@ clean: clean_downloads clean_caches
|
||||||
VM_SUDO=sudo
|
VM_SUDO=sudo
|
||||||
VM_OSBUILD=sudo osbuild
|
VM_OSBUILD=sudo osbuild
|
||||||
|
|
||||||
%.ext4.simg : %.ext4
|
|
||||||
img2simg $< $@
|
|
||||||
rm $<
|
|
||||||
|
|
||||||
%.simg : %.img
|
|
||||||
img2simg $< $@
|
|
||||||
rm $<
|
|
||||||
|
|
||||||
%.tar.gz : %.tar
|
%.tar.gz : %.tar
|
||||||
gzip -f $<
|
gzip -f $<
|
||||||
|
|
|
||||||
|
|
@ -47,12 +47,6 @@ pipelines:
|
||||||
- type: org.osbuild.locale
|
- type: org.osbuild.locale
|
||||||
options:
|
options:
|
||||||
language: en_US.UTF-8
|
language: en_US.UTF-8
|
||||||
- type: org.osbuild.users
|
|
||||||
options:
|
|
||||||
users:
|
|
||||||
guest:
|
|
||||||
password:
|
|
||||||
mpp-eval: guest_password
|
|
||||||
- type: org.osbuild.systemd
|
- type: org.osbuild.systemd
|
||||||
options:
|
options:
|
||||||
enabled_services:
|
enabled_services:
|
||||||
|
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
version: '2'
|
|
||||||
mpp-vars:
|
|
||||||
efiarch: x64
|
|
||||||
boot_rpms:
|
|
||||||
mpp-join:
|
|
||||||
- mpp-eval: boot_rpms
|
|
||||||
- - grub2-efi-x64
|
|
||||||
- grub2-pc
|
|
||||||
base_rpms:
|
|
||||||
mpp-join:
|
|
||||||
- mpp-eval: base_rpms
|
|
||||||
- - microcode_ctl
|
|
||||||
pipelines:
|
|
||||||
- name: build
|
|
||||||
runner: org.osbuild.centos9
|
|
||||||
stages:
|
|
||||||
- type: org.osbuild.rpm
|
|
||||||
inputs:
|
|
||||||
packages:
|
|
||||||
type: org.osbuild.files
|
|
||||||
origin: org.osbuild.source
|
|
||||||
mpp-depsolve:
|
|
||||||
architecture: $arch
|
|
||||||
module-platform-id: $distro_module_id
|
|
||||||
baseurl: $distro_baseurl/BaseOS/$arch/os/
|
|
||||||
repos:
|
|
||||||
mpp-eval: distro_repos
|
|
||||||
packages:
|
|
||||||
mpp-join:
|
|
||||||
- mpp-eval: build_rpms
|
|
||||||
- mpp-eval: extra_build_rpms
|
|
||||||
- - grub2-efi-x64
|
|
||||||
- grub2-efi-x64-cdboot
|
|
||||||
- grub2-tools-efi
|
|
||||||
- grub2-pc
|
|
||||||
- grub2-pc-modules
|
|
||||||
- grub2-tools
|
|
||||||
- shim-x64
|
|
||||||
options:
|
|
||||||
gpgkeys:
|
|
||||||
- mpp-eval: centos_gpg_key
|
|
||||||
- mpp-eval: redhat_gpg_key
|
|
||||||
exclude:
|
|
||||||
docs: true
|
|
||||||
- type: org.osbuild.selinux
|
|
||||||
options:
|
|
||||||
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
|
|
||||||
labels:
|
|
||||||
/usr/bin/cp: system_u:object_r:install_exec_t:s0
|
|
||||||
/usr/bin/tar: system_u:object_r:install_exec_t:s0
|
|
||||||
|
|
@ -3,36 +3,46 @@ version: '2'
|
||||||
mpp-vars:
|
mpp-vars:
|
||||||
distro_name: cs9 # The default
|
distro_name: cs9 # The default
|
||||||
|
|
||||||
mpp-define-image:
|
|
||||||
size: $image_size
|
|
||||||
table:
|
|
||||||
uuid: $parttab_uuid
|
|
||||||
label: $partition_label
|
|
||||||
partitions:
|
|
||||||
- id: efi
|
|
||||||
start:
|
|
||||||
mpp-eval: "0 if partition_label == 'gpt' else 2048"
|
|
||||||
size: $efipart_size
|
|
||||||
type:
|
|
||||||
mpp-eval: "'C12A7328-F81F-11D2-BA4B-00A0C93EC93B' if partition_label == 'gpt' else 'ef'"
|
|
||||||
uuid: $efipart_uuid
|
|
||||||
- id: boot
|
|
||||||
size: $bootpart_size
|
|
||||||
type:
|
|
||||||
mpp-eval: "'0FC63DAF-8483-4772-8E79-3D69D8477DE4' if partition_label == 'gpt' else '83'"
|
|
||||||
uuid: $bootpart_uuid
|
|
||||||
- id: root
|
|
||||||
type:
|
|
||||||
mpp-eval: "'0FC63DAF-8483-4772-8E79-3D69D8477DE4' if partition_label == 'gpt' else '83'"
|
|
||||||
uuid: $rootpart_uuid
|
|
||||||
pipelines:
|
pipelines:
|
||||||
- mpp-import-pipelines:
|
- mpp-import-pipelines:
|
||||||
path: distro/$distro_name.ipp.yml
|
path: distro/$distro_name.ipp.yml
|
||||||
- mpp-import-pipelines:
|
- mpp-import-pipelines:
|
||||||
path: defaults.ipp.yml
|
path: defaults.ipp.yml
|
||||||
- mpp-import-pipelines:
|
- name: build
|
||||||
path: target-$target.ipp.yml
|
runner: org.osbuild.centos9
|
||||||
- mpp-import-pipeline:
|
stages:
|
||||||
path: build-$arch.ipp.yml
|
- type: org.osbuild.rpm
|
||||||
id: build
|
inputs:
|
||||||
|
packages:
|
||||||
|
type: org.osbuild.files
|
||||||
|
origin: org.osbuild.source
|
||||||
|
mpp-depsolve:
|
||||||
|
architecture: $arch
|
||||||
|
module-platform-id: $distro_module_id
|
||||||
|
baseurl: $distro_baseurl/BaseOS/$arch/os/
|
||||||
|
repos:
|
||||||
|
mpp-eval: distro_repos
|
||||||
|
packages:
|
||||||
|
mpp-join:
|
||||||
|
- mpp-eval: build_rpms
|
||||||
|
- mpp-eval: extra_build_rpms
|
||||||
|
- - grub2-efi-x64
|
||||||
|
- grub2-efi-x64-cdboot
|
||||||
|
- grub2-tools-efi
|
||||||
|
- grub2-pc
|
||||||
|
- grub2-pc-modules
|
||||||
|
- grub2-tools
|
||||||
|
- shim-x64
|
||||||
|
options:
|
||||||
|
gpgkeys:
|
||||||
|
- mpp-eval: centos_gpg_key
|
||||||
|
- mpp-eval: redhat_gpg_key
|
||||||
|
exclude:
|
||||||
|
docs: true
|
||||||
|
- type: org.osbuild.selinux
|
||||||
|
options:
|
||||||
|
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
|
||||||
|
labels:
|
||||||
|
/usr/bin/cp: system_u:object_r:install_exec_t:s0
|
||||||
|
/usr/bin/tar: system_u:object_r:install_exec_t:s0
|
||||||
runner: org.osbuild.centos9
|
runner: org.osbuild.centos9
|
||||||
|
|
|
||||||
|
|
@ -5,36 +5,17 @@ mpp-vars:
|
||||||
default_ostree_ref: $distro_name/$arch/$target-$name
|
default_ostree_ref: $distro_name/$arch/$target-$name
|
||||||
default_ostree_os_version: $distro_version
|
default_ostree_os_version: $distro_version
|
||||||
default_osname: centos
|
default_osname: centos
|
||||||
default_uefi_vendor: centos
|
|
||||||
default_kernel_rpm: kernel
|
default_kernel_rpm: kernel
|
||||||
default_linux_firmware_rpm: linux-firmware
|
default_linux_firmware_rpm: linux-firmware
|
||||||
default_partition_label: gpt
|
|
||||||
default_extra_rpms: []
|
default_extra_rpms: []
|
||||||
default_extra_build_rpms: []
|
default_extra_build_rpms: []
|
||||||
default_extra_repos: []
|
default_extra_repos: []
|
||||||
default_target_repos: []
|
default_target_repos: []
|
||||||
default_root_password: $6$xoLqEUz0cGGJRx01$H3H/bFm0myJPULNMtbSsOFd/2BnHqHkMD92Sfxd.EKM9hXTWSmELG8cf205l6dktomuTcgKGGtGDgtvHVXSWU.
|
|
||||||
default_guest_password: $6$xoLqEUz0cGGJRx01$H3H/bFm0myJPULNMtbSsOFd/2BnHqHkMD92Sfxd.EKM9hXTWSmELG8cf205l6dktomuTcgKGGtGDgtvHVXSWU.
|
|
||||||
default_root_ssh_key: ""
|
|
||||||
default_ssh_permit_root_login: false
|
|
||||||
default_image_size: '8589934592'
|
|
||||||
default_efipart_size: 204800
|
|
||||||
default_bootpart_size: 614400
|
|
||||||
default_kernel_loglevel: 4
|
|
||||||
static_uuids:
|
static_uuids:
|
||||||
mpp-eval: locals().get('static_uuids', True)
|
mpp-eval: locals().get('static_uuids', True)
|
||||||
default_rootfs_uuid:
|
default_rootfs_uuid:
|
||||||
mpp-eval: ('76a22bf4-f153-4541-b6c7-0332c0dfaeac' if static_uuids else str(__import__('uuid').uuid4()))
|
mpp-eval: ('76a22bf4-f153-4541-b6c7-0332c0dfaeac' if static_uuids else str(__import__('uuid').uuid4()))
|
||||||
default_bootfs_uuid:
|
default_kernel_loglevel: 4
|
||||||
mpp-eval: ('156f0420-627b-4151-ae6f-fda298097515' if static_uuids else str(__import__('uuid').uuid4()))
|
|
||||||
default_parttab_uuid:
|
|
||||||
mpp-eval: ('d209c89e-ea5e-4fbd-b161-b461cce297e0' if static_uuids else str(__import__('uuid').uuid4()))
|
|
||||||
default_efipart_uuid:
|
|
||||||
mpp-eval: ('68b2905b-df3e-4fb3-80fa-49d1e773aa33' if static_uuids else str(__import__('uuid').uuid4()))
|
|
||||||
default_bootpart_uuid:
|
|
||||||
mpp-eval: ('61b2905b-df3e-4fb3-80fa-49d1e773aa32' if static_uuids else str(__import__('uuid').uuid4()))
|
|
||||||
default_rootpart_uuid:
|
|
||||||
mpp-eval: ('6264d520-3fb9-423f-8ab8-7a0a8e3d3562' if static_uuids else str(__import__('uuid').uuid4()))
|
|
||||||
default_use_efi_runtime: true
|
default_use_efi_runtime: true
|
||||||
default_kernel_opts:
|
default_kernel_opts:
|
||||||
- console=tty0
|
- console=tty0
|
||||||
|
|
@ -86,10 +67,6 @@ mpp-vars:
|
||||||
mpp-eval: locals().get('ostree_os_version', default_ostree_os_version)
|
mpp-eval: locals().get('ostree_os_version', default_ostree_os_version)
|
||||||
osname:
|
osname:
|
||||||
mpp-eval: locals().get('osname', default_osname)
|
mpp-eval: locals().get('osname', default_osname)
|
||||||
uefi_vendor:
|
|
||||||
mpp-eval: locals().get('uefi_vendor', default_uefi_vendor)
|
|
||||||
partition_label:
|
|
||||||
mpp-eval: locals().get('partition_label', default_partition_label)
|
|
||||||
extra_rpms:
|
extra_rpms:
|
||||||
mpp-eval: locals().get('extra_rpms', default_extra_rpms)
|
mpp-eval: locals().get('extra_rpms', default_extra_rpms)
|
||||||
extra_build_rpms:
|
extra_build_rpms:
|
||||||
|
|
@ -98,26 +75,10 @@ mpp-vars:
|
||||||
mpp-eval: locals().get('extra_repos', default_extra_repos)
|
mpp-eval: locals().get('extra_repos', default_extra_repos)
|
||||||
target_repos:
|
target_repos:
|
||||||
mpp-eval: locals().get('target_repos', default_target_repos)
|
mpp-eval: locals().get('target_repos', default_target_repos)
|
||||||
image_size:
|
|
||||||
mpp-eval: locals().get('image_size', default_image_size)
|
|
||||||
rootfs_uuid:
|
rootfs_uuid:
|
||||||
mpp-eval: locals().get('rootfs_uuid', default_rootfs_uuid)
|
mpp-eval: locals().get('rootfs_uuid', default_rootfs_uuid)
|
||||||
bootfs_uuid:
|
|
||||||
mpp-eval: locals().get('bootfs_uuid', default_bootfs_uuid)
|
|
||||||
parttab_uuid:
|
|
||||||
mpp-eval: locals().get('parttab_uuid', default_parttab_uuid)
|
|
||||||
rootpart_uuid:
|
|
||||||
mpp-eval: locals().get('rootpart_uuid', default_rootpart_uuid)
|
|
||||||
bootpart_uuid:
|
|
||||||
mpp-eval: locals().get('bootpart_uuid', default_bootpart_uuid)
|
|
||||||
efipart_uuid:
|
|
||||||
mpp-eval: locals().get('efipart_uuid', default_efipart_uuid)
|
|
||||||
kernel_opts:
|
kernel_opts:
|
||||||
mpp-eval: locals().get('kernel_opts', default_kernel_opts)
|
mpp-eval: locals().get('kernel_opts', default_kernel_opts)
|
||||||
efipart_size:
|
|
||||||
mpp-eval: locals().get('efipart_size', default_efipart_size)
|
|
||||||
bootpart_size:
|
|
||||||
mpp-eval: locals().get('bootpart_size', default_bootpart_size)
|
|
||||||
dracut_add_modules:
|
dracut_add_modules:
|
||||||
mpp-eval: locals().get('dracut_add_modules', default_dracut_add_modules)
|
mpp-eval: locals().get('dracut_add_modules', default_dracut_add_modules)
|
||||||
dracut_omit_modules:
|
dracut_omit_modules:
|
||||||
|
|
@ -128,14 +89,6 @@ mpp-vars:
|
||||||
mpp-eval: locals().get('dracut_add_drivers', default_dracut_add_drivers)
|
mpp-eval: locals().get('dracut_add_drivers', default_dracut_add_drivers)
|
||||||
dracut_install:
|
dracut_install:
|
||||||
mpp-eval: locals().get('dracut_install', default_dracut_install)
|
mpp-eval: locals().get('dracut_install', default_dracut_install)
|
||||||
root_password:
|
|
||||||
mpp-eval: locals().get('root_password', default_root_password)
|
|
||||||
root_ssh_key:
|
|
||||||
mpp-eval: locals().get('root_ssh_key', default_root_ssh_key)
|
|
||||||
ssh_permit_root_login:
|
|
||||||
mpp-eval: locals().get('ssh_permit_root_login', default_ssh_permit_root_login)
|
|
||||||
guest_password:
|
|
||||||
mpp-eval: locals().get('guest_password', default_guest_password)
|
|
||||||
ostree_repo_url:
|
ostree_repo_url:
|
||||||
mpp-eval: locals().get('ostree_repo_url', default_ostree_repo_url)
|
mpp-eval: locals().get('ostree_repo_url', default_ostree_repo_url)
|
||||||
ostree_remote_name:
|
ostree_remote_name:
|
||||||
|
|
@ -237,24 +190,6 @@ mpp-vars:
|
||||||
iA==
|
iA==
|
||||||
=+Gxh
|
=+Gxh
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
fstab:
|
|
||||||
- uuid:
|
|
||||||
mpp-eval: rootfs_uuid
|
|
||||||
vfs_type: ext4
|
|
||||||
path: /
|
|
||||||
freq: 1
|
|
||||||
passno: 1
|
|
||||||
- label: ESP
|
|
||||||
vfs_type: vfat
|
|
||||||
path: /boot/efi
|
|
||||||
freq: 1
|
|
||||||
passno: 1
|
|
||||||
- uuid:
|
|
||||||
mpp-eval: bootfs_uuid
|
|
||||||
vfs_type: ext4
|
|
||||||
path: /boot
|
|
||||||
freq: 1
|
|
||||||
passno: 1
|
|
||||||
build_rpms:
|
build_rpms:
|
||||||
- dnf
|
- dnf
|
||||||
- dosfstools
|
- dosfstools
|
||||||
|
|
@ -275,9 +210,12 @@ mpp-vars:
|
||||||
boot_rpms:
|
boot_rpms:
|
||||||
- dracut-config-generic
|
- dracut-config-generic
|
||||||
- grub2-tools-minimal
|
- grub2-tools-minimal
|
||||||
|
- grub2-efi-x64
|
||||||
|
- grub2-pc
|
||||||
- $kernel_rpm
|
- $kernel_rpm
|
||||||
base_rpms:
|
base_rpms:
|
||||||
- $linux_firmware_rpm
|
- $linux_firmware_rpm
|
||||||
|
- microcode_ctl
|
||||||
- NetworkManager
|
- NetworkManager
|
||||||
- audit
|
- audit
|
||||||
- chrony
|
- chrony
|
||||||
|
|
|
||||||
|
|
@ -96,114 +96,3 @@ pipelines:
|
||||||
mpp-if: ostree_ref in locals().get("ostree_parent_refs", {})
|
mpp-if: ostree_ref in locals().get("ostree_parent_refs", {})
|
||||||
then:
|
then:
|
||||||
mpp-eval: ostree_parent_refs[ostree_ref]
|
mpp-eval: ostree_parent_refs[ostree_ref]
|
||||||
- name: image-tree
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
- type: org.osbuild.ostree.init-fs
|
|
||||||
- type: org.osbuild.ostree.pull
|
|
||||||
options:
|
|
||||||
repo: /ostree/repo
|
|
||||||
remote:
|
|
||||||
mpp-eval: ostree_remote_name
|
|
||||||
inputs:
|
|
||||||
commits:
|
|
||||||
type: org.osbuild.ostree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
name:ostree-commit:
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
- type: org.osbuild.ostree.os-init
|
|
||||||
options:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
- type: org.osbuild.ostree.config
|
|
||||||
options:
|
|
||||||
repo: /ostree/repo
|
|
||||||
config:
|
|
||||||
sysroot:
|
|
||||||
readonly: true
|
|
||||||
bootloader: none
|
|
||||||
- type: org.osbuild.ostree.remotes
|
|
||||||
options:
|
|
||||||
repo: /ostree/repo
|
|
||||||
remotes:
|
|
||||||
- name:
|
|
||||||
mpp-eval: ostree_remote_name
|
|
||||||
url:
|
|
||||||
mpp-eval: ostree_repo_url
|
|
||||||
- type: org.osbuild.mkdir
|
|
||||||
options:
|
|
||||||
paths:
|
|
||||||
- path: /boot/efi
|
|
||||||
mode: 448
|
|
||||||
- type: org.osbuild.ostree.deploy
|
|
||||||
options:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
remote:
|
|
||||||
mpp-eval: ostree_remote_name
|
|
||||||
mounts:
|
|
||||||
- /boot
|
|
||||||
- /boot/efi
|
|
||||||
rootfs:
|
|
||||||
label: root
|
|
||||||
kernel_opts:
|
|
||||||
mpp-eval: kernel_opts
|
|
||||||
- type: org.osbuild.ostree.fillvar
|
|
||||||
options:
|
|
||||||
deployment:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
- type: org.osbuild.users
|
|
||||||
mounts:
|
|
||||||
- type: org.osbuild.ostree.deployment
|
|
||||||
name: ostree.deployment
|
|
||||||
options:
|
|
||||||
deployment:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
options:
|
|
||||||
users:
|
|
||||||
root:
|
|
||||||
password:
|
|
||||||
mpp-eval: root_password
|
|
||||||
key:
|
|
||||||
mpp-eval: root_ssh_key
|
|
||||||
- type: org.osbuild.fstab
|
|
||||||
options:
|
|
||||||
ostree:
|
|
||||||
deployment:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
filesystems:
|
|
||||||
mpp-eval: fstab
|
|
||||||
- type: org.osbuild.ostree.selinux
|
|
||||||
options:
|
|
||||||
deployment:
|
|
||||||
osname:
|
|
||||||
mpp-eval: osname
|
|
||||||
ref:
|
|
||||||
mpp-eval: ostree_ref
|
|
||||||
- type: org.osbuild.grub2
|
|
||||||
options:
|
|
||||||
rootfs:
|
|
||||||
label: root
|
|
||||||
bootfs:
|
|
||||||
label: boot
|
|
||||||
uefi:
|
|
||||||
vendor:
|
|
||||||
mpp-eval: uefi_vendor
|
|
||||||
unified: false
|
|
||||||
install: true
|
|
||||||
legacy: true
|
|
||||||
write_defaults: false
|
|
||||||
greenboot: true
|
|
||||||
|
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
version: '2'
|
|
||||||
mpp-vars:
|
|
||||||
image_rpms:
|
|
||||||
mpp-join:
|
|
||||||
- mpp-eval: locals().get('extra_image_rpms', [])
|
|
||||||
- mpp-eval: boot_rpms
|
|
||||||
- mpp-eval: locals().get('extra_boot_rpms', [])
|
|
||||||
- - shim
|
|
||||||
pipelines:
|
|
||||||
- name: image-tree
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
mpp-join:
|
|
||||||
- - type: org.osbuild.copy
|
|
||||||
inputs:
|
|
||||||
tree:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:rootfs
|
|
||||||
options:
|
|
||||||
paths:
|
|
||||||
mpp-join:
|
|
||||||
- - from: input://tree/
|
|
||||||
to: tree:///
|
|
||||||
- type: org.osbuild.users
|
|
||||||
options:
|
|
||||||
users:
|
|
||||||
root:
|
|
||||||
password:
|
|
||||||
mpp-eval: root_password
|
|
||||||
key:
|
|
||||||
mpp-eval: root_ssh_key
|
|
||||||
- mpp-eval: target_stages
|
|
||||||
- - type: org.osbuild.dracut
|
|
||||||
options:
|
|
||||||
kernel:
|
|
||||||
- mpp-eval: rpms['rootfs'][kernel_rpm + '-core'].evra
|
|
||||||
add_modules:
|
|
||||||
mpp-eval: dracut_add_modules
|
|
||||||
omit_modules:
|
|
||||||
mpp-eval: dracut_omit_modules
|
|
||||||
add_drivers:
|
|
||||||
mpp-eval: dracut_add_drivers
|
|
||||||
filesystems:
|
|
||||||
mpp-eval: dracut_filesystems
|
|
||||||
install:
|
|
||||||
mpp-eval: dracut_install
|
|
||||||
- type: org.osbuild.fstab
|
|
||||||
options:
|
|
||||||
filesystems:
|
|
||||||
mpp-eval: fstab
|
|
||||||
- type: org.osbuild.grub2
|
|
||||||
options:
|
|
||||||
root_fs_uuid:
|
|
||||||
mpp-eval: rootfs_uuid
|
|
||||||
boot_fs_uuid:
|
|
||||||
mpp-eval: bootfs_uuid
|
|
||||||
kernel_opts:
|
|
||||||
mpp-eval: ''' '' .join(kernel_opts)'
|
|
||||||
uefi:
|
|
||||||
vendor:
|
|
||||||
mpp-eval: uefi_vendor
|
|
||||||
unified: false
|
|
||||||
legacy: true
|
|
||||||
write_defaults: false
|
|
||||||
greenboot: true
|
|
||||||
- type: org.osbuild.fix-bls
|
|
||||||
options:
|
|
||||||
prefix: /
|
|
||||||
- type: org.osbuild.selinux
|
|
||||||
options:
|
|
||||||
file_contexts: etc/selinux/targeted/contexts/files/file_contexts
|
|
||||||
|
|
@ -11,138 +11,10 @@ mpp-vars:
|
||||||
then: efi=runtime
|
then: efi=runtime
|
||||||
- mpp-eval: kernel_opts
|
- mpp-eval: kernel_opts
|
||||||
pipelines:
|
pipelines:
|
||||||
# Some variables need to be written to files, do that here
|
|
||||||
|
# ostree pipeline is in other file.
|
||||||
- mpp-import-pipelines:
|
- mpp-import-pipelines:
|
||||||
path: image-$image_type.ipp.yml
|
path: image-ostree.ipp.yml
|
||||||
- name: image
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
- type: org.osbuild.truncate
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
size:
|
|
||||||
mpp-eval: image.size
|
|
||||||
- type: org.osbuild.sfdisk
|
|
||||||
devices:
|
|
||||||
device:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
options:
|
|
||||||
mpp-format-json: '{image.layout}'
|
|
||||||
- type: org.osbuild.mkfs.fat
|
|
||||||
devices:
|
|
||||||
device:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['efi'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['efi'].size
|
|
||||||
options:
|
|
||||||
label: ESP
|
|
||||||
volid: 7B7795E7
|
|
||||||
- type: org.osbuild.mkfs.ext4
|
|
||||||
devices:
|
|
||||||
device:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['boot'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['boot'].size
|
|
||||||
options:
|
|
||||||
uuid:
|
|
||||||
mpp-eval: bootfs_uuid
|
|
||||||
label: boot
|
|
||||||
- type: org.osbuild.mkfs.ext4
|
|
||||||
devices:
|
|
||||||
device:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['root'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['root'].size
|
|
||||||
options:
|
|
||||||
uuid:
|
|
||||||
mpp-eval: rootfs_uuid
|
|
||||||
label: root
|
|
||||||
- type: org.osbuild.copy
|
|
||||||
inputs:
|
|
||||||
tree:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:image-tree
|
|
||||||
build-tree:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:build
|
|
||||||
options:
|
|
||||||
paths:
|
|
||||||
mpp-join:
|
|
||||||
- - from: input://tree/
|
|
||||||
to: mount://root/
|
|
||||||
- mpp-eval: locals().get('extra_image_copy_' + image_type, [])
|
|
||||||
devices:
|
|
||||||
efi:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['efi'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['efi'].size
|
|
||||||
boot:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['boot'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['boot'].size
|
|
||||||
root:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: disk.img
|
|
||||||
start:
|
|
||||||
mpp-eval: image.layout['root'].start
|
|
||||||
size:
|
|
||||||
mpp-eval: image.layout['root'].size
|
|
||||||
mounts:
|
|
||||||
- name: root
|
|
||||||
type: org.osbuild.ext4
|
|
||||||
source: root
|
|
||||||
target: /
|
|
||||||
- name: boot
|
|
||||||
type: org.osbuild.ext4
|
|
||||||
source: boot
|
|
||||||
target: /boot
|
|
||||||
- name: efi
|
|
||||||
type: org.osbuild.fat
|
|
||||||
source: efi
|
|
||||||
target: /boot/efi
|
|
||||||
- name: qcow2
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
- type: org.osbuild.qemu
|
|
||||||
inputs:
|
|
||||||
image:
|
|
||||||
type: org.osbuild.files
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
name:image:
|
|
||||||
file: disk.img
|
|
||||||
options:
|
|
||||||
filename: disk.qcow2
|
|
||||||
format:
|
|
||||||
type: qcow2
|
|
||||||
compat: '1.1'
|
|
||||||
|
|
||||||
- name: container
|
- name: container
|
||||||
build: name:build
|
build: name:build
|
||||||
|
|
@ -161,85 +33,6 @@ pipelines:
|
||||||
Cmd:
|
Cmd:
|
||||||
- "/usr/bin/bash"
|
- "/usr/bin/bash"
|
||||||
|
|
||||||
# We need a smaller fstab for the non-partitioned case
|
|
||||||
- name: ext4-fstab
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
# We copy /etc to get the right selinux context on the new file
|
|
||||||
- type: org.osbuild.copy
|
|
||||||
inputs:
|
|
||||||
image-tree:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:image-tree
|
|
||||||
options:
|
|
||||||
paths:
|
|
||||||
- from: input://image-tree/etc
|
|
||||||
to: tree:///etc
|
|
||||||
- type: org.osbuild.fstab
|
|
||||||
options:
|
|
||||||
filesystems:
|
|
||||||
- uuid:
|
|
||||||
mpp-eval: rootfs_uuid
|
|
||||||
vfs_type: ext4
|
|
||||||
path: /
|
|
||||||
|
|
||||||
- name: ext4
|
|
||||||
build: name:build
|
|
||||||
stages:
|
|
||||||
- type: org.osbuild.truncate
|
|
||||||
options:
|
|
||||||
filename: rootfs.ext4
|
|
||||||
size:
|
|
||||||
mpp-eval: image.size
|
|
||||||
- type: org.osbuild.mkfs.ext4
|
|
||||||
devices:
|
|
||||||
device:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: rootfs.ext4
|
|
||||||
start: 0
|
|
||||||
size:
|
|
||||||
mpp-format-int: "{int(image.size) // 512}"
|
|
||||||
options:
|
|
||||||
uuid:
|
|
||||||
mpp-eval: rootfs_uuid
|
|
||||||
label: root
|
|
||||||
- type: org.osbuild.copy
|
|
||||||
inputs:
|
|
||||||
tree:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:image-tree
|
|
||||||
fstab:
|
|
||||||
type: org.osbuild.tree
|
|
||||||
origin: org.osbuild.pipeline
|
|
||||||
references:
|
|
||||||
- name:ext4-fstab
|
|
||||||
options:
|
|
||||||
paths:
|
|
||||||
mpp-join:
|
|
||||||
- - from: input://tree/
|
|
||||||
to: mount://root/
|
|
||||||
- from: input://fstab/etc/fstab
|
|
||||||
to: mount://root/etc/fstab
|
|
||||||
- mpp-eval: locals().get('extra_image_copy_' + image_type, [])
|
|
||||||
devices:
|
|
||||||
root:
|
|
||||||
type: org.osbuild.loopback
|
|
||||||
options:
|
|
||||||
filename: rootfs.ext4
|
|
||||||
start: 0
|
|
||||||
size:
|
|
||||||
mpp-format-int: "{int(image.size) // 512}"
|
|
||||||
mounts:
|
|
||||||
- name: root
|
|
||||||
type: org.osbuild.ext4
|
|
||||||
source: root
|
|
||||||
target: /
|
|
||||||
|
|
||||||
- name: tar
|
- name: tar
|
||||||
build: name:build
|
build: name:build
|
||||||
stages:
|
stages:
|
||||||
|
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
version: '2'
|
|
||||||
pipelines: []
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
|
echo "========> Building minimal."
|
||||||
sudo podman run --rm \
|
sudo podman run --rm \
|
||||||
--privileged \
|
--privileged \
|
||||||
-v $PWD:/project:Z \
|
-v $PWD:/project:Z \
|
||||||
-w /project \
|
-w /project \
|
||||||
localhost/j7s-os-builder:latest \
|
localhost/j7s-os-builder:latest \
|
||||||
make cs9-qemu-minimal-ostree.x86_64.repo
|
make cs9-qemu-minimal-ostree.x86_64.repo
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,22 +25,14 @@ EXTENSION="$6"
|
||||||
|
|
||||||
# Map extension => export pipeline name
|
# Map extension => export pipeline name
|
||||||
declare -A EXPORT_BY_EXT
|
declare -A EXPORT_BY_EXT
|
||||||
EXPORT_BY_EXT[img]=image
|
|
||||||
EXPORT_BY_EXT[oci.tar]=container
|
EXPORT_BY_EXT[oci.tar]=container
|
||||||
EXPORT_BY_EXT[qcow2]=qcow2
|
|
||||||
EXPORT_BY_EXT[repo]=ostree-commit
|
EXPORT_BY_EXT[repo]=ostree-commit
|
||||||
EXPORT_BY_EXT[rootfs]=rootfs
|
|
||||||
EXPORT_BY_EXT[ext4]=ext4
|
|
||||||
EXPORT_BY_EXT[tar]=tar
|
EXPORT_BY_EXT[tar]=tar
|
||||||
|
|
||||||
# Map extension to name of exported file by pipeline
|
# Map extension to name of exported file by pipeline
|
||||||
declare -A EXPORT_FILE_BY_EXT
|
declare -A EXPORT_FILE_BY_EXT
|
||||||
EXPORT_FILE_BY_EXT[img]=disk.img
|
|
||||||
EXPORT_FILE_BY_EXT[qcow2]=disk.qcow2
|
|
||||||
EXPORT_FILE_BY_EXT[oci.tar]=container.tar
|
EXPORT_FILE_BY_EXT[oci.tar]=container.tar
|
||||||
EXPORT_FILE_BY_EXT[repo]=repo
|
EXPORT_FILE_BY_EXT[repo]=repo
|
||||||
EXPORT_FILE_BY_EXT[rootfs]=
|
|
||||||
EXPORT_FILE_BY_EXT[ext4]=rootfs.ext4
|
|
||||||
EXPORT_FILE_BY_EXT[tar]=rootfs.tar
|
EXPORT_FILE_BY_EXT[tar]=rootfs.tar
|
||||||
|
|
||||||
EXPORT=${EXPORT_BY_EXT[${EXTENSION}]}
|
EXPORT=${EXPORT_BY_EXT[${EXTENSION}]}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue