Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

BeagleBoard -xM - error przy boot-owaniu.

18 Sty 2012 23:45 1189 5
  • Poziom 21  
    Witam.
    Nie ukrywam iż bardzo liczę na Waszą pomoc ponieważ nie bardzo wiem jak rozwiązać ten problem a w sieci nie znalazłem kompletnie nic. Postawiłem sobie arch linuxa na karcie micro SD. Oczywiście wersja na omapa, wszystko jest poprawie. Po włożeniu karty do BB, wywołaniu minicoma i podłączeniu do prądu BB otrzymuję błąd o numerze 60. Tak sam błąd dostaję gdy podłączę BB do prądu bez karty w slocie. I teraz nie wiem, czy winna jest struktura danych na karcie micro SD (bo to wygląda tak jakby nie widział bootloadera a on tam jest na 100%) czy też winne są parametry startowe. Parametrów startowych nie zmieniałem. Kartę z Archem uruchamiałem na tych samych parametrach startowych co standardowego Angstroma. Angstrom startuje bez problemu. Patrzyłem jeszcze inny system na inne karcie i jest to samo. Nie sądzę aby obie karty z systemami były źle przygotowane. Brak zupełny pomysłów co może być nie tak dlatego jeśli Ktoś z Was spotkał się z podobnym problem to bardzo proszę o wiadomość. Ja oczywiście będę jeszcze sam z tym walczył ale nie wiem czy się uda. Z góry bardzo dziękuję z pomoc.
    Pozdrawiam.
  • Pomocny post
    Poziom 10  
    a MLO masz na karcie?
    To co ci się pojawia na ekranie, to nie błąd tylko próba pobrania softu przez uarta gdy nie wykryto softu na karcie.

    przyczyny mogą być dwie:
    1. nie masz MLO(x-loader) na pierwszej partycji(koniecznie fat), lub jest on niepoprawny
    2. masz niepoprawnie przygotowaną kartę tzn cała geometria, partycje(właściwie to tu wchodzi w grę tylko pierwsza partycja, pozostałe są zależne od u-boota i kernela) itp.

    w pierwszym przypadku, wystarczy wziąć oryginalnego MLO do XMa - jest to rzecz niezależna od tego, którego linuxa używasz.

    w drugim - użyć googli do znalezienia jak ma być sformatowana karta. Tu już mogą być różnice w rozkładzie partycji, ale pierwsze kroki są zawsze takie same.

    np tu: http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat do momentu tworzenia partycji linuxowych wszystkie kroki powinny być takie same (może się ew różnić rozmiar partycji FAT)

    PS.
    Mam nadzieję, że umiesz angielski bo po polsku źródeł raczej nie znajdziesz za wiele.
  • Poziom 21  
    Dzięki za odpowiedź. MLO niestety chyba nie mam a przynajmniej ja sam tam nic takiego nie wrzucałem. Angielski umieć muszę bo generalnie do tego co robię mało materiałów jest po polsku i mało jest na polskich forach :). A czy np ustawienie sektorów, głowic itd na karcie pamięci, generalnie cała struktura karty ma jakieś znaczenie w tym przypadku?

    Dla wyjaśnienia napiszę że moje pytanie dotyczy wyłącznie kwestii takiej technicznej karty, sektory, cylindry itd, nie samego formatowania. Sama karta wydaje mi się że została sformatowana i ustawiona poprawnie. Robiłem to zgodnie z tym: http://archlinuxarm.org/platforms/armv7/beagleboard-xm i żadnych błędów czy komplikacji po drodze nie było więc wnioskuję że sformatowanie jest poprawne. Zresztą pod linuxem kartę widzi i partycja główna ma format FAT16.

    Jeszcze pozwolę sobie zapytać, to MLO mogę wziąć z oryginalnego Angstroma i go po prostu przerzucić, dobrze rozumiem? Znajdę go na karcie bez problemu, w sensie jaka jest jego nazwa, jak ten plik się nazywa. Niestety teraz tego nie sprawdzę bo mam to wszystko w domu a teraz jestem w pracy i dopiero wieczorem będę mógł poszukać.
  • Pomocny post
    Poziom 10  
    Co do geometrii karty, to nie wiem jak na obecnych omapach. 3530 chyba miał tak że na sztywno miał parametry karty i jak któraś miała inaczej to nie był w stanie czytać, ale procek z XMa i może nowsze 3530 mogą to mieć już poprawione. Ja dla pewności zmieniałem zawsze nawet dla 4430 i AM3359;)

    Co do MLO to jest wszędzie ten sam, więc może być z angstroma. Jeśli karta angstromowa ci wstaje, to na pewno tak jest.

    Generalnie to sprawa wygląda tak, że w omapie jest 3 stopniowy proces bootowania.
    Pierwszy bootloader znajduje się w romie procesora i jego zadaniem jest załadowanie drugiego bootloadera z pamięci/peryferium. twoje "60" po uarcie oznaczało próbę załadowania drugiego boota z uarta, ponieważ nie znalazł go na karcie. Bootloader drugi to właśnie MLO i tak ma się nazywać na karcie. Z racji że jego maksymalny rozmiar jest dość znacznie ograniczony jego zadaniem jest zainicjalizowanie wszystkiego co potrzebne do załadowania bootloadera trzeciego który już nie ma żadnych ograniczeń:) Bootloader 3 w przypadku linuxa to właśnie u-boot - jego zadaniem jest załadowanie kernela linuxowego.

    W przypadku gdy boot1 szuka boota2 na karcie pamięci sprawdza on:
    1. Pierwszy blok na karcie. (nie dotyczy Cię ten przypadek)
    2. jeśli są partycje (tak jest u ciebie) sprawdza pierwszą partycję, jeśli jest ona FAT to w katalogu głównym szuka pliku MLO. Jeśli znajdzie plik MLO sprawdza jego podpis i jeśli się zgadza to uruchamia. (jeśli używasz gotowego MLO, nie przejmujesz się podpisem wszystkie są podpisane:) )

    Jeśli nie znajdzie MLO w 1 ani w 2 przechodzi do kolejnego peryferium(UART - przywitanie sie z aplikacją ładującą bootloader przez uart - czyli "60" lub "40"... i parę krzaczków)


    W linku który podałeś jest też kopiowanie MLO, uboota itd (krok 5), więc na karcie powinny być już oba booty - problem może być faktycznie po stronie sektorów karty.
  • Poziom 21  
    Dzięki wielkie. Bardzo mi pomogłeś. Teraz myślę że już sam sobie do tego dojdę bo wiem najważniejszą rzecz a mianowicie to w czym może tkwić problem i gdzie go można szukać :).
    Pozdrawiam.
  • Pomocny post
    Użytkownik usunął konto