SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

MarsBoard RK3066 oprócz współpracy z systemem operacyjnym Android, może działać również pod kontrolą Linuksa. Producent tego urządzenia przygotował swoją odmianę dystrybucji PicUntu oznaczonej numerem 0.9 RC2.2 (bazującej Ubuntu Qantal 12.10). Na stronie domowej MarsBoard możemy wybrać jedną z trzech jego odmian:

  • uruchamianą z pamięci NAND Flash z obsługą ekranu dotykowego HY070CTP-A
  • urcuhamianą z pamięci NAND Flash z obsługą HDMI
  • oraz uruchamianą z karty microSD z obsługą HDMI

Instalacja w pamięci NAND Flash z obsługą HDMI

Do wgrania PicUntu w wersji HDMI do pamięci NAND Flash będziemy potrzebować specjalnego narzędzia o nazwie upgrade_tool (do pobrania z tego miejsca)

  1. # mkdir marsboard
  2. # cd marsboard/
  3. # wget http://www.haoyuelectronics.com/service/RK3066/tools/linux/Linux_Upgrade_Tool_v1.16.zip
  4. # unzip Linux_Upgrade_Tool_v1.16.zip
  5. # chmod +x upgrade_tool

Rzecz jasna, będziemy również potrzebowali obrazu systemu w wersji HDMI:

  1. # wget http://bit.ly/1fRx81u -O picuntu-0.9-RC2.2-HDMI-NAND.img.7z
  2. # 7z x picuntu-0.9-RC2.2-HDMI-NAND.img.7z

Aby mieć możliwość wgrania obrazu do pamięci NAND Flash, musimy uruchomić płytkę w trybie Recovery. W tym celu podczas podłączania do portu USB OTG należy przytrzymać przycisk "SW1". Po tym zabiegu powinniśmy zobaczyć w naszym systemie urządzenie, wydając polecenie lsusb:

  1. # lsusb
  2. Bus 003 Device 012: ID 2207:300a

Kiedy wszystko jest gotowe, możemy przystąpić do "wypalenia" obrazu:

  1. # sudo ./upgrade_tool uf nazwa_naszego_obrazu.img

I gotowe! Po chwil powita nas pulpit GNOME, do którego logujemy się za pomocą hasła: marsboard.

Jak widzimy, rozmiar pamięci NAND nie pozwala nam na wiele manewrów - 2GB to odrobinę krucho jak na PicUntu. Ale o tym dalej. Na początek zajmiemy się konfiguracją połączenia sieciowego.

Konfiguracja Wi-Fi

MarsBoard RK3066 jest dostarczane razem z kartą sieciową USB Wi-Fi Mercury (RTL8188EU) w komplecie. Karta ta (co się komu trafi) może być wykryta jako interfejsy wlan0 - wlan3. Wypadałoby się więc dowiedzieć, pod jakim interfejsem jest dostępna nasza karta sieciowa wydając polecenie: sudo iwconfig. Mając już tą świadomość, możemy przystąpić do konfiguracji połączenia w programie wicd.

W polu "Wireless interface" wpisujemy nasz interfejs i zatwierdzamy przyciskiem OK. Wybierając zakładkę Refresh powinniśmy już widzieć otaczające nas punkty dostępowe sieci bezprzewodowych.

 

Instalacja na karcie pamięci uSD z obsługą HDMI

Jak wspomniałem wcześniej, 2GB pamięć NAND jest pewną przeszkodą, a bootloader dla układu RK3066  jest niestety oprogramowaniem zamkniętym, dlatego uruchomienie systemu musi odbywać się wyłącznie z pamięci NAND Flash. Można jednak odpowiednio skonfigurować start jądra systemu ze wskazaniem karty pamięci SD jako nośnika systemu plików rootfs. Będziemy potrzebowali tym razem dwóch obrazów. Jeden do "wypalenia" w pamięci NAND Flash oraz drugi, przeznaczony dla karty SD. Ponownie korzystamy z narzędzia upgrade_tool w trybie recovery.

  1. # wget http://bit.ly/1j04XCQ -O MarsBoard_RK3066_HDMI_boot_from_sdcard_rootfs_v1.1.img
  2. # wget http://bit.ly/NQ3Jho -O  MarsBoard_RK3066_PicUntu_sd_rootfs.img.tar.gz
  3. # tar -zxvf MarsBoard_RK3066_PicUntu_sd_rootfs.img.tar.gz

Wypalamy pamięć NAND Flash:

  1. # sudo ./upgrade_tool uf MarsBoard_RK3066_HDMI_boot_from_sdcard_rootfs_v1.1.img

a następnie kartę SD:

Uwaga! Należy zwrócić szczególną uwagę na urządzenie docelowe /dev/sdX, abyśmy przypadkiem nie wykasowali sobie ważnego dysku. Karta pamięci musi mieć minimum 4GB.

  1. # sudo dd if=marsboard-picuntu-linuxroot-0.9-RC2.2-lubuntu-desktop-rfs.img of=/dev/sdX

Kiedy wszystko przebiegnie sprawnie, wkładamy kartę microSD do slotu pamięci i odpalamy MarsBoarda.

Domyślnie partycja rootfs posiada rozmiar 3GB, jeśli mamy kartę pamięci o większej pojemności, w prosty sposób możemy zwiększyć jej powierzchnię wydając jedno polecenie:

  1. # sudo resize2fs /dev/mmcblk0

Jeśli mamy na to ochotę, możemy również zaktualizować nasz system:

  1. # sudo apt-get update
  2. # sudo apt-get upgrade

Nie zalecam jednak proponowanej aktualizacji systemu do wersji Ubuntu 13.10 Saucy Salamander.

Problemy z połączeniem Ethernet

W obecnej wersji PicUntu dla MarsBoard RK3066 występuje problem z działaniem portu Ethernet. Nie jest to wina ani systemu, ani jądra systemu. Obecny obraz zawiera bootloader w wersji 1.22, który ma kłopoty z jego inicjalizacją. Problem ten nie występuje podobno w bootloaderze w wersji 2.07. Jak sobie z tym poradzić? Jeszcze nie wiem :) Ale próby i rozmowy trwają.

Wgrywanie nie powiodło się?

Może zdarzyć się sytuacja, że wgrywanie nowego systemu do pamięci NAND Flash zakończy się niepowodzeniem, wyświetlając komunikat "Download Firmware Fail".

Najczęściej może się to przytrafić, gdy zapisujemy system po raz kolejny. Nie należy panikować - wystarczy uprzednio sformatować NAND-a wydając polecenie:

  1. # sudo ./upgrade_tool lf

Co dalej?

Jak to zwykle bywa z działaniem Linuksów z układem graficznym Mali 400 nie ma zaskoczenia. Akceleracja sprzętowa 3D OpenGL ES i dekodowanie materiałów filmowych nie jest jego mocną stroną. Co wcale nie czyni go produktem słabym, czy przeciętnym. Dwa rdzenie Cortex A9 1.6 GHz doskonale sprawdzą się w rozwiązaniach mini-serwera domowego do szerokiej gamy zastosowań (o czym będziecie mogli poczytać w kolejnych częściach). Dotykowy wyświetlacz pojemnościowy LCD za rozsądną cenę to także spory atut otwierający przed Marsem wiele drzwi do zastosowań bardziej wygustowanych. A wszystko to kosztem maksymalnie 5W. Podczas powyższych testów MarsBoard RK3066 przez zdecydowaną większość czasu zadowalał się poborem energii na poziomie jedynie 2.5W.

Oczywiście nie byłbym sobą, gdybym nie przygotował własnej dystrybucji, uzupełniającej obecne niedociągnięcia. Macie jakieś pomysły na nazwę kodową? :)

Kontakt z producentem na forum oceniam jako dobry. Zaangażowanie jest również OK - wiki jest ciągle aktualizowane o nowe poradniki, takie jak: kompilacja, konfiguracja czy wykorzystanie GPIO. Pamiętajmy, że przygotowane obrazy systemów są pierwszymi wersjam, więc należy dać im kredyt zaufania w oczekiwaniu na kolejne wydania.


Sprzęt do testu dostarczył sklep
ArduinoSolutions.

Komentarze Komentarze
Avatar 1
mt12345 Linux / Mozilla Firefox 11.0
18 May 2014 - 23:55 Brak informacji

ktore chipsety maja dobry support pod linuxem skoro Mali400 ma raczej slaby?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 29.0
19 May 2014 - 21:32 Bytom

Chyba tylko Tegra :) ale jeszcze nie miałem styczności: http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html

Ogólnie z układami graficznymi w ARM nie jest za ciekawie, jak wiesz wszystko oprócz KDE dobrze biega na OpenGL, czego ARM nie ma (no poza Jetson TK1). Póki co najlepiej pracowało mi się na Odrdoid-X2 / U2 / U3 oraz wszelkiej maści pracującej na Allwinner A10. Na dniach będe przyglądał się maszynkom na Allwinner A20.

Wszystko zależy czego potrzebujesz, ale o OpenGL bym raczej zapomniał.

Avatar 1
Magnus Windows 7 / Safari 537.36
02 July 2014 - 09:12 Brak informacji

Widzę że producent dodał nową wersię ubuntu 14.04 a img na sd są wrzucone do katalogu old. no i jest problem z internetem ethernet z systemem na karcie sd mam nadzieje że coś się niebawem zmieni. ale mam drugie pytanie jak zrobić kopie zapasową NAND Flash myślę o dd if=/dev/sdb of=/root/obraz.img?

Avatar 1
Rafal Windows 7 / Safari 537.36
06 July 2014 - 11:23 Poznań

Bootloader do RK3066 mozna zakutalizowac flashujac nand rkbatchtoolem, przez *.img typu recovery(zawierajacy odpowiedni bootloader,paramter i reszte) Bootloadery leza tu i tam ;)

Avatar 2
igor Linux x86_64 / Mozilla Firefox 31.0
25 October 2014 - 21:54 Brak informacji

Odgrzeję stary wpis :) Jak długo startuje Linux na MarsBoard?

Przymierzam się do zbudowania media center i zastanawiam się czy to nie będzie problem.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 31.0
26 October 2014 - 17:00 Bytom

Niestety oddałem już Marsa :( ale z tego co pamiętam, to niedługo :)

Avatar 1
Adix Windows / Mozilla Firefox 41.0
24 October 2015 - 21:46 Warszawa

Witam. Mam takie pytanie, bo praktycznie nie znam się na Linuxie - czy na tym systemie postawionym na MarsBoard zainstaluję aplikacje które chodzą na Linuxie instalowanym na PC? W sensie czy nie będzie problemu ze zgodnością architektór - tutaj ARM tam Intel?