Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#2,922 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
shell

調査の方向性

config/rootfs/debos/overlays/prompt/root/.profile と config/rootfs/debos/rootfs.yaml から始め、続いて、一覧にある config/runtime/boot テンプレートを調べてハードコードされたプロンプトを確認します。関連するテンプレートレンダリングテストを実行し、Debos ジョブが新しいプロンプトのみを選択することを検証します。再ビルドされた Debos イメージ、成功した QEMU LAVA ジョブ、および必要に応じたハードウェア検証が完了条件です。

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
Python
スター
120
フォーク
108
平均マージ
1日 12時間
マージ済み PR(30日)
21

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

kernelci/kernelci-core のほかの issue

kernelci/kernelci-core の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。