Zadanie polega na przygotowaniu obrazu dysku z systemem MINIX 3.3 (minix.img), za pomocą którego będzie możliwe odtworzenie poniższego scenariusza.
Uruchamiamy program qemu z przygotowanym obrazem:
$ qemu-system-x86_64 -curses -drive file=minix.img -enable-kvm -localtime -net user -net nic,model=virtio -m 1024MZanim zostanie uruchomiony bootloader:
- Na ekranie maszyny wyświetla się napis
"Enter your name\r\n". - Użytkownik wpisuje imię (
$name).- Zakładamy, że klawiatura użytkownika jest ograniczona do symboli alfabetu łacińskiego ([a-z]), symbolu backspace (0x08) oraz enter (0x0d).
- Wartością
$namepowinien być ciąg znaków alfabetu łacińskiego ([a-z]). - Użytkownik zatwierdza wpisane imię za pomocą entera.
- Symbol backspace w przypadku
$nameo niezerowej długości oznacza usunięcie ostatniego znaku (kursor zostaje przesunięty w lewo). - Użytkownik nie może wpisać imienia o długości większej niż 12 znaków.
- Dopóki imię wprowadzone przez użytkownika ma mniej niż 3 znaki, nie może zostać zaakceptowane.
- Na ekranie wyświetlana jest aktualna wersja imienia, którą wpisuje użytkownik.
- Po zaakceptowaniu imienia na ekranie maszyny wyświetla się napis
"Hello $name\r\n". - Po upływie 2 sekund zostaje uruchomiony oryginalny bootloader (z oryginalnego obrazu MINIX-a).
Tuż po zalogowaniu się jako użytkownik root:
- Automatycznie tworzony jest użytkownik o nazwie
$namew grupie'users'. - Automatycznie użytkownik root zostaje zalogowany na konto użytkownika
$name.
Przygotowane rozwiązanie należy zaprezentować podczas zajęć, najpóźniej w tygodniu 3-7 kwietnia 2017 r.
Pliki źródłowe z rozwiązaniem należy umieścić w repozytorium SVN w katalogu studenci/ab123456/zadanie3
gdzie ab123456 jest identyfikatorem studenta używanym do logowania w laboratorium komputerowym.
- Przygotowanie obrazu, który spełnia wymagania 1-4 -> max. 1 punkt.
- Przygotowanie obrazu, który spełnia wymagania 1-6 -> max. 2 punkty.