Skip to content

kvmtool: Fix QA Issue ELF binary has relocations#1

Open
nylon7 wants to merge 1 commit intolgirdk:masterfrom
nylon7:master
Open

kvmtool: Fix QA Issue ELF binary has relocations#1
nylon7 wants to merge 1 commit intolgirdk:masterfrom
nylon7:master

Conversation

@nylon7
Copy link

@nylon7 nylon7 commented Sep 13, 2022

Signed-off-by: Nylon Chen nylon.chen@sifive.com
Signed-off-by: Lewis Lu lewis.lu@sifive.com

Signed-off-by: Nylon Chen <nylon.chen@sifive.com>
Signed-off-by: Lewis Lu <lewis.lu@sifive.com>
armcc pushed a commit that referenced this pull request Feb 27, 2024
The recent update to containerd makes the golang 1.21+ core
package 'slices' a requirement for the build. It was previously
an external experimental package.

We need to arrange to have it available for the build to work.

We can either clone it, or in this case, use a vendored version
in the right location:

   root@qemux86-64:~# ctr image pull docker.io/library/alpine:latest
   docker.io/library/alpine:latest                 saved
   └──index (c5b1261d6d3e)                         complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (ec299a7ba3c6)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (30c69795e46b)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (6457d53fb065)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  ├──config (05455a08881e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──layer (4abcf2066143)                   complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (b229a85166aa)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (935b61847fc4)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (a0264d60f80d)                   waiting         |--------------------------------------|
      │  └──config (ace17d5d883e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (15c46ced65c6)                   waiting         |--------------------------------------|
      │  └──config (2d433224a9f8)                  waiting         |--------------------------------------|
      ├──manifest (b12b826de1ec)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (5b984dd0323c)                  complete        |++++++++++++++++++++++++++++++++++++++|
      └──manifest (5d0da60400af)                   complete        |++++++++++++++++++++++++++++++++++++++|
         └──config (8fc740d8c40e)                  complete        |++++++++++++++++++++++++++++++++++++++|
   application/vnd.docker.distribution.manifest.list.v2+json sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
   Pulling from OCI Registry (docker.io/library/alpine:latest)     elapsed: 2.6 s  total:  3.3 Mi  (1.2 MiB/s)
   root@qemux86-64:~# ctr run -t docker.io/library/alpine:latest dtest /bin/sh
   / #
   / # uname -a
   Linux qemux86-64 6.6.17-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Feb 21 00:33:47 UTC 2024 x86_64 Linux

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
armcc pushed a commit that referenced this pull request Feb 28, 2024
The recent update to containerd makes the golang 1.21+ core
package 'slices' a requirement for the build. It was previously
an external experimental package.

We need to arrange to have it available for the build to work.

We can either clone it, or in this case, use a vendored version
in the right location:

   root@qemux86-64:~# ctr image pull docker.io/library/alpine:latest
   docker.io/library/alpine:latest                 saved
   └──index (c5b1261d6d3e)                         complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (ec299a7ba3c6)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (30c69795e46b)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (6457d53fb065)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  ├──config (05455a08881e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──layer (4abcf2066143)                   complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (b229a85166aa)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (935b61847fc4)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (a0264d60f80d)                   waiting         |--------------------------------------|
      │  └──config (ace17d5d883e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (15c46ced65c6)                   waiting         |--------------------------------------|
      │  └──config (2d433224a9f8)                  waiting         |--------------------------------------|
      ├──manifest (b12b826de1ec)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (5b984dd0323c)                  complete        |++++++++++++++++++++++++++++++++++++++|
      └──manifest (5d0da60400af)                   complete        |++++++++++++++++++++++++++++++++++++++|
         └──config (8fc740d8c40e)                  complete        |++++++++++++++++++++++++++++++++++++++|
   application/vnd.docker.distribution.manifest.list.v2+json sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
   Pulling from OCI Registry (docker.io/library/alpine:latest)     elapsed: 2.6 s  total:  3.3 Mi  (1.2 MiB/s)
   root@qemux86-64:~# ctr run -t docker.io/library/alpine:latest dtest /bin/sh
   / #
   / # uname -a
   Linux qemux86-64 6.6.17-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Feb 21 00:33:47 UTC 2024 x86_64 Linux

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
armcc pushed a commit that referenced this pull request Mar 1, 2024
The recent update to containerd makes the golang 1.21+ core
package 'slices' a requirement for the build. It was previously
an external experimental package.

We need to arrange to have it available for the build to work.

We can either clone it, or in this case, use a vendored version
in the right location:

   root@qemux86-64:~# ctr image pull docker.io/library/alpine:latest
   docker.io/library/alpine:latest                 saved
   └──index (c5b1261d6d3e)                         complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (ec299a7ba3c6)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (30c69795e46b)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (6457d53fb065)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  ├──config (05455a08881e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──layer (4abcf2066143)                   complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (b229a85166aa)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (935b61847fc4)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (a0264d60f80d)                   waiting         |--------------------------------------|
      │  └──config (ace17d5d883e)                  complete        |++++++++++++++++++++++++++++++++++++++|
      ├──manifest (15c46ced65c6)                   waiting         |--------------------------------------|
      │  └──config (2d433224a9f8)                  waiting         |--------------------------------------|
      ├──manifest (b12b826de1ec)                   complete        |++++++++++++++++++++++++++++++++++++++|
      │  └──config (5b984dd0323c)                  complete        |++++++++++++++++++++++++++++++++++++++|
      └──manifest (5d0da60400af)                   complete        |++++++++++++++++++++++++++++++++++++++|
         └──config (8fc740d8c40e)                  complete        |++++++++++++++++++++++++++++++++++++++|
   application/vnd.docker.distribution.manifest.list.v2+json sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
   Pulling from OCI Registry (docker.io/library/alpine:latest)     elapsed: 2.6 s  total:  3.3 Mi  (1.2 MiB/s)
   root@qemux86-64:~# ctr run -t docker.io/library/alpine:latest dtest /bin/sh
   / #
   / # uname -a
   Linux qemux86-64 6.6.17-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Feb 21 00:33:47 UTC 2024 x86_64 Linux

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
armcc pushed a commit that referenced this pull request Mar 15, 2024
k3s will refuse to start if the golang version it was built
with doesn't match the VERSION_GOLANG linker variable.

As an example: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/61668

We query our version of the compiler and set it in the binaries
to ensure they match.

Note: this may cause issues if you bump the golang compiler, but
k3s doesn't rebuild. We'll worry about that when it happens.

With this change, k3s starts and the node becomes ready.

root@qemux86-64:~# uname -a
Linux qemux86-64 6.6.20-yocto-standard #1 SMP PREEMPT_DYNAMIC Sun Mar  3 16:28:22 UTC 2024 x86_64 GNU/Linux

root@qemux86-64:~# kubectl get nodes
NAME         STATUS   ROLES                  AGE   VERSION
qemux86-64   Ready    control-plane,master   10m   v1.28.7-k3s1

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant