rpi-fw-crypto: can the dependency on GnuTLS be optional instead?

Abierto
#222 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c
Área
embedded-iot

Línea de trabajo

Read the rpi-fw-crypto implementation, especially the sign command's hash_file() and the hmac command used by the initramfs; the issue names no source files or tests. Check how the binary links to GnuTLS and whether that dependency can be made optional for hmac. Done means hmac works without GnuTLS while sign retains its required hashing behavior.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi,

The initramfs that rpi-image-gen builds with the rpi-idp-luks2 layer runs rpi-fw-crypto hmac to unlock LUKS2. Because rpi-fw-crypto links against GnuTLS, the initramfs also has to carry GnuTLS and its dependencies: 2.28 MB at zstd -19, close to 25% of my small initramfs test. GnuTLS is only used by sign (in hash_file()), but the binary won’t load without it, even for hmac.

I saw that #203 was closed because GnuTLS is used elsewhere in RPi OS. In my initramfs, though, rpi-fw-crypto appears to be its only user, in this particular configuration I am testing.

The use case I’m considering is reducing churn in the generated boot.img, which affects OTA transfer size where those matters. I suppose the counterargument is that I could simply pin the package versions instead of always pulling the latest via apt.

Lenguaje dominante
C
Estrellas
351
Forks
103
Merge medio
1 d 18 min
PR fusionados (30 d)
4

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de raspberrypi/utils

Todos los issues de raspberrypi/utils

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.