O Autodektekcji sprzętu - koncepcja

Grzegorz Godlewski ggodlewski w host.sk
Wto, 1 Kwi 2003, 19:41:09 CEST


Witam!

Ponieżej dorzucę parę uwag i wyjaśnię kilka rozwiązań stosowanych
w moim programie:

> 1. Autodetekcja osobno dla instalatora i systemu.
Do tego dorzuciłbym wykrywanie dla rescuecd i przenośnego dysku (często
wędruje z moim i montuje go w różnych komputerach).
Co do prędkości (haps bazuje na kudzu) to powolność bierze się
głównie z powodu wykrywania urządzeń podpiętych do seriala, psaux itp.
Pci, usb, ide lecą bez opóźnień. To na jakich szynach program musi
być konfigurowalne. Oprócz tego co kudzu program wykrywa procesory,
partycje, monitor, ilość preinstalowanej pamięci, bios.

> 2. Modularność.
> 
> Każdy sprzęt można podzielić na kilka rodzin: karty sieciowe, karty
> ...
> Dlatego proponuję, do każdego typu sprzętu zrobić osobne skrypty do
> autodetekcji. Daje nam to małe skrypty, możliwość zostawienia sobie
> przez użytkownika możliwości wykrywania np. tylko kart dzwiękowych.
Nie. Sprzęt należy podzielić według szyn do których jest podłączony.
To jakiego jest typu jest sprawą wtórną i nie dotyczy autodetekcji,
a tworzenia plików konfiguracyjnych.

> 3. Zapis plików konfiguracyjnych TYLKO W OSTATECZNOŚCI I ZA WIEDZĄ
> UŻYTKOWNIKA.
Ja jestem człowiekiem wygodnym i jak sobie coś połącze to ma mi
się skonfigurować i tyle! Ale to, które rozwiązanie jest stosowane
w danym komputerze niech zależy od konfiguracji.

Przyjąłem model bezobsługowy - coś jak w knoppixie (nie lubie jak
coś mi zawraca głowę na starcie):
- następuje autodetekcja,
- tworzona jest baza,
- po tej bazie biegają sobie skrypty shellowe (jak ktoś lubi perla nie
ma przeszkód),
- sprzęt specyficzny wpada w filtry (np. partycja z określonym md5 bootsektora
może mieć przypisany na stałe odpowiedni katalog montowania i opcje),
filtry można definiować na szynę, rodzaj, sterownik, nazwę i md5iątki.
- skrypty tworzą pliki konfiguracyjne (/etc/haps/config) i łączą z
tymi zawartymi w systemie.

> Matryca:
> 
> Section "Monitor"
> 	Identifier      "Monitor 0"
>         HorizSync       $HORSYNC$
>         VertRefresh     $VERTSYNC$
> EndSection
O prawie jak z haps'a :)

> 4. Skrypty mouszą tworzyć sobie bazę sprzętu automatycznie.
Haps wpisuje baze do /etc/haps/current

W programie brakuję przede wszystkim skryptów generujących konfigurację
dla programów i sprzętu, którego nie używam :)
Jest rogrzebany ładny frontend do edycji konfiguracji i definiowania
filtrów.
Opcjonalnie potrafi zapisać sobie konfigurację na dysku i następnie
porównywać ją z wykrytą, ale zarzuciłem to na rzecz generowania wszystkiego
na raz.
Bazy sterowników wyciągane są z pciutils, usbutils, XFree86, kudzu.
Na razie tyle - więcej nie pamiętam.

pzdr.
-- 
/ Grzegorz Godlewski                                                       /
\ Mail: ggodlewski w host.sk          Jabber JID: grzesiek w jabber.pld.org.pl \
/ GG: 1600799                       ICQ UIN: 118261503                     /
\ WWW: http://ggodlewski.host.sk                                           \



Więcej informacji o liście dyskusyjnej pld-devel-pl