Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

github: hello_world_multiplatform: run on Ubuntu 24.04 #73477

Conversation

henrikbrixandersen
Copy link
Member

Run the multi-platform Hello World build on Ubuntu 24.04.

nashif
nashif previously approved these changes May 29, 2024
@henrikbrixandersen
Copy link
Member Author

Note: The Ubuntu 24.04 runner is only in public beta so far:

I was just trying to assert whether something had changed in the runner, affecting the Zephyr build.

@henrikbrixandersen
Copy link
Member Author

I think it's safe to say the GitHub Ubuntu 24.04 runners are still not quite ready.

@henrikbrixandersen henrikbrixandersen force-pushed the github_ci_hello_world_ubuntu_24_04 branch from 14c15c8 to 4f869e6 Compare June 24, 2024 22:37
@henrikbrixandersen
Copy link
Member Author

henrikbrixandersen commented Jun 24, 2024

@aescolar The native_sim failure on Ubuntu 24.04 seems to be related to actions/runner-images#9977 (comment). Should we attempt to fix this before LTSv3?

The outlook for preserving the ability to run 32 bit native_sim processes on modern Linux distributions is not good (take e.g. Linux on Aarch64, where no multilib is available).

@aescolar
Copy link
Member

aescolar commented Jun 25, 2024

@aescolar The native_sim failure on Ubuntu 24.04 seems to be related to actions/runner-images#9977 (comment). Should we attempt to fix this before LTSv3?

I have a VM with Ubuntu24.04 and this sample builds and runs just fine both standalone and run by twister.
I guess to be able to know what the problem is one would need to run this docker image locally (the github runner is a VM with that kernel, so I guess that is not the path). But at this point I would not even assume that error is coming from the native_sim executable.

@henrikbrixandersen
Copy link
Member Author

@aescolar The native_sim failure on Ubuntu 24.04 seems to be related to actions/runner-images#9977 (comment). Should we attempt to fix this before LTSv3?

I have a VM with Ubuntu24.04 and this sample builds and runs just fine both standalone and run by twister. I guess to be able to know what the problem is one would need to run this docker image locally. But at this point I would not even assume that error is coming from the native_sim executable.

The comment which I linked to says:

That is expected as the CONFIG_COMPAT_32BIT_TIME kernel option is not enabled on ubuntu24 (and likely will never be), we do not patch kernel ourselves as we take the stock azure's sku, as a result we can not help solving this, unfortunately.

Is CONFIG_COMPAT_32BIT_TIME enabled in the Ubuntu 24.04 Linux kernel, you are running (grep CONFIG_COMPAT_32BIT_TIME /boot/config-$(uname -r))?

@aescolar
Copy link
Member

Is CONFIG_COMPAT_32BIT_TIME enabled in the Ubuntu 24.04 Linux kernel, you are running (grep CONFIG_COMPAT_32BIT_TIME /boot/config-$(uname -r))?

Yes. It is the default kernel distributed by Ubuntu with 24.04. Not some custom thing.

From that comment you linked at, what I gather is that somebody at Microsoft decided to roll their own custom kernel in their default "Ubuntu 24.04" Azure VM images, with that feature purposely disabled. And that github for their "ubuntu-24.04" runners just uses that image.
So what I understand is that Github's "ubuntu24.04" is not actual Ubuntu 24.04, but "Microsoft's Linux based on Ubuntu 24.04".

@aescolar
Copy link
Member

aescolar commented Jun 25, 2024

$ grep CONFIG_COMPAT_32BIT_TIME /boot/config-$(uname -r)
CONFIG_COMPAT_32BIT_TIME=y
$ uname -a
Linux <redacted> 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04 LTS
Release:	24.04
Codename:	noble

This is a just VM based on an Ubuntu 24.04 iso, which run thru normal updates, and with the tooling needed to build Zephyr. Nothing else.

@henrikbrixandersen
Copy link
Member Author

Yes. It is the default kernel distributed by Ubuntu with 24.04. Not some custom thing.

From that comment you linked at, what I gather is that somebody at Microsoft decided to roll their own custom kernel in their default "Ubuntu 24.04" Azure VM images, with that feature purposely disabled. And that github for their "ubuntu-24.04" runners just uses that image.

So what I understand is that Github's "ubuntu24.04" is not actual Ubuntu 24.04, but "Microsoft's Linux based on Ubuntu 24.04".

Right. That still leaves us with the issue of not being able to run 32-bit native_sim on the GitHub hosted Ubuntu 24.04 runners.

@aescolar
Copy link
Member

Right. That still leaves us with the issue of not being able to run 32-bit native_sim on the GitHub hosted Ubuntu 24.04 runners.

So it seems :), I guess one option is to ask MS to enable back this feature in their VM's kernel. Because clearly we are not the only ones affected.

@aescolar
Copy link
Member

aescolar commented Jun 25, 2024

@henrikbrixandersen I peeked thru the linked issues from other projects' CI and it seems they just stuck w ubuntu-22.04 for the jobs where they hit the issue.

@henrikbrixandersen
Copy link
Member Author

@henrikbrixandersen I peeked thru the linked issues from other projects' CI and it seems they just stuck w ubuntu-22.04 for the jobs where they hit the issue.

Sure, that's an option, but we would like to run on this platform in CI, as this is what many downstream Zephyr users will begin using.

@aescolar
Copy link
Member

aescolar commented Jun 25, 2024

Sure, that's an option, but we would like to run on this platform in CI, as this is what many downstream Zephyr users will begin using.

Of course. That's why I pinged the GH guy who closed the issue.
All I intended was to provide more context about the situation: "There is quite a few other projects with this same issue. And, so far, what they did is keep using the previous github image version"

@henrikbrixandersen
Copy link
Member Author

Upstream bug report: https://bugs.launchpad.net/ubuntu/+source/linux-signed-azure/+bug/2071445

@aescolar
Copy link
Member

The fixed kernel is in 24.04, things build and run fine :)

Run the multi-platform Hello World build on Ubuntu 24.04.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
@henrikbrixandersen henrikbrixandersen marked this pull request as ready for review August 14, 2024 15:44
@zephyrbot zephyrbot added area: Continuous Integration size: XS A PR changing only a single line of code labels Aug 14, 2024
@nashif nashif merged commit cce7e9a into zephyrproject-rtos:main Aug 16, 2024
26 checks passed
@henrikbrixandersen henrikbrixandersen deleted the github_ci_hello_world_ubuntu_24_04 branch August 21, 2024 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Continuous Integration size: XS A PR changing only a single line of code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants