Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Use a distinctive KernelCI shell prompt in rootfs images and LAVA boot templates

Aperta
#2,922 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
shell

Direzione di ricerca

Inizia da config/rootfs/debos/overlays/prompt/root/.profile e config/rootfs/debos/rootfs.yaml, quindi esamina i template config/runtime/boot elencati alla ricerca di prompt hardcoded. Esegui i test pertinenti di rendering dei template e verifica che i job Debos selezionino solo il nuovo prompt. Il lavoro è completato quando è stata ricostruita un'immagine Debos, un job QEMU LAVA è terminato con successo e, ove necessario, è stata eseguita la validazione dell'hardware.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

good first issue

Problem

KernelCI Debos rootfs images currently use a generic shell prompt:

/ #

Some newer images may instead show:

~ #

KernelCI lists these strings as expected login prompts in its LAVA job templates. LAVA warns that these prompts are not distinctive and may accidentally match ordinary boot or status messages:

The string '/ #' does not look like a typical prompt and could match
status messages instead.

Adding ~ # as another accepted prompt prevents login timeouts with newer BusyBox versions, but it does not resolve the warning. LAVA checks every listed prompt and currently considers prompts containing : or \ distinctive.

A false prompt match could cause LAVA to proceed before the device has actually reached a usable shell.

Original example: https://lava.collabora.dev/scheduler/job/19101745#L1878

LAVA prompt validation:

Desired outcome

Use this stable, KernelCI-specific prompt in Debos rootfs images:

PS1='kernelci:$(pwd) # '

At the root directory, it produces:

kernelci:/ #

The prompt is distinctive according to LAVA, unlikely to appear in normal kernel or userspace output, and can be matched exactly by generated LAVA jobs.

Buildroot-based images are outside the scope of this issue and should be handled in a separate follow-up issue because their configuration is maintained in another repository.

Implementation outline

  1. Update the Debos prompt overlay to emit kernelci:$(pwd) # .
  2. Update the LAVA boot templates used with Debos images to expect the new prompt.
  3. Do not list / # or ~ # for images using the new prompt, because LAVA warns about every generic prompt in the list.
  4. If the templates are also used by Buildroot images, make the expected prompt configurable per rootfs or job. Keep the legacy value only for Buildroot until its follow-up issue is completed.
  5. Add or update tests that render the affected templates and verify the prompt selected for a Debos image.
  6. Rebuild a representative Debos rootfs and validate it in a real LAVA job.
  7. Retire Debos images that use the old generic prompt when the new images are published. They do not need to remain compatible after the switch.

Relevant files

  • config/rootfs/debos/overlays/prompt/root/.profile
  • config/rootfs/debos/rootfs.yaml
  • config/runtime/boot/u-boot.jinja2
  • config/runtime/boot/efi.jinja2
  • config/runtime/boot/ipxe.jinja2
  • config/runtime/boot/depthcharge.jinja2
  • config/runtime/boot/fastboot.jinja2
  • config/runtime/boot/qemu.jinja2
  • config/runtime/boot/barebox.jinja2
  • config/runtime/boot/grub.jinja2
  • config/runtime/tests/watchdog-reset.jinja2

The legacy/generated rootfs configuration should also be checked for remaining hard-coded / # values.

Acceptance criteria

  • A newly built representative Debos rootfs displays kernelci:/ # at the root directory on its serial console.
  • Rendered LAVA jobs for Debos images list only prompts those images can emit.
  • LAVA detects the prompt and completes login successfully.
  • The LAVA job does not report the “does not look like a typical prompt” warning for the Debos prompt.
  • At least one QEMU LAVA job is run successfully and linked in this issue.
  • A hardware job is also checked if its prompt or login path differs from QEMU.
  • Debos images using / # or ~ # are retired when the replacement images are published.
  • Buildroot prompt migration is recorded in a separate follow-up issue.
  • Relevant automated tests pass.

Human participation required

This task intentionally needs two short human checkpoints:

  1. A KernelCI maintainer coordinates publication of the replacement Debos image and retirement of the old images.
  2. A lab operator runs a representative LAVA job and confirms from the serial log that the prompt is detected correctly.

These operational steps and the real-lab validation cannot be completed by repository automation alone.

Out of scope

  • Changing LAVA's upstream prompt-validation heuristic.
  • Changing the Buildroot prompt; track this in a follow-up issue.
  • Maintaining compatibility with retired Debos images that use the old prompt.
  • Refactoring unrelated boot or login handling.
  • Redesigning the rootfs publication process.
  • Changing the ChromeOS prompt unless testing shows it is affected.
Lingua principale
Python
Stelle
120
Fork
108
Merge medio
1g 12h
PR unite (30g)
21

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di kernelci/kernelci-core

Tutte le issue di kernelci/kernelci-core

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.