Good Morning Everyone,
So here are some of the changes that we have worked on this week:
* Automatic resize of the '/' partition on raspberry pi
Last week we worked on documenting how to resize the '/' partition after
flashing an image onto a SD card for a raspberry pi.
This week we worked on automatizing this.
There is now a `pi_resize` RPM package, included by default on all of our
raspberry pi images that will automatically resize the `/` partition to the
full size of the SD card upon first boot (and will only do it once).
Let us know if it doesn't work for you!
* Encrypted images
We have work on documentation on how to build images encrypted with luks.
You can find it at: https://sigs.centos.org/automotive/building/encryption/
* Reducing linux-firwmare
The linux-firmware package is a pretty big package containing binary firmware
blob for a number of systems and cards, many more systems than those relevant
for the automotive industry.
We have thus split out some of the firmware from the linux-firmware package
into a custom, smaller, `linux-firmware-automotive` package.
Our images now use that package by default, however, if you want/need to use
the full linux-firmware package, you can use the `linux_firmware_rpm` template
variable to change the package name.
* Raspberry pi as an USB gadget:
An USB gadget is a mechanism by which one can interact with a device connected
over USB as if it was a device connected on the network.
To achieve this and make it convenient, we have adjusted the kernel-automotive
configuration [1] to support the `libcomposite` module. We have also introduced
a `pi_gadget` RPM package, which is available in the Automotive SIG's RPM
repository. That package provides a script and a systemd service to
automatically turn your raspberry pi into an USB gadget.
If you are curious about the experience, feel free to look at our documentation
at: https://sigs.centos.org/automotive/building/gadget/ and do let us know if
you run into any troubles!
Happy hacking!
Pierre
[1] https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_…
Hi all - this is a reminder of the monthly CentOS Automotive SIG meeting
this week on Wednesday, May 4, at 1000 EDT / 1600 CET. The meeting will be
held online at
https://meet.google.com/hkx-btgd-dyc
Please drop me a note if you would like to be added to the Google invite,
but the invitation is not required in order to attend - all are welcome.
Draft agenda:
- introduction & action items
- technical updates: AutoSD, documentation, GitLab namespace, sample images
- Q & A
Jeffrey "Jefro" Osier-Mixon | jefro(a)redhat.com
Red Hat Office of the CTO | Sr. Principal Community Architect, Automotive
Good Morning Everyone,
So here are some of the changes that we have worked on last week:
* Resizing the '/' partition:
After flashing an image onto a SD card, by default the '/' isn't extended to the
full size of the disk. The documentation at:
https://sigs.centos.org/automotive/building/resize_partition/
provides instructions on how one can resize that partition to make use of the
entire size of their SD card.
* It is now possible to build external image manifest with the sample-image repo
If you run make with the IMAGEDIR=/path/to/manifest/dir then the makefile will
automatically pick up any manifest files there and build them just like the
regular sample manifests. This makes it easier to maintain and experiment with
your own manifests ouside of the repo.
* All manifests now enable EFI runtime services
The realtime kernel normally disables EFI runtime services because the kernel
cannot make realtime guarantees about all possible EFI firmwares. However,
supporting EFI is important, so the manifest now default to passing efi=runtime
on the kernel commandline to enable this.
* Ability to add custom prefixes to image builds
If you prepend `@something` to the build target, like so:
$ make cs9-qemu-minimal-ostree(a)sometag.x86_64.qcow2
That will be picked up as the resulting filename of the build, although the
build is not affected in other ways. This is useful if you want to build a
modified image, for example adding some rpms, and want to distinguish the
resultant build from unmodified ones.
* Lookaside cache structure on CentOS
The work we have done to allow a structure in CentOS' lookaside cache which
does not rely on a git branching structure as been announced on the centos-devel
mailing list: https://lists.centos.org/pipermail/centos-devel/2022-April/120351.html
Happy hacking!
Pierre
Good Morning Everyone,
So here are some of the changes that we have worked on this week:
* We worked on some documentation about the different places you can contribute
packages in our ecosystem: Fedora, EPEL, the Automotive SIG and AutoSD, cf:
https://sigs.centos.org/automotive/contributing/building_packages/
* The general documentation about best practices for SIGs to use gitlab has been
merged: https://sigs.centos.org/guide/gitlab/
* We have added explicitly the linux-firmware-automotive package to content
resolver to replace the linux-firmware package with the aim to reduce the
image size by dropping the firmware that aren't relevant, cf:
https://github.com/minimization/content-resolver-input/pull/709
* We added some documentation on how you can use single-file offline ostree
updates:
https://sigs.centos.org/automotive/building/updating_ostree/#offline-delta-…
* The example rpms that were in the sample-image repostitory have been moved to
https://gitlab.com/CentOS/automotive/rpms, and the COPR repo where they used
to be built has been removed from the manifests.
* The manifests have changed to defaulting to static_uuids=true, where it was
false before. This means repeated builds of the same image will be more
reproducible, although the uuids will not be unique between builds.
* Some initial support for encrypting the root filesystem with LUKS was added.
Expect more work on this later though.
* We improved our documentation on customizing OSbuild templates:
https://sigs.centos.org/automotive/building/customize_template/
Happy hacking!
Pierre
Good Morning Everyone,
So here are some of the changes that we have worked on this week:
* You can now override the os version field in the ostree commit in the
images using the `ostree_os_version` variable.
* The runvm script now supports the `--watchdog` argument, which implements
an external watchdog that survives across VM resets.
* There is a new image that demonstrates how the watchdog can be used to
implement unattended OSTree updates. See
https://sigs.centos.org/automotive/building/unattended_updates/ for docs
about this.
* There were various fixes to the grub configuration to support the above.
Happy hacking!
Alex
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl(a)redhat.com alexander.larsson(a)gmail.com
Good Morning Everyone,
So here are some of the changes that we have worked on over the last couple
of weeks:
* We have worked on the osbuild templates and the repository structure to
make them more flexible and less cs9 specific.
This moves the configuration for the base cs9 stuff to a separate file
distro/cs9.ipp.yml, and allows you to easily create similar setups for
other distros (such as the AutoSD repos) which automatically creates the
right makefile targets for them. Etc.
* The work to enable a new lookaside cache structure is progressing: it has
been updated and we confirmed that we can upload to it, but CBS still needs
a little adjustment before it can use it (code is written, just needs to be
deployed)
* Started drafing the best-practices doc for using the centos namespace on
gitlab.com: https://git.centos.org/centos/sig-guide/pull-request/4
* We greatly improved our suppport for OSTree repository use.
The Makefile makes it easy to create and maintain a repo, and the runvm
changes makes it easy to allow VMs to access that repo. The new docs give
more context about what OSTree is and how it works. See
https://sigs.centos.org/automotive/building/updating_ostree/ for more
details!
* Some changes in the OSTree image type.
We now use bootloader=none, which means the grub config is not rewritten
on each update. There is now an ostree remote configured, and it is used as
the main origin for the ostree ref that was used, allowing for updates out
of the box. The url for the remote is configurable with a variable.
* The automotive SIG signed up for early access to gitlab.com/centos and
help the CentOS infra team to smooth the edges there
Happy hacking!
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl(a)redhat.com alexander.larsson(a)gmail.com
Good Morning Everyone,
So here are some of the changes that we have worked on over this week:
* We can now build from gitlab.com/redhat/automotive in CBS (cbs.centos.org)
note that we want to move to gitlab.com/centos/automotive as soon as the
authentication questions between gitlab and the CentOS account system are
solved.
* Repository structure for AutoSD has been simplified. It used to include the
CentOS repository from which the RPMs composing AutoSD had been pulled but
that was not necessary and ended up making AutoSD split across multiple
repositories instead of having just one. This is now fixed:
https://autosd.sig.centos.org/AutoSD-9/latest/cs9/
(as I write this email I realize that we still have some redundancy in the
path here...)
* Remote-build has been improved to make it easier to run, now all you need is
to write your configuration file and ensure you have podman installed on the
targeted hosts! The client handles the rest. Sources:
https://github.com/pypingou/remote_builder
* Increased the size of the `/boot` partition on our sample images to 300M so it
has enough space to install up to 3 kernels.
* The rpm repository moved from the folder `product-builds` to `AutoSD-9` at:
https://autosd.sig.centos.org/
Happy hacking!
Pierre
Good Morning Everyone,
So here are some of the changes that we have worked on over the last couple of
weeks:
* We got a sub-domain for AutoSD, so you can browse it at:
https://autosd.sig.centos.org/
* We kept on working on allowing a new lookaside cache structure on CentOS'
infrastructure, giving SIGs more flexibility on their workflow (cf the
discussion on the centos-devel list)
* We worked on some sample containers interacting via SOME/IP, cf:
https://lists.centos.org/pipermail/centos-automotive-sig/2022-March/000085.…
* We have a new tool called runvm in the repo which makes it easier to run
images with qemu
* Our manifest now have a variable you can use if you want to add extra
repositories (in addition to extra packages) when building images. It will go
something like:
`make cs9-qemu-minimal-regular.aarch64.qcow2 DEFINES='extra_repos=[{"id":"foo","baseurl":"http://foo"}] extra_rpms=["some","rpms"]'`
(documentation will be updated shortly)
Happy hacking!
Pierre
Hi all - you can find past CentOS Automotive SIG meeting recordings, as
well as information on upcoming meetings and events, on this page:
https://wiki.centos.org/SpecialInterestGroup/Automotive/Meetings
Thanks to everyone who made it to today's office hours, where we discussed
the current technical status as well as future options for hardware and
board support. In particular, there was an active discussion around the
best ways to accommodate custom kernels and long term support - thanks to
Fulup and Stephane for a very interesting topic.
I have started a wiki page specifically to discuss & track hardware ideas
here:
https://wiki.centos.org/SpecialInterestGroup/Automotive/Hardware
So please feel free to log in and contribute, both here and elsewhere in
the wiki.
Thanks & see you all for the next meeting on April 8
Jeffrey "Jefro" Osier-Mixon | jefro(a)redhat.com
Red Hat Office of the CTO | Sr. Principal Community Architect, Automotive