Jak zbudować dysk ze sterownikami do instalacji anakondy (CentOS 6)

5

Muszę zrobić dysk ze sterownikami dla anakondy. Dysk ten zawierałby zaktualizowany moduł karty sieciowej nieco nowego laptopa, a celem jest uruchomienie działającej instalacji sieciowej CentOS 6.2. Korzystam z narzędzia cobbler, więc nawet sam plik kickstart znajduje się w sieci. Nie przeszkadza mi to, że instalacja nie jest całkowicie bezobsługowa i nie mam nic przeciwko przyklejeniu pamięci USB z obrazem dysku sterownika podczas instalacji i ręcznemu wybraniu właściwego elementu, ale chcę zachować wszystko inne w sieci (jądro obraz, initrd, plik kickstart, repozytoria RPM).

Mam już skompilowany zaktualizowany sterownik, a nawet mam RPM „kmod” zbudowany przy pomocy / usr / lib / rpm / redhat / kmodtool. Niestety nie znalazłem absolutnie żadnej dokumentacji dotyczącej wyglądu dysku sterownika.

http://www.phil.muni.cz/~letty/linuxfaq/pracovni/driver-disk-howto to jedyny link, jaki mogłem znaleźć, i opisuje on walkę kogoś, kto zrobił to samo, co ja - pobrane dyski ze sterownikami i próbowałem je zbadać. Niestety wydaje się, że format w CentOS 6 się zmienił, a najlepiej, co mogłem zrobić, to poprosić anakondę, aby powiedziała mi: „Dysk ze sterownikiem jest nieprawidłowy w tej wersji CentOS”. Sam dziennik mówi „nie można znaleźć / tmp / drivers / rpms / x86_64 / repodata” i do tej pory nie widziałem dysku ze sterownikiem z „repodata”.

Obecnie nurkuję w kodzie źródłowym anakondy, ale mam nadzieję, że ktoś wskaże mi właściwy kierunek.

chutz
źródło

Odpowiedzi:

7

W końcu mogłem znaleźć odpowiedź w źródle anakondy .

Aby wygenerować dysk ze sterownikami zgodnymi z CentOS 6, możesz utworzyć obraz squashfs (inne systemy plików mogą również działać, ale squashfs jest zdecydowanie najłatwiejszy do utworzenia) w następującym układzie:

  • rhdd3 - plik z prostym komentarzem jednowierszowym opisującym dysk
  • .rundepmod- obecność tego pliku mówi instalatorowi, że powinien on uruchomić depmod, aby pobrać moduły
  • rpms/x86_64 - opcjonalne repozytorium yum zawierające RPM kmod
  • lib/modules/2.6.32-220.el6.x86_64/...- aktualne moduły jądra znajdują się tutaj; jeśli dysk sterownika zawiera zaktualizowany sterownik sterownika nadrzędnego, wówczas struktura katalogów powinna być zgodna z lokalizacją modułu nadrzędnego jądra. Wersja jądra powinna oczywiście pasować do wersji instalatora.

A ponieważ zdjęcie jest warte tysiąca słów, oto przykładowy dysk ze sterownikiem, którego używamy do uruchamiania najnowszych laptopów, które wymagają zaktualizowanego atl1c.kosterownika:

$ unsquashfs -ls driver-disk.dd 
Parallel unsquashfs: Using 2 processors
8 inodes (26 blocks) to write

squashfs-root
squashfs-root/.rundepmod
squashfs-root/lib
squashfs-root/lib/modules
squashfs-root/lib/modules/2.6.32-220.el6.x86_64
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/net/atl1c/atl1c.ko
squashfs-root/lib/modules/2.6.32-220.el6.x86_64/updates
squashfs-root/rhdd3
squashfs-root/rpms
squashfs-root/rpms/x86_64
squashfs-root/rpms/x86_64/kmod-compat-wireless-3.3_2_n-2.el6.x86_64.rpm
squashfs-root/rpms/x86_64/repodata
squashfs-root/rpms/x86_64/repodata/filelists.xml.gz
squashfs-root/rpms/x86_64/repodata/other.xml.gz
squashfs-root/rpms/x86_64/repodata/primary.xml.gz
squashfs-root/rpms/x86_64/repodata/repomd.xml
chutz
źródło
0

Znalazłem to, szukając instrukcji, jak utworzyć dysk ze sterownikami dla Centos 7.4. W moim przypadku potrzebowałem sterownika RAID do instalacji na HP Microserver, gdzie jedyne dyski wewnętrzne są częścią RAID.

Zacząłem od starego dysku sterownika urządzenia (właściwie klucza USB), który miał następujące foldery (między innymi plikami):

/rpms/x86_64/
/rpms/x86_64/repodata/

Wydawało mi się, że następujący proces:

  1. Usuń zawartość /rpms/x86_64/folderu z klucza USB
  2. Pobierz poprawny / najnowszy sterownik jako plik RPM
  3. Przenieś ten RPM do własnego folderu
  4. Upewnij się, że pakiet createrepo jest zainstalowany
  5. Uruchom następującą komendę, gdzie twój_folder to miejsce, w którym znajduje się RPM:

    createrepo your_folder/

  6. Sprawdź, czy utworzono repodatafolder w twoim_folderze

  7. Skopiować zawartość your_folder się /rpms/x86_64na kluczu USB

Chociaż nie odnosi się to bezpośrednio do OP, może być pomocne dla kogoś, kto natknął się na tę stronę podczas próby opracowania dysku ze sterownikiem urządzenia dla instalacji CentOS.

Charlie Joynt
źródło