Co oznaczają te polecenia?


(Achcik) #1

Tuż po instalacji debiana zainstalowałem niewolne stery do swojego systemu poleceniami

apt-get install linux-firmware-nonfree

oraz

apt-get install firmware-realtek

Na końcu wykonałem polecenie:

update-initramfs -u

I wszystko hula ale co dokładnie oznacza to ostatnie polecenie? Ono tak jakby ładuje ten firmware do kernela? A co np. w sytuacji gdybym chciał ściągnąć nowszy firmware z backportów z końcówką .40 to mogę to zrobić i później wykonać to polecenie i wszystko będzie ok?

 

A co oznacza polecenie:

dmesg |grep -i firmware

??? Z góry dzięki za pomoc :wink:


(Frankfurterium) #2

http://manpages.ubuntu.com/manpages/hardy/man8/update-initramfs.8.html


(enedil) #3

Warto dorzucić

man grep

(Piesek64) #4

dmesg to jakby log ładowania systemu jak mogę to nazwać więc z "| grep -i firmware" wycina z tego logu kawałek zawierający słowo firmware i wyświetla w terminalu.

update-initramfs powoduje chyba aktualizacje danych kernela (np. przy instalacji nowego kernela on aktualizuje go i daje systemowi informacje że jest wgrane nowe jądro lub że zmieniła się jego konfiguracja). Zawsze możesz użyć komendy man i nazwa komendy.


(roobal) #5

Initramfs to inicjujący system plików ładowany do pamięci podczas startu systemu, w tym systemie plików zawarte są sterowniki do obsługi sprzętu oraz systemu plików, pozwalające na zamontowanie prawdziwego systemu plików rootfs. Skoro aktualizowany był firmware, to trzeba zaktualizować initramfs, aby ładował do pamięci nowy sterownik, który ma obsłużyć sprzęt, gdyby initramfs nie zawierał tego sterownika, mógłby nie uruchomić danego urządzenia.


(Achcik) #6

Dzięki za odpowiedzi, poczytałem też trochę manuala ale nadal w sumie nie wiem czy po zainstalowaniu niewolnego firmware mam wykonywać to polecenie z atrybutem -u czy wpisywanie go jest w ogóle zbędne, bo jak wpisze np. apt-get install firmware-linux-nonfree to pokazuje się polecenie "updating-initramfs" więc może to jest zbędne?

 

Dodatkowo nadal nie wiem czy coś jeszcze instalować czy nie. Jak narazie zainstalowałem firmware-linux-nonfree, firmware-realtek oraz intel-ucode i intel-microcode. Skonfigurowałem też zarządzanie energią na otwartych sterach radeon. System działa jak bajka na 7 letnim laptopie, temperatury są niższe niż na windows ale lubie mieć wszystko skonfigurowane porządnie. Czytałem Dekstop How to na stronie debiana ale za mało tam informacji.

 

Mój lapek to jakieś core duo z radeonem x2300 i 2 gb ramu. Coś jeszcze konfigurować jeśli chodzi o firmware czy nie?


(dragonn) #7

Pierwszy raz się spotykam z potrzebą aktualizowania initrd po wgraniu firmware - initrd zawiera tylko podstawowe elementy potrzebne do wystartowania systemu - sterownik i firmware do karty sieciowej do tych elementów się nie zalicza. roobal sterownik nie musi być w initrd żeby system go załadował - za to odpowiada udev który może to zrobić po zamontowaniu rootfs, ba zależnie od systemu startuje on dopiero po wywołaniu init z rootfs a nie z initrd. No ale fakt jest taki że na pewno wywołanie updating-initramfs -u nigdy nie zaszkodzi.


(Achcik) #8

 

Zgadza się, jest tak jak piszesz, znalazłem odpowiedni opis w necie:

 

"...when the kernel needs a firmware, it sends out a request to user-space. udev is getting the request with the name of the firmware, and in its default configuration (see /lib/udev/rules.d/80-drivers.rules) it executes /lib/udev/firmware.agent in response."

 

To nie wiem po co w niektórych poradnikach dają to "update-initramfs -u" po instalacji/aktualizacji firmware.


(enedil) #9

Prawdopodobnie nie każda dystrybucja robi to automatycznie, stąd te dodatkowe polecenie.


(Achcik) #10

 

No nie bardzo bo cały temat dotyczy debiana i poradnik który mam na myśli. Zreszta sprawa wyjasniona, nie trzeba tego dawać ale nic złego się nie stanie jak się da :wink:


(dragonn) #11

Nie chodzi bardziej o to że w 99% przypadków w ogóle to konieczne nie jest bo żaden sterownik wymagany do zbootowania systemu do momentu zamontowania rootfs nie wymaga firmware. Z czystej ciekawości rozpakowałem initrd Arch i nie ma tam wewnątrz żadnego firmware. Jeśli ktoś jest ciekawy może rozpakować initrd poleceniem:

cat /boot/initramfs-linux.img | cpio --extract

Gdzie initramfs-linux.img to nazwa pliku initrd, oczywiście zazwyczaj jest on skompresowany np gz, to wtedy musimy jeszcze najpierw:

gzip --decompress /boot/initramfs-linux.img.gz

A później plik otrzymany rozpakować za pomocą cpio. Szczerze wątpię żeby w Debianie sterowniki do karty sieciowej można było znaleźć w initrd.