Hi Guys,
I wrote a blog post describing and comparing Fedora on M1 macOS, Fedora on
Android, Fedora on Raspberry Pi and Fedora on x86_64. CentOS runs on these
platforms just as well. If curious see below:
https://ericcurtin.wordpress.com/2022/01/14/more-than-a-pi-alternative-aarc…
Is mise le meas/Regards,
Eric Curtin
Good Morning Everyone,
First of all, we would like to wish you all a very happy new year! May it give
us the opportunity to meet with you all and see our group grow and succeed :)
Here is a quick update of some of the things we have been working on this week:
* Packaging
Some of the libraries we have been using had been quickly packaged and made
available in a copr repo. We figured it was time to have another look at them,
polish their packaging and submit them to be included in Fedora and EPEL.
* A container to (re)building the kernel's RPM
We've been looking at ways to build a container with all the dependencies
pre-installed to make it really easy to (re)build the kernel's RPM.
We ended up with two methods:
- One using OSBuild and the Makefile [1]
This allows to build qcow2 or container images thus giving the possibility
to use VM or container both with the same content
- One using a more traditional approach based on a Dockerfile [2]
For both approaches, once you are running the container, you can simply:
- get a kernel source rpm (for example:
https://cbs.centos.org/kojifiles/packages/kernel-auto/5.14.0/30.1.el9s/src/… )
- rpmbuild --rebuild kernel-auto-*.src.rpm
Happy hacking,
Pierre
[1] https://gitlab.com/redhat/automotive/automotive-sig/-/merge_requests/97
[2] Location for that file is still being discussed but we can already make it
available on this list if someone is interested/wants it earlier. Just say
so :)
Things are slowing down now in the project with the holidays
coming up, so this might be the last status report in a while, but
here are some updates of what happened this week.
* Building images in a VM
The makefile that builds images now has support (enabled via make
VM=1) to run the build in a virtual machine. This has some advantages,
First it allows you to run the entire build as a non-privileged user,
so no sudo is required, and it doesn't affect the host
system.
Secondly, it allows you to run the build in a software-emulated
non-native architecture VM. For example, you can build an aarch64
image on an x86_64 machine. This is much slower than a native build,
but not extremely so. For example, a raspberry pi4 build on my intel
desktop takes about 30 minutes. This can be a nice way to
e.g. kickstart a raspberry pi image.
As part of this change, the makefile rules and the image filenames
changed so that they now have the architecture name in them.
* Non-UEFI booting raspberry pi images
The "direct" version of the images is normally a direct-uefi boot,
skipping over grub to be faster. On the raspberry pi however even
direct-uefi isn't direct as the firmware is not natively uefi. Instead
it was first loading a uefi binary, which then booted the kernel.
This is now changed, so that by default (but you can disable it) it
boots the kernel directly from the raspberry pi firmware. This makes
cold boot times much faster, with boot-to-login going from 2 minutes
to 30 seconds.
* Neptune image updates
There were various updates to the neptune images, which now support both
wayland and x11, with new neptune full-screen session options in gdm.
* Working on weekly builds
We are working on producing weekly builds of the images.. Hopefully we
will finish this soon and have the builds publically available, until
then there are some manual builds here:
https://pingou.fedorapeople.org/images/
* Issues with the raspberry pi images
There are some known issues with the kernel graphics drivers in the
current images for raspberry pis. The images in the above link should
work, but if you build your own from the latest manifests you might
run into issues with this graphics not working.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl(a)redhat.com alexander.larsson(a)gmail.com
Good Morning/Afternoon/Evening Everyone,
Here is a quick update on the work that has been done over this week in the
automotive-sig repository by the Toolchain team,
The product build pipeline was created. It is now triggered automatically
when changes are pushed to the main branch, after merge requests are merged.
It generates a yum repository which is based on the packages manifest file
<https://gitlab.com/redhat/automotive/automotive-sig/-/blob/main/package_lis…>
(aka lockfile).
The yum repository is stored in an AWS S3 bucket - `auto-product-build`
One can download the yum repository into the development environment by
invoking the following command:
(AWS credentials need to be configured locally to authenticate against AWS,
but do not need special permissions, this bucket is configured with a
public-read ACL, open to any authenticated AWS user)
aws s3 cp s3://auto-product-build/latest/cs9 <your-local-directory>
--recursive
Note: Once changes land in the main branch, the bucket will become
temporarily unavailable as the `latest` directory is recreated with the
changed packages (this will be improved in future iterations)
We welcome your feedback,
Liora
--
Liora Milbaum
She - Her - Hers
Product Owner, In-Vehicle Operating System, Software Supply Chain
Senior Principal Software Engineer, Always Ready RHEL
Red Hat Beyond Lead
Red Hat <https://www.redhat.com/>
Israel
lmilbaum(a)redhat.com M: 054-656-0051 <0546560051>
<https://red.ht/sig>
Good Morning Everyone,
Here is a quick update on the work that have happened this week in the
automotive-sig repository.
* New image
In addition to the two existing image (minimal and neptune) we have introduced a
new image type: osbuilder which is meant to give anyone who wants, an easy way
to run osbuild and thus build their own images.
You will therefore find osbuild and its dependencies pre-installed on this
image, but not the automotive-sig repository.
* Sample images
We have created a few images based on the manifests present in the
automotive-sig repository.
You can find them at:
https://pingou.fedorapeople.org/images/
Installing them will be a matter of de-compressing them using `unxz
<filename.xz>`, then flashing them onto a SD card (beware to change `/dev/sda`
to your set-up):
```
dd if=<filenamed.img> of=/dev/sda status=progress bs=4M
```
These images and this location are temporary, in the coming weeks we will be
looking at automating the building of these images and make them accessible via
the documentation at: https://sigs.centos.org/automotive
Happy hacking,
Pierre
Good Morning Everyone,
Here is a quick update on the work that have happened this week in the
automotive-sig repository.
* Makefile simplifying image builds
There is a new Makefile in the git repository that does all the steps involved
when building images. This is much easier to use and means the docs are simpler.
For example, to build an ostree based neptune image targeting the Raspberry Pi
4, all you have to do is run `make cs9-rpi4-neptune-ostree.img`. Or, if you want
to build a rpm-based qemu image, instead run `make
cs9-qemu-neptune-regular.qcow2`.
There are all sort of other features too, check out the website and/or `make
help` for more information.
The documentation on how to build images has been adjusted to rely on this
Makefile:
https://sigs.centos.org/automotive/building/
* More stream-lined templates
With the help of the OSBuild team, a number of changes have landed to the
osbuild-mpp pre-processing tool that our build workflow rely upon.
Thanks to this, we have been able to stream-line and merge our templates. The
template for the CS9 minimal image is now just 62 lines long, while the one for
the neptune is 108 lines.
Using either of these template you can still generate images for x86_64,
aarch64, ostree-based, non-ostree-based, direct boot or grub-based boot.
The new templates are in yaml format, not json. Not only is this more readable,
but it also allows us to have comments in the files.
Note: Make sure you update to the very latest osbuild rpm (from copr [2]) for
this to work.
* New kernel
A new kernel-auto package has landed in the automotive testing repository [1].
That update brings along with it improved support for the raspberry pi 4 as well
as for the Nvidia Jetson boards.
Note: with this kernel we are now able to build images on CS9 itself
* More RT packages
In order to make most of the RT features of the kernel-auto as few extra
packages have been added to the automotive testing repository, namely:
realtime-setup, realtime-tests and tuned with its tuned-profiles-realtime
sub-package.
Happy hacking,
Alex & Pierre
[1] The "release" repositories are currently frozen for CS9, so the SIG can only
push up to the testing repository which can be found at:
https://buildlogs.centos.org/9-stream/automotive/
[2] https://copr.fedorainfracloud.org/coprs/g/osbuild/osbuild/
The last couple of weeks we have been working a lot on the sample
images in the automotive sig. This culminated in a lot of changes at
the end of this week that are very exciting.
First of all, the manifests for these images are available (just like
before) at:
https://gitlab.com/redhat/automotive/automotive-sig
But the recent changes are:
We now have images based on CentOS Stream 9. The old CentOS Stream 8
manifests still remain, but will soon be removed in favour of the new
ones. We have images targeting virtual machines and Raspberry Pi4,
each supporting either OSTree or regular boot mode.
There is a new build tag for automotive in CBS:
https://cbs.centos.org/koji/buildtargetinfo?name=automotive9s-packages-main…
This allows us to build custom packages targeting the automotive images that
are not normally in centos.
In this tag we now have builds of the new automotive kernel, and some other
packages that are needed for the realtime support it has:
https://cbs.centos.org/koji/packages?tagID=2463
These kernels and packages are automatically pulled into the
automotive image builds.
All the manifests have been converted from JSON to Yaml. This makes
the manifest easier to read and maintain, and it also allows us to use
comments in the manifests. The tool that reads the yaml is osbuild-mpp,
which now supports either json or yaml, but it always outputs json files
that are read by osbuild.
We have been experimenting with booting the images without grub, using
direct uefi kernel booting. This is done in order to boot faster and
with less code. This work is experimental, but if you want to play
with it, change the image_type to "directboot" to see this in
action. It even works on the raspberry pi.
All manifests are now ext4 based rather than xfs, as the automotive kernel
is slated to remove the xfs support.
The neptune images now automatically log in as the "neptune" user and start
neptune.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl(a)redhat.com alexander.larsson(a)gmail.com
The October meeting was held last Thursday. This link shows minutes as well
as a link to the recording:
https://wiki.centos.org/SpecialInterestGroup/Automotive/Meetings/2021-10
One of our goals for this SIG is to make the process more participatory to
everyone so we can get many voices into the mix. While we are grateful for
those who continue to show up and discuss things at meetings and on the
mailing list, we also want to make it easier for those who haven't yet been
able to participate, particularly as our meeting times have not been
friendly to Asia.
In addition, we held a poll to get some feedback on good meeting times - as
expected, there is no single good time that suits the US, Europe and Asia.
Going forward, I would like to propose the following meeting changes, in
which each meeting will be held twice during the same week at alternating
times:
Office hours (informal) meeting:
Tue Nov 2: 1600UTC (1200 EST, 1800 CEST)
Tue Nov 2: 2300UTC (1900 EST, 0800 JST)
Primary (formal) meeting:
Tue Nov 16: 1600UTC (1200 EST, 1800 CEST)
Tue Nov 16: 2300UTC (1900 EST, 0800 JST)
and further alternating the day/time month by month to accommodate the poll
responses:
Office hours (informal) meeting:
Wed Dec 1: 1600UTC (1200 EST, 1800 CEST)
Wed Dec 1: 2300UTC (1900 EST, 0800 JST)
Primary (formal) meeting: every 4 weeks starting Tue Nov 16
Wed Dec 15: 1600UTC (1200 EST, 1800 CEST)
Wed Dec 15: 2300UTC (1900 EST, 0800 JST)
According to the polls, I believe the majority of people can make it to at
least one of these time slot. If you would like to participate but none of
these works, please respond on this thread and we'll continue to iterate on
it.
thanks all
Jeffrey "Jefro" Osier-Mixon | jefro(a)redhat.com
Red Hat Office of the CTO | Sr. Principal Community Architect, Automotive
Good Morning Everyone,
During the last SIG meeting we discussed where we want to host the code that
the SIG is working on.
At the SIG meeting today, we announced that the project has been created.
It can be found at: https://gitlab.com/redhat/automotive/automotive-sig
It contains osbuild-manifests allowing to build qcow2 images as well as
raspberry pi 4 images. These images are based on CentOS-Stream 8 (9 being pretty
high on our todo list) and use ostree.
Documentation on how to manually build the images using osbuild can be found at:
https://sigs.centos.org/automotive
We are working on having non-ostree based images as they can be more convenient
for experimentation.
Finally, we have another team at Red Hat working on a CI pipeline which will
trigger for every package update in CentOS-Stream and merge request to the
automotive-sig project. More details on this should be coming soon :)
Happy hacking!
Pierre