diff mbox series

[isar-cip-core,1/4] Add cip-core-image-kernelci

Message ID 20220106111614.218823-2-alice.ferrazzi@miraclelinux.com (mailing list archive)
State Handled Elsewhere
Headers show
Series Add cip-core-image-kernelci building and uploading system | expand

Commit Message

Alice Ferrazzi Jan. 6, 2022, 11:16 a.m. UTC
This image is currently used by KernelCI production for testing purpose.
The purpose of this image is that KernelCI need to be able to autologin
without password and to detect the login shell using special characters.
Currently added are the default settings used by KernelCI images.

Signed-off-by: Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
---
 kas/opt/kernelci.yml                          | 16 +++++++++
 .../images/cip-core-image-kernelci.bb         | 16 +++++++++
 .../files/99-silent-printk.conf               |  1 +
 .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
 .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
 .../kernelci-customizations.bb                | 34 +++++++++++++++++++
 6 files changed, 124 insertions(+)
 create mode 100644 kas/opt/kernelci.yml
 create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
 create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
 create mode 100644 recipes-core/kernelci-customizations/files/ethernet
 create mode 100644 recipes-core/kernelci-customizations/files/postinst
 create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb

Comments

Jan Kiszka Jan. 6, 2022, 2:01 p.m. UTC | #1
On 06.01.22 12:16, Alice Ferrazzi wrote:
> This image is currently used by KernelCI production for testing purpose.
> The purpose of this image is that KernelCI need to be able to autologin
> without password and to detect the login shell using special characters.
> Currently added are the default settings used by KernelCI images.
> 
> Signed-off-by: Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> ---
>  kas/opt/kernelci.yml                          | 16 +++++++++
>  .../images/cip-core-image-kernelci.bb         | 16 +++++++++
>  .../files/99-silent-printk.conf               |  1 +
>  .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
>  .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
>  .../kernelci-customizations.bb                | 34 +++++++++++++++++++
>  6 files changed, 124 insertions(+)
>  create mode 100644 kas/opt/kernelci.yml
>  create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
>  create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
>  create mode 100644 recipes-core/kernelci-customizations/files/ethernet
>  create mode 100644 recipes-core/kernelci-customizations/files/postinst
>  create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
> 
> diff --git a/kas/opt/kernelci.yml b/kas/opt/kernelci.yml
> new file mode 100644
> index 0000000..9c67864
> --- /dev/null
> +++ b/kas/opt/kernelci.yml
> @@ -0,0 +1,16 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Toshiba Corporation, 2020
> +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> +#
> +# Authors:
> +#  Venkata Pyla <venkata.pyla@toshiba-tsip.com>
> +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +header:
> +  version: 10
> +
> +target: cip-core-image-kernelci
> diff --git a/recipes-core/images/cip-core-image-kernelci.bb b/recipes-core/images/cip-core-image-kernelci.bb
> new file mode 100644
> index 0000000..479c14c
> --- /dev/null
> +++ b/recipes-core/images/cip-core-image-kernelci.bb
> @@ -0,0 +1,16 @@
> +#
> +# A reference image for KernelCI
> +#
> +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> +#
> +# Authors:
> +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +inherit image
> +
> +DESCRIPTION = "CIP Core image for KernelCI"
> +
> +IMAGE_INSTALL += "kernelci-customizations"
> diff --git a/recipes-core/kernelci-customizations/files/99-silent-printk.conf b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
> new file mode 100644
> index 0000000..ad24d3a
> --- /dev/null
> +++ b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
> @@ -0,0 +1 @@
> +kernel.printk = 3 4 1 3
> diff --git a/recipes-core/kernelci-customizations/files/ethernet b/recipes-core/kernelci-customizations/files/ethernet
> new file mode 100644
> index 0000000..fa47d1a
> --- /dev/null
> +++ b/recipes-core/kernelci-customizations/files/ethernet
> @@ -0,0 +1,23 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2019
> +#
> +# Authors:
> +#  Jan Kiszka <jan.kiszka@siemens.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +allow-hotplug eth0
> +allow-hotplug enp0s2
> +allow-hotplug enp2s0
> +
> +# used on BBB
> +iface eth0 inet dhcp
> +
> +# used on qemu-amd64
> +iface enp0s2 inet dhcp
> +
> +# used on simatic-ipc227e
> +iface enp2s0 inet dhcp
> diff --git a/recipes-core/kernelci-customizations/files/postinst b/recipes-core/kernelci-customizations/files/postinst
> new file mode 100644
> index 0000000..7ae30e8
> --- /dev/null
> +++ b/recipes-core/kernelci-customizations/files/postinst
> @@ -0,0 +1,34 @@
> +#!/bin/sh
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2019
> +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> +#
> +# Authors:
> +#  Jan Kiszka <jan.kiszka@siemens.com>
> +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +echo "CIP Core Demo & Test Image" > /etc/issue
> +
> +# permit root login without password
> +echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
> +echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
> +passwd root -d
> +
> +# serial getty service for autologin
> +mkdir -p /etc/systemd/system/serial-getty@.service.d/
> +echo "[Service]" > /etc/systemd/system/serial-getty@.service.d/override.conf
> +echo "ExecStart=" >> /etc/systemd/system/serial-getty@.service.d/override.conf
> +echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/serial-getty@.service.d/override.conf
> +
> +# set the profile for KernelCI
> +echo "PS1='\$(pwd) # '" > /root/.profile
> +echo "cd /" >> /root/.profile
> +
> +HOSTNAME=demo
> +echo "$HOSTNAME" > /etc/hostname
> +echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
> diff --git a/recipes-core/kernelci-customizations/kernelci-customizations.bb b/recipes-core/kernelci-customizations/kernelci-customizations.bb
> new file mode 100644
> index 0000000..dca0891
> --- /dev/null
> +++ b/recipes-core/kernelci-customizations/kernelci-customizations.bb
> @@ -0,0 +1,34 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2019
> +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> +#
> +# Authors:
> +#  Jan Kiszka <jan.kiszka@siemens.com>
> +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +inherit dpkg-raw
> +
> +DESCRIPTION = "CIP Core image demo & customizations"
> +
> +SRC_URI = " \
> +    file://postinst \
> +    file://ethernet \
> +    file://99-silent-printk.conf"
> +
> +DEPENDS += "sshd-regen-keys"
> +
> +DEBIAN_DEPENDS = " \
> +    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
> +
> +do_install() {
> +  install -v -d ${D}/etc/network/interfaces.d
> +  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
> +
> +  install -v -d ${D}/etc/sysctl.d
> +  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
> +}

This is duplicating the default customization package, IIUC, for the
purpose of adding further things. And you already miss some things due
to this (WIRELESS_FIRMWARE_PACKAGE, INSTALL_WIRELESS_TOOLS).

How about installing both and carrying in kernelci-customization only
the delta? Or at least reuse artifacts from customizations package, e.g.
via symlinks?

Jan
Alice Ferrazzi Jan. 7, 2022, 10:16 a.m. UTC | #2
On Thu, Jan 6, 2022 at 11:01 PM Jan Kiszka <jan.kiszka@siemens.com> wrote:
>
> On 06.01.22 12:16, Alice Ferrazzi wrote:
> > This image is currently used by KernelCI production for testing purpose.
> > The purpose of this image is that KernelCI need to be able to autologin
> > without password and to detect the login shell using special characters.
> > Currently added are the default settings used by KernelCI images.
> >
> > Signed-off-by: Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> > ---
> >  kas/opt/kernelci.yml                          | 16 +++++++++
> >  .../images/cip-core-image-kernelci.bb         | 16 +++++++++
> >  .../files/99-silent-printk.conf               |  1 +
> >  .../kernelci-customizations/files/ethernet    | 23 +++++++++++++
> >  .../kernelci-customizations/files/postinst    | 34 +++++++++++++++++++
> >  .../kernelci-customizations.bb                | 34 +++++++++++++++++++
> >  6 files changed, 124 insertions(+)
> >  create mode 100644 kas/opt/kernelci.yml
> >  create mode 100644 recipes-core/images/cip-core-image-kernelci.bb
> >  create mode 100644 recipes-core/kernelci-customizations/files/99-silent-printk.conf
> >  create mode 100644 recipes-core/kernelci-customizations/files/ethernet
> >  create mode 100644 recipes-core/kernelci-customizations/files/postinst
> >  create mode 100644 recipes-core/kernelci-customizations/kernelci-customizations.bb
> >
> > diff --git a/kas/opt/kernelci.yml b/kas/opt/kernelci.yml
> > new file mode 100644
> > index 0000000..9c67864
> > --- /dev/null
> > +++ b/kas/opt/kernelci.yml
> > @@ -0,0 +1,16 @@
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Toshiba Corporation, 2020
> > +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> > +#
> > +# Authors:
> > +#  Venkata Pyla <venkata.pyla@toshiba-tsip.com>
> > +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +header:
> > +  version: 10
> > +
> > +target: cip-core-image-kernelci
> > diff --git a/recipes-core/images/cip-core-image-kernelci.bb b/recipes-core/images/cip-core-image-kernelci.bb
> > new file mode 100644
> > index 0000000..479c14c
> > --- /dev/null
> > +++ b/recipes-core/images/cip-core-image-kernelci.bb
> > @@ -0,0 +1,16 @@
> > +#
> > +# A reference image for KernelCI
> > +#
> > +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> > +#
> > +# Authors:
> > +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +inherit image
> > +
> > +DESCRIPTION = "CIP Core image for KernelCI"
> > +
> > +IMAGE_INSTALL += "kernelci-customizations"
> > diff --git a/recipes-core/kernelci-customizations/files/99-silent-printk.conf b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
> > new file mode 100644
> > index 0000000..ad24d3a
> > --- /dev/null
> > +++ b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
> > @@ -0,0 +1 @@
> > +kernel.printk = 3 4 1 3
> > diff --git a/recipes-core/kernelci-customizations/files/ethernet b/recipes-core/kernelci-customizations/files/ethernet
> > new file mode 100644
> > index 0000000..fa47d1a
> > --- /dev/null
> > +++ b/recipes-core/kernelci-customizations/files/ethernet
> > @@ -0,0 +1,23 @@
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Siemens AG, 2019
> > +#
> > +# Authors:
> > +#  Jan Kiszka <jan.kiszka@siemens.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +allow-hotplug eth0
> > +allow-hotplug enp0s2
> > +allow-hotplug enp2s0
> > +
> > +# used on BBB
> > +iface eth0 inet dhcp
> > +
> > +# used on qemu-amd64
> > +iface enp0s2 inet dhcp
> > +
> > +# used on simatic-ipc227e
> > +iface enp2s0 inet dhcp
> > diff --git a/recipes-core/kernelci-customizations/files/postinst b/recipes-core/kernelci-customizations/files/postinst
> > new file mode 100644
> > index 0000000..7ae30e8
> > --- /dev/null
> > +++ b/recipes-core/kernelci-customizations/files/postinst
> > @@ -0,0 +1,34 @@
> > +#!/bin/sh
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Siemens AG, 2019
> > +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> > +#
> > +# Authors:
> > +#  Jan Kiszka <jan.kiszka@siemens.com>
> > +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +echo "CIP Core Demo & Test Image" > /etc/issue
> > +
> > +# permit root login without password
> > +echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
> > +echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
> > +passwd root -d
> > +
> > +# serial getty service for autologin
> > +mkdir -p /etc/systemd/system/serial-getty@.service.d/
> > +echo "[Service]" > /etc/systemd/system/serial-getty@.service.d/override.conf
> > +echo "ExecStart=" >> /etc/systemd/system/serial-getty@.service.d/override.conf
> > +echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/serial-getty@.service.d/override.conf
> > +
> > +# set the profile for KernelCI
> > +echo "PS1='\$(pwd) # '" > /root/.profile
> > +echo "cd /" >> /root/.profile
> > +
> > +HOSTNAME=demo
> > +echo "$HOSTNAME" > /etc/hostname
> > +echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
> > diff --git a/recipes-core/kernelci-customizations/kernelci-customizations.bb b/recipes-core/kernelci-customizations/kernelci-customizations.bb
> > new file mode 100644
> > index 0000000..dca0891
> > --- /dev/null
> > +++ b/recipes-core/kernelci-customizations/kernelci-customizations.bb
> > @@ -0,0 +1,34 @@
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Siemens AG, 2019
> > +# Copyright (c) Cybertrust Japan Co., Ltd., 2021
> > +#
> > +# Authors:
> > +#  Jan Kiszka <jan.kiszka@siemens.com>
> > +#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +inherit dpkg-raw
> > +
> > +DESCRIPTION = "CIP Core image demo & customizations"
> > +
> > +SRC_URI = " \
> > +    file://postinst \
> > +    file://ethernet \
> > +    file://99-silent-printk.conf"
> > +
> > +DEPENDS += "sshd-regen-keys"
> > +
> > +DEBIAN_DEPENDS = " \
> > +    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
> > +
> > +do_install() {
> > +  install -v -d ${D}/etc/network/interfaces.d
> > +  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
> > +
> > +  install -v -d ${D}/etc/sysctl.d
> > +  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
> > +}
>
> This is duplicating the default customization package, IIUC, for the
> purpose of adding further things. And you already miss some things due
> to this (WIRELESS_FIRMWARE_PACKAGE, INSTALL_WIRELESS_TOOLS).
>
> How about installing both and carrying in kernelci-customization only
> the delta? Or at least reuse artifacts from customizations package, e.g.
> via symlinks?

KernelCI enviroment and gitlab-ci eviroment are mostly different.
Changes on the symlink could possibly broke the KernelCI testing
image or the gitlab-ci image.
KernelCI working workflow is to have different files and porting changes
manually so that we can be sure it doesn't create problems and revert
on necessity.


Thanks,
Alicef
diff mbox series

Patch

diff --git a/kas/opt/kernelci.yml b/kas/opt/kernelci.yml
new file mode 100644
index 0000000..9c67864
--- /dev/null
+++ b/kas/opt/kernelci.yml
@@ -0,0 +1,16 @@ 
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Toshiba Corporation, 2020
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Venkata Pyla <venkata.pyla@toshiba-tsip.com>
+#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
+#
+# SPDX-License-Identifier: MIT
+#
+header:
+  version: 10
+
+target: cip-core-image-kernelci
diff --git a/recipes-core/images/cip-core-image-kernelci.bb b/recipes-core/images/cip-core-image-kernelci.bb
new file mode 100644
index 0000000..479c14c
--- /dev/null
+++ b/recipes-core/images/cip-core-image-kernelci.bb
@@ -0,0 +1,16 @@ 
+#
+# A reference image for KernelCI
+#
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit image
+
+DESCRIPTION = "CIP Core image for KernelCI"
+
+IMAGE_INSTALL += "kernelci-customizations"
diff --git a/recipes-core/kernelci-customizations/files/99-silent-printk.conf b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
new file mode 100644
index 0000000..ad24d3a
--- /dev/null
+++ b/recipes-core/kernelci-customizations/files/99-silent-printk.conf
@@ -0,0 +1 @@ 
+kernel.printk = 3 4 1 3
diff --git a/recipes-core/kernelci-customizations/files/ethernet b/recipes-core/kernelci-customizations/files/ethernet
new file mode 100644
index 0000000..fa47d1a
--- /dev/null
+++ b/recipes-core/kernelci-customizations/files/ethernet
@@ -0,0 +1,23 @@ 
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+#
+# Authors:
+#  Jan Kiszka <jan.kiszka@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+allow-hotplug eth0
+allow-hotplug enp0s2
+allow-hotplug enp2s0
+
+# used on BBB
+iface eth0 inet dhcp
+
+# used on qemu-amd64
+iface enp0s2 inet dhcp
+
+# used on simatic-ipc227e
+iface enp2s0 inet dhcp
diff --git a/recipes-core/kernelci-customizations/files/postinst b/recipes-core/kernelci-customizations/files/postinst
new file mode 100644
index 0000000..7ae30e8
--- /dev/null
+++ b/recipes-core/kernelci-customizations/files/postinst
@@ -0,0 +1,34 @@ 
+#!/bin/sh
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <jan.kiszka@siemens.com>
+#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+echo "CIP Core Demo & Test Image" > /etc/issue
+
+# permit root login without password
+echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
+echo "PermitEmptyPasswords yes" >> /etc/ssh/sshd_config
+passwd root -d
+
+# serial getty service for autologin
+mkdir -p /etc/systemd/system/serial-getty@.service.d/
+echo "[Service]" > /etc/systemd/system/serial-getty@.service.d/override.conf
+echo "ExecStart=" >> /etc/systemd/system/serial-getty@.service.d/override.conf
+echo "ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM" >> /etc/systemd/system/serial-getty@.service.d/override.conf
+
+# set the profile for KernelCI
+echo "PS1='\$(pwd) # '" > /root/.profile
+echo "cd /" >> /root/.profile
+
+HOSTNAME=demo
+echo "$HOSTNAME" > /etc/hostname
+echo "127.0.0.1 $HOSTNAME" >> /etc/hosts
diff --git a/recipes-core/kernelci-customizations/kernelci-customizations.bb b/recipes-core/kernelci-customizations/kernelci-customizations.bb
new file mode 100644
index 0000000..dca0891
--- /dev/null
+++ b/recipes-core/kernelci-customizations/kernelci-customizations.bb
@@ -0,0 +1,34 @@ 
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2019
+# Copyright (c) Cybertrust Japan Co., Ltd., 2021
+#
+# Authors:
+#  Jan Kiszka <jan.kiszka@siemens.com>
+#  Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit dpkg-raw
+
+DESCRIPTION = "CIP Core image demo & customizations"
+
+SRC_URI = " \
+    file://postinst \
+    file://ethernet \
+    file://99-silent-printk.conf"
+
+DEPENDS += "sshd-regen-keys"
+
+DEBIAN_DEPENDS = " \
+    ifupdown, isc-dhcp-client, net-tools, iputils-ping, ssh, sshd-regen-keys"
+
+do_install() {
+  install -v -d ${D}/etc/network/interfaces.d
+  install -v -m 644 ${WORKDIR}/ethernet ${D}/etc/network/interfaces.d/
+
+  install -v -d ${D}/etc/sysctl.d
+  install -v -m 644 ${WORKDIR}/99-silent-printk.conf ${D}/etc/sysctl.d/
+}