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

Unable to build a disk image with the Gasket-driver extension #5

Closed
hagak opened this issue Mar 25, 2024 · 10 comments
Closed

Unable to build a disk image with the Gasket-driver extension #5

hagak opened this issue Mar 25, 2024 · 10 comments

Comments

@hagak
Copy link

hagak commented Mar 25, 2024

Bug Report

When attempting to build a disk image using the following fails

docker run --rm -t -v $PWD/_out:/out -v /dev:/dev --privileged ghcr.io/nberlee/imager:v1.6.7 metal --system-extension-image ghcr.io/siderolabs/gasket-driver:09385d4-v1.6.7@sha256:1add5eaa6da69397ed19d9af744e0564d36443fa75859f562dd9418376ce522a
profile ready:
arch: arm64
platform: metal
secureboot: false
version: v1.6.7
input:
  kernel:
    path: /usr/install/arm64/vmlinuz
  initramfs:
    path: /usr/install/arm64/initramfs.xz
  dtb:
    path: /usr/install/arm64/dtb
  uBoot:
    path: /usr/install/arm64/u-boot
  rpiFirmware:
    path: /usr/install/arm64/raspberrypi-firmware
  baseInstaller:
    imageRef: ghcr.io/nberlee/installer:v1.6.7
  systemExtensions:
    - imageRef: ghcr.io/siderolabs/gasket-driver:09385d4-v1.6.7@sha256:1add5eaa6da69397ed19d9af744e0564d36443fa75859f562dd9418376ce522a
output:
  kind: image
  imageOptions:
    diskSize: 1306525696
    diskFormat: raw
  outFormat: .xz
◰ copying kernel modules from /tmp/imager2988444800/extensions/0/rootfs/lib/modules failed: stat /tmp/imager2988444800/extensions/0/rootfs/lib/modules/6.6.22-talos: no such file or directory

Description

I can create images using other extensions just not the gasket-driver. I can also use the official sideorlabs imagers with the gasket-extension.

Logs

Environment

  • Talos version: [talosctl version --nodes <problematic nodes>]
  • Kubernetes version: [kubectl version --short]
  • Platform:
@nberlee
Copy link
Owner

nberlee commented Mar 26, 2024

Ok, gasket is depended on the kernel it seems. Then this would not work, I will try to create a gasket extentension.. (that would be only needed when kernel modules are involved)

@nberlee
Copy link
Owner

nberlee commented Mar 26, 2024

Please try:

ghcr.io/nberlee/gasket-driver:09385d4-v1.6.7-1-g0d36308@sha256:8691b489cc990c10187380cad78066dea0652607be256f445adc9a4fd55f5573

see https://github.com/nberlee/extensions/pkgs/container/gasket-driver

if this works for you i will add gasket permanently to new versions of the extension...

@hagak
Copy link
Author

hagak commented Mar 26, 2024

I ran the following, but got the same result as above:

docker run --rm -t -v $PWD/_out:/out -v /dev:/dev --privileged ghcr.io/nberlee/imager:v1.6.7 metal --system-extension-image ghcr.io/nberlee/gasket-driver:09385d4-v1.6.7-1-g0d36308@sha256:8691b489cc990c10187380cad78066dea0652607be256f445adc9a4fd55f5573

@nberlee
Copy link
Owner

nberlee commented Mar 26, 2024

Thanks for testing
This is fixable and I will do it when I build a new kernel. I will let you know when you can test it.

@hagak
Copy link
Author

hagak commented Mar 26, 2024

Thank you for the work you are putting into this!

nberlee added a commit to nberlee/pkgs that referenced this issue Apr 4, 2024
nberlee added a commit to nberlee/pkgs that referenced this issue Apr 4, 2024
nberlee added a commit to nberlee/pkgs that referenced this issue Apr 4, 2024
nberlee added a commit to nberlee/extensions that referenced this issue Apr 4, 2024
nberlee added a commit to nberlee/extensions that referenced this issue Apr 4, 2024
nberlee added a commit to nberlee/extensions that referenced this issue Apr 4, 2024
@nberlee
Copy link
Owner

nberlee commented Apr 4, 2024

@hagak, I appreciate your patience. After attempting to resolve build gasket, it appears that the solution would require a significant increase in the build time for the kernel, effectively doubling it. Given that I personally bear the cost of the ARM builders (buildjet), and considering the effort involved relative to the demand—since you're currently the only one who has raised this—it doesn't seem justifiable to pursue this the moment.

@hagak
Copy link
Author

hagak commented Apr 4, 2024

@nberlee Completely understandable and I appreciate your time spent. Is there a path that your fork will be a PR to the main talos which would eliminate this issue?

@nberlee
Copy link
Owner

nberlee commented Apr 4, 2024

Something like that. Talos 1.7 will have sbc overlays. Which means I could make this for the Turing RK1. However, I am not sure it is possible in Talos 1.7 because it presently does not support a custom kernel. And SBC specific kernel patches are not jet welcome to the upstream Talos. I am still in contact with them how to resolve it, and need to test somethings... So no promises it will be Talos 1.7... but eventually absolutely!

@minhtt159
Copy link

I'm looking into this as well. Is there any way I can help/test?

@nberlee
Copy link
Owner

nberlee commented Dec 2, 2024

Starting with1.9.0 beta.0 the turing RK1 will be available in the https://factory.talos.dev

therefior you can create you own Turing RK1 images with gasket.

As the SBC layer was just merged: siderolabs/sbc-rockchip#35

@nberlee nberlee closed this as completed Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants