Presentation for exploration of Linux on BeagleBoard and BeagleBoard XM, made for the course Programming Industrial Embedded Systems on University of Zagreb Faculty of Electrical Engineering and Computing, held in 2012
4. BeagleBoard
• Nema etherneta
– samo emulirana veza preko USB-a
• Malo USB konektora
– nužno korištenje USB HUB-a
• Serijska veza sa RS-232
naponskim nivoima, a bez RS-232
konektora
– potreban adapter
• Prilikom izrade su bili preškrti
6. BeagleBoard + Angstrom Linux
• Angstrom – „službeno podržana” distribucija *
– Općenita embedded distribucija, nije vezana uz BeagleBoard
• Demo slika ima svoje probleme
– Potrebna je dodatna ručna konfiguracija kako bi se osposobilo
serijsko sučelje prema sustavu
– USB emulacija mreže ne funkcionira
– Relativno star kernel
• Ipak, dobro je za naučiti kako to sve zajedno funkcionira.
– Upute vrijede i za druge distribucije
* http://downloads.angstrom-distribution.org/demo/beagleboard/
7. BeagleBoard + Angstrom Linux II
• Izgradnja novije verzije Angstroma, s novijim kernelom
koji nema problema sa mrežom preko USB-a
• Koristi OpenEmbedded*
– radni okvir za izgradnju embedded Linux sustava
– skup dodatnih patcheva i skripti za izgradnju sustava
• Konačno osposobljena mreža preko USB-a
• Ne funkcionira izgradnja kernel modula
– teško je doći do valjanog izvornog koda kernela koji se trenutno
koristi
* http://www.openembedded.org/wiki/Main_Page
8. BeagleBoard - pristup mreži preko USB-a
reboot ≠ isključi pa uključi uređaj
USB mreža na BeagleBoardu koji sam imao na raspolaganju ne radi
nakon reboota - potrebno je fizički isključiti uređaj iz struje i ponovno
ga uključiti
9. BeagleBoard - pristup mreži preko USB-a
• Osim samog omogućavanja mreže potrebna je i malo
kompleksnija mrežna konfiguracija *
• Da bi BeagleBoard spojen na računalo imao pristup
Internetu potrebno je konfigurirati računalo (NAT, IP
masquerade)
• BeagleBoard ne može na Internet bez nekog računala
* Hvala Andrei Samaržiji na pomoći oko mrežne konfiguracije
11. BeagleBoard - emulacija QEMU-om
• QEMU omogućuje emulaciju nekih ARM sustava,
uključujući i BeagleBoard
• Implementacija bi mogla biti i bolja
• Prilikom emuliranja Angstroma na BeagleBoardu
funkcionira grafičko sučelje i sustav se podiže bez
problema, ali mrežno sučelje ne funkcionira
14. BeagleBoard XM
• Ima pravi ethernet
• Ima pravi serijski port
• Ima 4 USB host priključka + 1
USB on-the-go priključak
• Prilikom izrade nisu škrtarili, ovaj
je BeagleBoard XM puno
konkretniji proizvod od
originalnog BeagleBoarda
16. BeagleBoard XM + Debian
• Dostupne su skripte za vrlo laku pripremu sustava za pokretanje *
– spoje se na web, skinu što treba i same konfiguriraju SD karticu
• Sustav se brzo i jednostavno priprema za podizanje
• Testirana je mreža i HDMI izlaz – funkcioniraju normalno
• Koristi se izmijenjen i vrlo nov kernel
– do izvornog se koda može samo preko githuba – teška konfiguracija sustava za
izgradnju kernel modula
* http://elinux.org/BeagleBoardDebian
17. BeagleBoard XM + Linaro
• Linaro je organizacija osnovana 2010 koja se bavi
prilagodbom Linux softvera ARM arhitekturi *
– imaju 120 inženjera u različitim kompanijama
• Trenutno nude prilagođene Android, OpenEmbedded i
Ubuntu distribucije
– ovo super funkcionira
• Isproban je Ubuntu
– sve funkcionira kao na x86 sustavima
* http://www.linaro.org/
20. BeagleBoard XM + QEMU
• Na qemu-system-arm radi sam Linaro
• Sustav baziran na BeagleBoardu se bez problema podiže,
ali bez grafičkog korisničkog sučelja
• Mreža funkcionira!
• Treba još istraživati, ovo ima potencijala
21. Zaključak
• BeagleBoard XM je veliki napredak u odnosu na
BeagleBoard
• Problem je velika segmentacija Linux distribucija
• Treba se držati hardvera uz koji stiže i službeni podržani
softver
• Komercijalne Linux distribucije itekako imaju smisla
23. A što dalje?
• Istraživanje Linaro QEMU podrške, treba naći emulirani
QEMU hardver na kojem dobro funkcionira embedded
Linux
• Osposobljavanje cross-compile lanca koji cilja na
BeagleBoard platformu
• Razvoj aplikacija