coreos / layering-examples

Apache License 2.0
105 stars 24 forks source link

kernel override replace example #28

Closed jmarrero closed 1 year ago

jmarrero commented 2 years ago

Now that we have https://github.com/coreos/rpm-ostree/pull/3689 we can add an example of a kernel override replace. *will need to wait to for this to be shipped to fcos.

jmarrero commented 1 year ago

Examples I have been using locally. Need polish this a bit. See if there is a way we can use the same packages for both examples.

RHCOS example:

FROM registry.ci.openshift.org/rhcos-devel/rhel-coreos:latest
RUN rpm-ostree cliwrap install-to-root /
RUN rpm-ostree override replace http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-core-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-modules-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-modules-extra-4.18.0-305.10.2.el8_4.x86_64.rpm 

CoreOS example:

FROM quay.io/coreos-assembler/fcos:testing-devel
RUN rpm-ostree cliwrap install-to-root /
RUN rpm-ostree override replace https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-modules-5.17.11-300.fc36.x86_64.rpm \
    https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-core-5.17.11-300.fc36.x86_64.rpm \
    https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-5.17.11-300.fc36.x86_64.rpm
jmarrero commented 1 year ago

FCOS PR: https://github.com/coreos/coreos-layering-examples/pull/31 to start.

jmarrero commented 1 year ago

Something nasty like this might do it:

RUN if cat /etc/os-release | grep ^VARIANT | grep CoreOS; then \
    rpm-ostree override replace https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-modules-5.17.11-300.fc36.x86_64.rpm \
    https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-core-5.17.11-300.fc36.x86_64.rpm \
    https://kojipkgs.fedoraproject.org/packages/kernel/5.17.11/300.fc36/x86_64/kernel-5.17.11-300.fc36.x86_64.rpm && \
    rpm-ostree cleanup -m && \
    ostree container commit ;\
    else \
    rpm-ostree override replace http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-core-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-headers-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-modules-4.18.0-305.10.2.el8_4.x86_64.rpm \
    http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/kernel-modules-extra-4.18.0-305.10.2.el8_4.x86_64.rpm && \
    rpm-ostree cleanup -m && \
    ostree container commit ;\
    fi