Aktualizacja microcode procesora w Debianie Wheezy – HOWTO.

Jakiś czas temu pisałem o 3 rzeczach, których zapewne nie aktualizujesz w Debianie (piszę w Debianie, ale zapewne prawdziwe jest dla większości dystrybucji opartych na nim). Jeśli chodzi o mikrokod, było prosto, łatwo, i przyjemnie. I minęło, wraz z nadejściem Wheezy’ego.

Magiczne polecenie update-intel-microcode, o którym wówczas pisałem, niestety nie jest już obecne w Debianie poczynając od wersji Wheezy. Zamiast tego, trzeba zrobić wszystko ręcznie. Nie wnikałem, ale zapewne chodziło o kwestie licencyjno-copyrightowe – przy pobieraniu pliku z mikrokodem ze strony Intela jest pytanie o zaakceptowanie licencji. W każdym razie nie ma już narzędzia i trzeba zadbać ręcznie o aktualizację mikrokodu.

Jest za to inne narzędzie, które – wraz z bazowymi mikrokodami – znajduje się w pakiecie intel-microcode.

Po pierwsze wchodzimy na stronę Intela, skąd możemy pobrać mikrokod. Wielkiego wyboru nie widzę, ale może się zmienić – wybieramy najnowszą wersję. Akceptujemy licencję, pobieramy plik. Na dysku ląduje plik o nazwie zbliżonej do microcode-20120606-v2.tgz. Należy go rozpakować, a naszym oczom ukaże się microcode.dat. To są mikrokody, których szukacie! 😉

Po drugie, przy pomocy narzędzia iucode_tool produkujemy z niego pliki w formie strawnej dla pozostałych narzędzi. Ja zdecydowałem się na rozpakowanie ich „na boczek”, żeby ręcznie porównać:

mkdir /tmp/ucode && iucode_tool -K/tmp/ucode/ /tmp/microcode.dat

Po tym zabiegu w katalogu /tmp/ucode mamy w tym momencie całkiem sporą ilość plików, które są gotowymi do użycia mikrokodami. Aby były używane, należy je skopiować do /lib/firmware/intel-ucode. Oczywiście jest możliwość rozpakowywania bezpośrednio w domyślną systemową lokalizację, wystarczy użyć przełącznika –overwrite i nie podawać katalogu docelowego.

Pora na użycie. I tu przyznaję zaczynają się schody. O ile wcześniej bez problemu można było załadować mikrokod online, to teraz iucode_tool -vk /tmp/ucode/* niby się wykonuje (wczytując wszystkie, czyli dla różnych procesorów mikrokody – zupełnie tego nie rozumiem), ale chyba nie działa. W każdym razie śladu w dmesg żadnego… Wygląda, że mikrokod jest dodawany do initramfs. Aby dodać mikrokody znajdujące się w domyślnej systemowej lokalizacji do wszystkich zainstalowanych kerneli, popełniamy:

update-initramfs -k all -uv

Po reboocie powinniśmy działać na nowym mikrokodzie. Uwaga: domyślnie do initramfs trafiają tylko mikrokody dla procesora, na którym jest wydawane polecenie. Można to zmienić w /etc/default/intel-microcode.

Dla procesorów AMD istnieje analogiczny pakiet, ale nie mam takiego pod ręką, by przetestować.

Przy pisaniu wpisu posiłkowałem się opisem Mikrokodu na wiki Arch. Co prawda niewiele się zgadza, ale może komuś się przyda. Warto też zajrzeć na ogłoszenie dotyczące mikrokodu, które znalazłem już po napisaniu wpisu.

 

3 rzeczy w Debianie, których nie aktualizujesz.

Jeśli korzystasz z systemu Debian, to zapewne przywykłeś do wygodnej sytuacji, że aktualizacje zwykle przychodzą w repozytorium security. Jest to wygodne, bo proste apt-get update; apt-get upgrade teoretycznie zapewnia aktualne wersje wszystkich pakietów w systemie, z aktualizacjami bezpieczeństwa. Prawda?

Niestety, nie do końca. Po pierwsze, sama instalacja aktualnych wersji pakietów nie zawsze oznacza, że automatycznie zaczynają być one używane. Pomijając kernel, którego faktyczna aktualizacja wiąże się z rebootem, także inne programy niekoniecznie zaczynają być używane automatycznie w aktualnej wersji po ich instalacji. W określeniu programów do restartu przydatne bywa polecenie checkrestart z pakietu debian-goodies, o którym pisałem w ściągawce z przydatnymi poleceniami dla Linuksa. Ogólnie: próbuje ono podać procesy, których restart jest wymagany ze względu np. na aktualizację bibliotek.

Ale i to nie wszystko. Jest kilka innych rzeczy, które nie aktualizują się, mimo zainstalowanych paczek, które spowodowały ich obecność w systemie:

  1. Flash od Adobe. Popularny na desktopach, spaczkowany – w specyficzny sposób – w Debianie w pakiecie flashplugin-nonfree, przy okazji podobno popularny wektor ataku. Aktualność swojej wersji Flasha można sprawdzić na stronie Flash Player check. Jakoś wolę ten sposób od strony Adobe. Aby zaktualizować wersję w systemie należy wydać polecenie:
    update-flashplugin-nonfree --install --verbose

    Oczywiście po powyższym trzeba zrestartować przeglądarki, żeby zmiana była efektywna.

  2. Java od Sun. Ze względu na zmianę polityki, niedawno Java od Sun przestała być aktualizowana, również w zakresie aktualizacji bezpieczeństwa w Debianie i Ubuntu. Jeśli nadal korzystasz z niej w systemie, jest spora szansa, że masz starą wersję, o której aktualizację musisz zadbać samodzielnie. Można też zmienić wersję na którąś z wolnych alternatyw.
  3. Mikrokod procesora. Jeśli posiadasz procesor Intela, to dostępne są aktualizacje mikrokodu od producenta. Co prawda bez tego też będzie działać, ale może udało się poprawić coś, co zwiększy wydajność? Sama instalacja pakietu microcode.ctlnie wystarczy, by zawsze mieć aktualną wersję zainstalowaną i wykorzystywaną w systemie. Aktualizację obecnego w systemie mikrokodu można wywołać ręcznie poprzez polecenie:
    update-intel-microcode

    Potem można przeładować mikrokod przy pomocy:

    /etc/init.d/microcode.ctl restart

    Począwszy od wersji Wheezy niestety jest to nieco bardziej skomplikowane i aktualizację mikrokodu w Debianie opisałem w osobnym wpisie.

Powyższe aktualne dla Debiana (głównie na desktopie, stąd nic o bazach wirusów, filtrach antyspamowych itp.), zapewne także dla pochodnych typu Ubuntu. Chyba, że tam jest to lepiej rozwiązane?

UPDATE: Przeładować owszem, można, ale jeśli dokonywana jest aktualizacja, to przeładowanie jest automatyczne.

UPDATE: Wzmianka o nowym sposobie aktualizacji mikrokodu we Wheezy.

Trawa jest bardziej zielona – ponownie.

Niektórzy to chyba się nigdy nie zmienią. Przeglądam stare wpisy o zmianie pracy i mam wrażenie, że nic się nie zmieniło, jeśli chodzi o moje podejście. Krótki opis sytuacji – jakieś dwa(? może nieco mniej, ale tak to odbieram; półtora roku przynajmniej) lata temu większość udziałów w obecnej firmie wykupiła inna firma. Wywołało to w owym czasie spore zamieszanie u nas, bo nikt nie wiedział, co będzie, jak będzie itd. Po jakimś czasie się sytuacja się ustabilizowała, wiele się nie zmieniło, wszyscy przeszli nad tym do porządku dziennego, praca toczyła się po staremu. Ale jakieś ziarno niepewności zostało.

Niedawno czynnie pojawiła się we władzach firmy osoba z firmy, która wykupiła większość udziałów. Kilka(naście) tygodni temu miła pani z HR przeprowadziła wywiady z ludźmi w firmie. Co kto robi, co mu się podoba, co nie, kompetencje. Taka prawie rozmowa rekrutacyjna. W sumie jedyną informacją jaką dostałem, było, że jak przejmują firmy to nie zwalniają raczej pracowników. Ale tyle to już zdążyłem wywnioskować. Dodając jeden do jeden wyszło mi, że koniec jest bliski (wbrew temu, co niektórzy pracownicy u nas twierdzili).

No i na początku grudnia dostałem oficjalną informację o wchłonięciu większej części obecnej firmy i propozycję bezproblemowego przejścia do firmy obok. Zmiana stanowiska, zmiana warunków pracy, z szansą na wyprostowanie pewnych upierdliwości, które tu od lat się nie zmieniły, a które z czasem stawały się coraz bardziej irytujące (głównie dyżury). Cóż, jak coś nie zmienia się od lat, to pewnie nie zmieni się nigdy… Wybór między niczym (bo nie dostaliśmy z firmy przejmującej żadnej informacji, jak widzą naszą pracę – stanowiska, warunki – po wchłonięciu) AKA czarną dziurą AKA chyba znowu zostanie po staremu, ale może coś się zmieni (pytanie czy na lepsze) a taką szansą był dość prosty. Została do załatwienia papierkologia i niefajny okres pracy poniekąd na dwa fronty.

Żałuję rozstania z dotychczasową ekipą, bo była naprawdę rewelacyjna i dająca radę z różnymi dziwnymi rzeczami (ilość R’n’D w pracy była zacna, nowości też, trochę szkoda, że nie do końca się to – z różnych względów – na wdrożenia produkcyjne przekładało). Ale nową ekipę znam i też wygląda OK (nie chwaląc dnia przed zachodem słońca). Zresztą ze starą ekipą mam nadzieję utrzymać kontakt, nie tylko zawodowy. Jak będzie, zobaczymy za kwartał, może pół roku. W każdym razie coś się kończy, coś zaczyna.

Zresztą, chyba coś dziwnego na rynku pracy się dzieje, bo prawda jest taka, że ostatnio (powiedzmy ostatni kwartał) wszyscy dookoła zmieniają pracę, a im bliżej końca roku, tym więcej ludzi zmienia. Poczynając od firm, z którymi współpracujemy, po znajomych z netu. Zresztą, właśnie niedawna rozmowa ze znajomym z netu zasiała spore wątpliwości co do sensu dotychczasowej sytuacji. Więc tak czy inaczej do końca stycznia (no, może do końca lutego) musiało się coś zmienić…

I tyle zamiast podsumowania roku 2011 (ten wpis nie miał być w żaden sposób podsumowaniem roku), który był rokiem bardzo mieszanym – trochę plusów, trochę minusów. Jak zwykle. Generalnie nie oceniam go źle.