System operacyjny MINIX 3 został częściowo przeniesiony na architekturę ARM. Deweloperzy dopasowali i skompilowali większość funkcji MINIX 3.2.1, jednakże brakuje jeszcze: bufora ramek i obsługi sieci. Aktualnie wspieranym sprzętem są: BeagleBoard i BeagleBone. Całość została wydana na licencji BSD i udostępniona na serwera. Twórcy mają zamiar poszerzyć obsługiwany sprzęt o produkty Texas Instruments i AllWinner.
Krzysztof Zubik liked this on Facebook.
Michał Olber liked this on Facebook.
Moze glupie pytanie ale na czym polega tak wlasciwie portowanie systemow? Domyslam sie, ze pewnie trzeba zaimplementowac jakies najbardziej podstawowe funkcje na innej platformie. Tzn. jesli mamy funkcje o jakiejs nazwie to trzeba stworzyc funkcje o takiej samej nazwie, ktora ma takie seme parametry i zwraca to samo ale jej wnetrze moze to robic w zupelnie inny sposob – w zaleznosci od platformy. Jesli sie nie myle i tak to wyglada to gdzie moge znalezc np liste takich podstawowych funkcji dla np linuxa, ktore musza byc stworzone aby cala reszta systemu mogla juz swobodnie dzialac?
Specem również nie jestem, jednakże w dużym stopniu trzeba po prostu przepisać instrukcje z jednej architektury procesora na inną. A to już samo w sobie jest sporą ilością pracy.
W sumie nie wiele to wyjasnilo a nawet jest to mniej szczegolowe niz moje pytanie ;) Czy znasz moze przyklad takiej funkcji, ktora musi byc przepisana np w linuxie albo czy istnieje gdzies lista takich?
Poszukajcie sobie po prostu w jądrze części pisanych w assemblerze – 100% z nich trzeba przepisać – potem jeszcze może pare driverów. Reszta się ma skompilować bez zająknięcia.
A co np z definicjami pamieci/rejestrow? One nie musza byc poprawiane?
Chodzi mi o cos w tym stylu jak naglowki Freddiego dla roznych typow uC ARM:
freddiechopin.info/pl/download/category/9-rozne
One przeciez nie sa pisane w asm a tez musz byc poprawiane w zaleznosci od uC. Czy to nie dotyczy linuxa / minixa?
Te nagłówki opisują parametry peryferiów w SoC i sposób komunikacji z nimi, tak by była jednolita na wyższych warstwach abstrakcji systemu.
Rozumiem, ze te pliki bardziej potrzebne sa do sterownikow, ktore juz sie pisze jako moduly, niz samemu kernelowi. A co np z MMU, ktore jest potrzebne do odpalenia linuxa czy ono jest obslugiwane na kazdym uC tak samo? Z dotychczasowych odpwiedzi wnioskuje, ze podstawy linuxa sa napisane w asm i reszta jest oparta na tych wlasnie funkcjach (i to je nalezy portowac). Wracajac do pytania czy jest gdzies spis takich najabardziej elementarnych funkcji, na ktorych jest pozniej zbudowany linux? Ewentualnie czy moglbym prosic o nazwe przynajmniej jednej z nich abym mogl sobie zobaczyc jak ona wyglada, co robi?
Tu masz prezencje, które wszystko opisują.
http://free-electrons.com/doc/kernel-porting.pdf
http://elinux.org/images/e/e3/Masters-PortingLinux.pdf
http://www.linux-arm.org/pub/LinuxKernel/WebHome/aleph-porting.pdf
Dzieki wielkie ostatni link jest tym co bylo mi potrzebne :)