Files

3.0 KiB
Raw Permalink Blame History

Bash · Console Tools — plan kart

Status: L01L08 gotowe; seria zakończona i odbierana w profilu native-amd64 przez stemctl.

Seria przygotowuje warsztat przed FPGA, assemblerem i C. Nazwa obejmuje pracę w powłoce i terminalu; BusyBox może udostępniać ash, więc nie utożsamiamy każdego appletu BusyBox z implementacją Bash.

Bash · Console Tools
├── L01 · BusyBox — the Swiss Army Knife
├── L02 · Tmux — sessions, windows and panes
├── L03 · Neovim — navigation and editing
├── L04 · Git Basics I — status, add and commit
├── L05 · Git Basics II — log, diff and restore
├── L06 · Git Branching I — branch, switch and merge
├── L07 · Git Branching II — rebase and conflicts
└── L08 · Docker Fundamentals

Każda karta zawiera trzy wykonywalne taski. Repozytorium karty dostarcza kontrakt stem-card.yaml, testy stanu, wygenerowany widok React, dwustronicowy PDF A4 oraz akcje build, test, run i debug. Debug zapisuje trace.log w katalogu artefaktów tasku.

Stan odbioru serii — 2026-07-21

Karta Dowód końcowy
L01 BusyBox dispatch multicall, operacje plikowe, proces i host
L02 Tmux sesja, okna i panele, zachowanie stanu po detach/attach
L03 Neovim nawigacja, search/edit/save, undo/redo
L04 Git Basics I init, status/add, pierwszy commit i clean
L05 Git Basics II log, diff staged/worktree, bezpieczne restore
L06 Git Branching I branch/switch, rozbieżność, merge commit
L07 Git Branching II rebase, rzeczywisty konflikt UU, liniowa historia
L08 Docker specyfikacja image, lifecycle, volume i bind mount

Wszystkie 24 taski przechodzą w kontenerze native-amd64. Każdy task pracuje w izolowanym katalogu tymczasowym i raportuje mierzalny komunikat PASS.

Granice środowiska

Obraz native-amd64 nie zawiera BusyBox. L01 używa więc audytowalnego fixture C implementującego wyłącznie ćwiczony mechanizm multicall, wykrywa prawdziwy BusyBox, gdy jest dostępny, i zawsze raportuje użyty backend. Fixture nie jest przedstawiany jako binarka BusyBox.

Profil ucznia nie otrzymuje socketu Docker/Podman. L08 używa jawnego modelu stanów offline do sprawdzenia semantyki image/container/storage. Jego PASS nie oznacza uruchomienia prawdziwego silnika. Powtórzenie ćwiczenia z realnym CLI należy wykonać na kontrolowanej maszynie operatorskiej, najlepiej z rootless Podmanem albo Dockerem, bez montowania socketu do kontenera ucznia.

Sposób uruchamiania

stemctl series show console-bash
stemctl list-cards console-bash
stemctl card use console-bash L01
stemctl test native-amd64 console-bash L01 1
stemctl debug native-amd64 console-bash L01 3

Numer karty i tasku można podmienić na dowolne L01L08 i 13. Identyfikatory, repozytoria i kolejność kart są zapisane w series/console-bash.json, a stan realizacji w catalog/console-bash.json.

Pierwotne ustalenia znajdują się również w series/inf/lab-rv32i-c-pointers-arrays/guidelines/console-series.md.