Table of Contents

Tema 2 Linux - Epic Clock Time

Motivație

Obiectivul temei 2 de Linux este să compuneți un sistem Linux complet, care să afișeze ceasul sau data pe un dispozitiv accesibil printr-un character device driver. Se vor pune în aplicare cunoștințele dobândite în timpul laboratorului, aplicate pe placa arm_versatile din Qemu. Sistemul va prezenta o interfață web prin care se poate configura ceasul (sursa de ceas, timezone-ul curent, server-ul de NTP etc. )

Se urmăresc consolidarea următoarelor aptitudini:

În plus, se dorește explorarea unor subiecte care nu au fost tratate în laborator decât la nivel de concept

Componenta principală a temei

Pentru acest lucru aveți nevoie de:

:!: Tema se va dezvolta în Qemu (> v1.0.1), pentru placa arm_versatile. Se va folosi Yocto pentru generarea imaginii, așa cum este descris în laboratorul de Yocto.

Afișarea pe dispozitiv

Dispozitivul de afișare este un 7-segment display cu 6 cifre (ca și ceasul din laborator) și are un driver încărcat care apare ca un device driver de tip caracter. Calea completă se va găsi în /etc/epicclockpath și va fi inițial /dev/epicclock, apoi se va putea modifica din interfața web (interfața web va updata și fișierul /etc/epicclockpath atunci când este nevoie).

Device driver-ul nu este scris de voi, tot ce știți despre el este interfața lui: trebuie scrise 6 caractere între '0' și '9' pentru ca acesta să le afișeze în ordine, urmate obligatoriu de '\n'. Nerespectarea acestei interfețe (6 caractere între '0' și '9' urmate de '\n') va duce la distrugerea universului și la depunctarea temei.

Puteți face această scriere către dispozitiv atât dintr-o aplicație userspace, cât și dintr-un script (fără restricții).

Interfața web

Interfața web trebuie să aibă următoarele funcționalități:

Fișierul de log

Fișierul de log trebuie să conțină intrări de forma:

  User-ul cu IP-ul X a modificat timezone-ul din Y în Z
  User-ul cu IP-ul X a modificat ora curentă din Y în Z

Serviciile din sistem

Alte trăsături ale sistemului

Trimiterea temei

Tema va fi trimisă separat, metainformații pe moodle și arhiva propriu-zisă pe orice platformă de hosting doriți voi (Dropbox, transfer.ro, Google Drive etc)

Pe Moodle trebuie pus:

Arhiva (hostată oriunde, accesibilă din ziua deadline-ului, valabil măcar o săptămână) trebuie să conțină:

Notare

Din 100p total, aveți:

Bonus