Raspberry Pi uruchomione (testowo)

Pisałem, że nie kupię Raspberry Pi, więc jak uruchomione? Ano nie kupiłem, ale mam. Dostawali je wszyscy uczestnicy konferencji Atmosphere. Skoro leży i się kurzy, to warto przynajmniej spróbować uruchomić. Tym bardziej, że lubię maszynki z ARM i lubię Linuksa.

W związku z rozgardiaszem okołoprzeprowadzkowym, leżało i czekało znacznie dłużej, niż wypada. A to nie chciało mi się bawić na starym lokum, a to zaginęło gdzieś w kartonach, a to ważniejsze rzeczy do zrobienia. W końcu zdecydowałem się i kupiłem zasilanie (hub USB Unitek Y-206P – goły zasilacz kosztuje podobnie, a więcej portów USB i tak się przyda) i przymierzyłem obudowę z papieru (nie zdecyduję się, może ew. z grubszego kartonu spróbuję jeszcze; ciekawa lista obudów różnej maści dla Raspberry Pi jest tutaj). Okazało się, że wszystko fajnie, ale brakuje mi kabla USB oraz… karty SD. Chociaż jakieś microSD przecież kupiłem, specjalnie do Raspberry Pi, na wakacjach!

W końcu zebrałem się do szybkiego uruchomienia, pożyczyłem kabel od telefonu (ave standaryzacja!), a karta mikroSD i przejściówka się znalazły. Oczywiście karta inna, niż kupiona, ale mniejsza z tym.

Raspberry Pi

Źródło: http://blogs.it.ox.ac.uk/nexus/2012/03/09/raspberry-pi/

Jako dystrybucję wybrałem Raspbiana. W końcu dedykowany dla RPi i oparty na Debianie. Wiele złego mógłbym o nim napisać[1], ale pokrótce: dają obrazy na kartę min. 4GB, co uważam za grube nieporozumienie, bo podstawowy system spokojnie powinien wejść na 1 GB, a na ciut większą kartę to z luzami. Kolejna sprawa: domyślne IP i logowanie do systemu. Może jestem ślepy, ale nie znalazłem danych do logowania podczas lektury instrukcji[2]. W FAQ też nie. Dla pamięci: użytkownik pi, hasło raspberry, a Raspberry Pi z zainstalowanym Raspbianem pobiera domyślnie adres IP z DHCP. Kolejne drobiazgi: w /etc/fstab # a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that, po czym okazało się, że /sbin/dphys-swapfile: POSIX shell script, ASCII text executable. Nie przepadam za taką automatyzacją.

W każdym razie uruchomiłem, wygląda, że działa. Hub USB Unitek Y-206P daje radę z RPi (tylko jedno połączenie z portu USB w hubie do gniazda z zasilaniem Raspberry Pi). W sumie śmieszna konstrukcja, ale ktoś polecał do RPi. Maleństwo w metalowej obudowie, z badziewnym srebrzeniem. Zasilacz 2A, ale na całego huba. Nie sprawdzałem multimetrem, ale czuję, że olewa standardy i daje ile może na poszczególne porty. W sumie o to chodziło. 😉

Potem wszedłem na kanał IRC dedykowany Raspbianowi, by zgłosić bugi i… zaczął się hardcore. Ale o tym to już innym razem napiszę.

[1] I napiszę niebawem, bo poziom porażki zasługuje na oddzielny wpis.

[2] Jestem ślepy, przy pobieraniu obrazu dane do logowania są podane. Spodziewałbym się jednak tego typu informacji raczej w FAQ i/lub release notes. A najbardziej w README.

UPDATE: Okazuje się, że nie tylko dają obraz dla SD o wielkości 4 GB, z włączonym domyślnie swapem, ale ext4 przychodzi z włączonym journalingiem. Na obrazie dedykowanym dla nośnika flash. Z rozmowy na IRC – won’t fix, it’s not a bug, it’s a feature. I ma chronić przed uszkodzeniami systemu plików przy zanikach zasilania. Trochę mi słabo.

Raspbian, czyli Linux dla Raspberry Pi

Niedawno pojawiła się dystrybucja, będąca pochodną Debiana, która wypełnia „dziurę” między debianowymi architekturami armel oraz armhf. Jej celem jest wykorzystanie w pełni możliwości procesora Raspberry Pi. O różnicach w architekturach więcej pisałem we wpisie dlaczego nie kupię Raspberry Pi. Raspbian, bo tak nazywa się dystrybucja, oferuje architekturę armhf (inną niż w Debianie). Dzięki temu system, a szczególnie multimedia, mogą działać szybciej, niż w przypadku zwykłego Debiana. Przyspieszenie w działaniu zależy od aplikacji i typowo wynosi 10-20%. Dokładny benchmark Raspbiana tutaj.

Projekt jest rozłączny z Debianem, mieszanie pakietów Raspbiana zarówno z debianową architekturą armel, jak i armhf nie jest możliwe (a przynajmniej jest mocno odradzane).

Dlaczego nie kupię Raspberry Pi

Pierwsze egzemplarze Raspberry Pi dotarły parę dni temu do nabywców w Polsce, pojawiają się pierwsze recenzje i zachwyty. FullHD, mało prądu[1], działa Linux – wydawać by się mogło, że pełna sielanka. Jednym okiem śledzę nowinki ze świata komputerów opartych na ARM, szczególnie pod kątem Linuksa. Mam domowy serwerek (głównie router) z Debianem działającym na Dockstarze. I już wcześnie pisałem, że sytuacja ARM i Linuksa nie jest różowa.

Od czasu tego ostatniego wpisu minęło trochę czasu, sytuacja stopniowo poprawia się, jeśli chodzi o wsparcie dla Linuksa. W Debianie pojawi się (prawdopodobnie już we Wheezy) nowa architektura ArmHardFloatPort. Stwierdziłem, że sprawdzę, czy przypadkiem da się z niej skorzystać na Dockstarze (nie, nie da się), w międzyczasie zakręciłem się w oznaczeniach, więc zadałem pytanie na forum Dockstara, a jedna z odpowiedzi bardzo otworzyła mi oczy na sytuację i jest inspiracją dla tego wpisu. Gorąco polecam lekturę całego wątku w oryginale, ale dla tych, którzy nie mają czasu lub możliwości skrót głównej myśli poniżej.

Otóż Raspberry Pi jest drogi i przestarzały. Niby miało być 35 dolarów, ale w praktyce jest to minimum 35 euro. Za sprzęt bez portu SATA, z 256 MB RAM (piszcie co chcecie, ale to stanowczo za mało na desktop, pracowałem ostatnio na niecałych 400 MB), bez obudowy (pewnie prędzej czy później pojawią się za ok. 10 dolarów, plus wysyłka) i bez zasilacza. Przede wszystkim jednak jest to sprzęt, na którym nowa, wydajniejsza architektura nie zadziała w ogóle. Z tego samego powodu nie zadziała na Raspberry Pi Ubuntu.

Pojawiła się alternatywa w postaci Gooseberry (płyta z tabletów), która jest oparta na nowszym, wspierającym armhf procesorze i oferująca 2-3 razy większą wydajność, 512 MB RAM, ale też ma wady, przede wszystkim cenowe, szerzej omówione w wątku na forum. Ogólnie myśl jest taka: Raspberry Pi jest tragicznie przestarzałe i drogie, Gooseberry to goła płyta z tableta, dopłacając minimalnie, można mieć tablet, czyli kompletne urządzenie, z ekranem, obudową, zasilaczem itd. Ale sugestia jest taka, by kupić po prostu Mele A2000 za 90 dolarów (z wysyłką do Polski). Trochę drożej ale dostajemy 512 MB RAM, port ethernet, normalne SATA, HDMI, VGA i obudowę. I – przede wszystkim – nowszą architekturę, nad którą pracuje większość developerów różnych dystrybucji Linuksa.

Oczywiście, zapewne pojawi się, przynajmniej początkowo, jakaś dystrybucja wspierająca Raspberry Pi. Można też będzie samemu rekompilować z odpowiednimi aktualizacjami. Ale powoli będzie się to coraz bardziej rozjeżdżać między główną linią Linuksa na ARM i wymagać coraz więcej pracy w utrzymaniu.

Oczywiście mówię o zastosowaniach, gdzie rozmiar płytki i pojedyncze W różnicy w poborze prądu mają drugorzędne znaczenie i bardziej o desktopach. Mój Dockstar jest równie przestarzały, ale jako router i domowy serwer pewnie będzie wystarczający jeszcze długie lata. Ale nigdy nie był kupowany z myślą o podłączaniu do niego monitora i korzystaniu z graficznego środowiska.

[1] No dobrze, niby mało, ale lepiej się dało. Prosta (ideowo, niekoniecznie prosta do wykonania, bo wymaga lutowania na płytce) modyfikacja pozwala na zmniejszenie poboru prądu w Raspberry Pi o 25%.

UPDATE: Pojawiła się kolejna alternatywa dla Raspberry Pi – ODROID-X. Co prawda aż 130 dolarów za gołą płytkę, ale czterordzeniowy procesor 1,4 GHz, 1 GB RAM i mocne GPU, więc chyba najbliżej sensownego desktopu. Oczywiście nowa architektura procesora ARM. Raczej nie będę już aktualizował tego wpisu o kolejne sprzęty – ten pojawił się po prostu krótko po zamieszczeniu wpisu.

UPDATE: Długo nie trzeba było czekać – na Allegro już pojawiają się praktycznie nieużywane egzemplarze Raspberry Pi. Ceny nie podam, bo nie ma kup teraz, tylko licytacja (ok. 100-150 zł w tej chwili). A sprzedający nowe sztuki życzą sobie 250 zł i więcej za gołą płytkę. Plus minimum 20 zł za pseudoobudowę (dwie płytki akrylu z przerwą) i 40 zł za „oryginalny zasilacz”. W zamian jedynie faktura i szybsza dostawa. No i ew. gwarancja/rękojmia. Tyle, że to drożej niż Mele A2000. Przy okazji, info dla oszczędzających: pojawiła się wersja oznaczona Mele A100, która jest wykastrowana z SATA, ale za to 10 USD tańsza. IMO nie warto, chyba, że ktoś na pewno nie chce dysku podłączać.