Zawieszanie w wykonaniu Androida.

Gdy poprzednio pisałem o Androidzie na tablecie nie byłem zachwycony. Jestem parę miesięcy używania później i coraz bardziej utwierdzam się w przekonaniu, że to nie to. Zdecydowaną większość rzeczy wolę robić jednak na komputerze przenośnym. Jakość konsumpcji treści, tj. czytania tekstów również niczego nie urywa. Komórka jednak dużo mniejsza, lżejsza i wygodniejsza w trzymaniu. Ale parę zastosowań się znalazł.

Ostatnio miałem przygodę. Zwykle jak nie korzystam z tabletu, to po prostu blokuję ekran i zostawiam go podłączonego do ładowarki. Ostatnio dłuższy czas nie używałem, zerkam, a tam ekran bootowania z animowanym napisem Android. Pomyślałem, że się rebootnął i – z lekkim uśmiechem – że chłopaki z Google skiepścili sprawę, bo Linux się nie wiesza[1], ale kolejne zerknięcia parę godzin później ujawniło, że to zwis.

Nie pomogło odpięcie od ładowarki, krótkie ani długie wciskanie przycisku power. Za to reagował na klawisze dotykowe na obudowie. Skończyło się tak, że zostawiłem go, żeby się rozładował z nadzieją, że się włączy. No i tym razem się udało.

Incydent przypomniał mi, że miałem poćwiczyć bootowanie Debiana na tym urządzeniu. Szybkie poszukiwania zaowocowały odkryciem, że obrazy systemu Wheezy dla tabletów (nieoficjalne oczywiście) zniknęły. A szkoda, bo genialnie uprościłyby sprawę. Tak czy inaczej jak tylko coś zdziałam w tym temacie, to nie omieszkam opisać.

[1] Linux też się wiesza. Tylko pomijalnie rzadko i zwykle deterministycznie, tj. za sprawą np. skopanego modułu.

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.

 

Jak naprawiłem Libre Office 3.5.4 w Debianie.

Niedawno chciałem odczytać jakiś dokument w formacie .doc i okazało się, że Libre Office nie startuje. Pojawiała się plansza logowania i tyle. Potrzebowałem tylko odczytu, więc zwaliłem na Debiana w wersji unstable, locale ustawione na iso-8859-2, więc użyłem sąsiedniego kompa, skonwertowałem do PDF i zapomniałem o sprawie.

Jakiś czas później chciałem coś napisać, więc wróciłem do sprawy. Uruchomienie z wiersza poleceń, zmiana locale itp. nie pomogły. Jedyny komunikat, który dostałem, zawierał:

com::sun::star::uno::RuntimeException

Podejrzewałem Debiana unstable, więc szybkie sprawdzenie bugów i jest jeden #641412, w miarę pasujący opisem, ale niestety bez rozwiązania. Spróbowałem Google i tu efekt był lepszy. Znalazłem tę stronę [SOLVED] LibreOffice 3.5 error: Missing vcl resource. Tytuł optymistyczny.

Zainstalowałem pakiet libreoffice-gnome, tym razem przy uruchomieniu w oknie pojawiła się informacja o braku praw do pliku. Faktycznie, jeden z katalogów z plikami konfiguracyjnymi miał właściciela root. Usunąłem (z roota) ~/.config/libreoffice ~/.config/.libreoffice oraz ~/.config/.openoffice.org (ostatnia nazwa niedokładna), uruchomiłem Libre Office… Tadam!