Gentoo Logo

Gentoo/Alpha, często zadawane pytania

Spis treści:

1.  Kilka słów o tym dokumencie

Wstęp

Odpowiedzi na najczęstsze pytania dotyczące projektów Gentoo/Alpha oraz Linux/Alpha.

O projekcie Gentoo/Alpha

Architektura Alpha

Sprzęt

Flagi kompilatorów specyficzne dla Alphy

Uruchamianie Alphy i jej programy ładujące

Oprogramowanie

Jądro w Alphie

Pomoc dla projektu Gentoo/Alpha

Problemy

Dodatkowe informacje

2.  O projekcie Gentoo/Alpha

Czym jest Gentoo/Alpha?

Projekt Gentoo/Alpha jest odpowiedzialny za utrzymywanie aktualności dystrybucji Gentoo na platformie Alpha. W pierwszej kolejności zaliczają się do tego nowe wydania Gentoo oraz oznaczanie ebuildów odpowiednimi, związanymi z Alpha słowami kluczowymi. Projekt Gentoo/Alpha ma na celu dostarczenie łatwego w użyciu środowiska, zarówno na stacje robocze jak i dla zastosowań serwerowych.

Jaki jest aktualny postęp prac nad projektem?

Informacje na temat aktualnego postępu prac nad projektem Gentoo/Alpha można znaleźć w specjalnych raportach. Planujemy je wydawać raz na 6 miesięcy. Aktualny raport możemy znaleźć tutaj.

3.  Architektura Alpha

Czy architektura Alpha jeszcze żyje?

Nie do końca! HP zaptrzestało przyjmować oferty na nowe komputery Alha 27 kwietnia 2007 roku. Zamówienia na aktualizacje i dodatkowe części do 25 kwietnia 2008 roku. Więcej informacji na ich stronie z planami.

Czy mogę uruchomić 32 bitowe aplikacje?

Nie, wszystkie komputery Alpha używają całkowicie 64 bitowych kerneli oraz całkowicie 64 bitowych przestrzeni użytkownika. Nie można nawet zmusić GCC do wykonywania 32 bitowych programów używając flagi -m32.

Alpha jest architekturą big-endian czy może little-endian?

Wszystkie systemy Alphy wspierają zarówno little jak i big endian. Jednakże Linux używa tylko i wyłącznie little-endian.

Czy można uruchomić aplikacje Linux/x86 na Alphie?

Nie. W celu uruchomienia aplikacji z x86 musimy wyposażyć się w emulator x86 taki jak bochs. Dawniej DEC/Compaq/HP utrzymywały program em86, który umożliwiał uruchamianie aplikacji Linux/x86 na systemach Linux/Alpha. Jednakże program ten nie ma otwartego kodu i nie jest już utrzymywany. Nie ma także binarek em86 kompatybilnych z ABI gcc3.

Po co instalować Gentoo na Alphie?

Są szybsze 64 bitowe platformy - jak chociażby amd64. Jednakże nie oznacza to, że Alpha jest bezużyteczna. Poniżej znajduje się kilka dobrych powodów dla których warto zainstalować Linuksa na tym sprzęcie:

  • Można zrobić pożytek ze starego komputera. Starsze Alphy doskonale nadają się na routery i serwery, a ich przystosowanie do pełnienia roli stacji roboczej również nie jest złe.
  • Można nauczyć się obsługi niszowego sprzętu
  • To fajne. Jak dużo ludzi może powiedzieć, że ma Linuksa na Alphie? ;-)

Gdzie mogę kupić sprzęt Alphy?

Sprzęt Alphy z reguły nie jest dostępny w lokalnych sklepach komputerowych. Aby kupić nową Alphę, należy się skontaktować z HP. Jeśli natomiast chce się kupić używaną Alphę (rozwiązanie bardziej ekonomiczne), eBay powinien być dobrym rozwiązaniem, zwłaszcza, że kupowanie tam nie jest kosztowne. Ostatnim rozwiązaniem są dealerzy sprzętu Alphy, których możemy znaleźć za pośrednictwem google, jednak większość z nich ma bardzo wysokie ceny.

4.  Sprzęt

Otwierałem obudowę serwera Alpha, a teraz on nie chce się uruchomić, co robić?

Należy się upewnić, że panel górny obudowy znajduje się na miejscu. Jego środek posiada kawałek metalu skierowany do dołu. Jeśli panel jest zamontowany prawidłowo, ten kawałek naciska przycisk. Jeśli ten przycisk nie jest naciśnięty, komputer się nie uruchomi.

5.  Flagi kompilatorów specyficzne dla Alphy

Czy zalecane jest używanie specyficznych dla Alphy flag?

Tak jak w przypadku wszystkich optymalizacji związanych z kompilatorami, należy uważać, aby nie przesadzić. Ostrożne używanie da nam stabilny i szybki system, zbyt ostre może nieźle w nim namieszać. Jeżeli mamy wątpliwości, zostawmy te flagi w spokoju. W celu dokładniejszych wyjaśnień należy zajrzeć do manuala gcc

W jaki sposób ustawić optymalizację dla określonego zestawu instrukcji i modelu planowania?

Aby ustawić optymalizację dla określonego zestawu instrukcji oraz modelu planowania należy skorzystać z opcji -mcpu=XXX gdzie XXX jest typem naszego procesora. Dopuszczalnymi typami są ev4, ev45, ev5, ev56, pca56, ev6 oraz ev67. Jeżeli flaga -mcpu=XXXX nie zostanie ustawiona, gcc będzie korzystać z domyślnego ustawiania, czyli typu procesora na jakim zostało skompilowane. -mcpu= jest odpowiednikiem flagi -march= znanej z x86.

Uwaga: Użytkownicy AlphaServer 800 powinni ustawić ev5. Ustawienie ev56 może powodować wiele problemów, szczególnie zawieszanie się serwera X.

W jaki sposób wybrać model planowania bez zmiany zestawu instrukcji?

Aby wybrać model planowania bez zmiany zestawu instrukcji, należy skorzystać z opcji -mtune=XXX, gdzie XXX jest typem naszego procesora. Dopuszczalnymi typami są ev4, ev45, ev5, ev56, pca56, ev6 oraz ev67. -mtune= jest automatycznie ustawiane do -mcpu=, więc jeżeli ustawiliśmy flagę -mcpu= nie musimy już ustawiać -mtune=. -mtune= jest odpowiednikiem flagi -mcpu=z x86.

W jaki sposób odblokować programowe wsparcie dla liczb zmiennoprzecinkowych?

Aby odblokować programowe wsparcie dla liczb zmiennoprzecinkowych należy użyć flagi -mieee. Flaga ta odblokowuje programowe wspomaganie dla prawidłowej obsługi "denormalized numbers" i specjalnych wartości IEEE, takich jak "not-a-number" i plus/minus nieskończoności.

Opcje te powinny zostać umieszczone w globalnych ustawieniach CFLAGS.

W jaki sposób mogę ustawić opóźnienia pamięci w systemie?

Aby ustawić opóźnienia pamięci, należy odpowiednio ustawić flagę -mmemory-latency=XXX, gdzie XXX jest liczbą cykli zegara. Ustawia to opóźnienia które scheduler powinien przyjąć "for memory references". gcc ma kilka predefiniowanych "typowych" wartości, które również są akceptowane przez -mmemory-latency=XXX. Te wartości to L1 dla Dcache, L2 dla Scache, L3 dla Bcache oraz main dla pamięci głównej.

Ta flaga nie powinna być użyta w globalnych CFLAGS, ponieważ wartość tej zmiennej ma duże znaczenie dla dostępu do pamięci przez skompilowane aplikacje.

W jaki sposób ustawić, aby dane statyczne były umieszczane w małym segmencie danych?

Należy odpowiednio ustawić flagę -msmall-data. Oznacza to, że gcc spróbuje wykorzystać wykorzystać wszystkie cechu architektury Alpha, przez umieszczanie często używanych fragmentów danych w specyficznych sekcjach zwanych małymi segmentami pamięci. Segmenty te są ograniczane do 64kb, co oznacza, że dostęp do nich może odbywać się przy użyciu tylko jednej instrukcji.

-fPIC może nadpisać ustawienia -msmall-data, więc rekomendowane jest używanie opcji -fpic jeżeli nie chcemy aby -msmall-data było nadpisane

Ta flaga nie powinna być użyta w globalnych CFLAGS, ponieważ niektóre obiekty wymagają więcej niż 64kb i w takim przypadku zakończy się to błędem ld: gp_overflow

W jaki sposób ustawić, aby "object code" był umieszczany w małym segmencie kodu?

Aby "object code" był umieszczany w małym segmencie kodu należy odpowiednio ustawić flagę -msmall-text. Oznacza to, iż gcc zmieści program w 4MB, więc będzie on osiągalny przy użyciu instrukcji rozgałęziania. Zmniejsza to liczbę koniecznych instrukcji dla każdego wywołania funkcji z czterech do jednej.

Ta flaga również nie powinna znajdować się w globalnych CFLAGS, ponieważ niektóre programy (lub biblioteki) są większe niż 4MB i mogą powodować błędy.

Co zrobić, jeżeli którakolwiek z tych flag powoduje błąd w czasie kompilacji, linkowania lub uruchomienia?

Jak już zostało powiedziane, należy ostrożnie ustawiać CFLAGS, ponieważ nieodpowiednie ustawienia mogą zakończyć się awarią systemu. Jeżeli mamy poważne problemy, spróbujmy najpierw użyć nieco mniej wygórowanych ustawień CFLAGS, zanim zgłosimy błąd.

6.  Uruchamianie Alphy i jej programy ładujące

Czym jest SRM?

SRM bazuje na specyfikacji "Alpha Console Subsystem", która dostarcza środowiska operacyjne dla OpenVMS, Tru64 UNIX-a oraz systemów operacyjnych Linux. Po więcej informacji należy zajrzeć do SRM Howto

Czym jest ARC?

ARC bazuje na specyfikacji "Advanced RISC Computing (ARC)", która dostarcza środowiska operacyjne dla Windows NT.

W jaki sposób sprawdzić czy Alpha ma firmware ARC czy SRM?

Jeżeli podczas uruchamiania naszego komputera widzimy biały tekst na niebieskim tle oznacza to, iż mamy SRM. Jeżeli natomiast mamy ARC, ukaże się nam graficzny system ładowania.

Jakiego programu ładującego użyć?

Jeżeli Alpha ma wsparcie dla SRM, należy użyć aboot. Jeżeli wpiera SRM i linie ARC (ARC, AlphaBIOS, ARCBIOS), należy zajrzeć do SRM Firmware Howto aby dowiedzieć się jak przełączyć się do SRM i użyć aboota. Jeżeli natomiast wspiera jedynie linię ARC (Ruffian, nautilus, xl, itd.) prawidłowym wyborem będzie milo.

Czy aboot potrafi uruchomić jądra z partycji xfs, reiserfs lub jfs?

Nie, aboot potrafi uruchomić jądro tylko z partycji ext2i ext3. Można jednak zmienić system plików na partycji głównej, tworząc osobną partycję /boot na ext2 lub ext3 i przenosząc tam jądra z partycji głównej.

Planowana jest obsługa reiserfs i xfs. Są już nawet patche, które taką obsługę zapewniają. Nie są one jednak oficjalnie wspierane.

7.  Oprogramowanie

Jak wspierana jest Java w Gentoo/Alpha?

Dawniej jedyną opcją dla Java VM i Java SDK w Gentoo/Alpha była instalacja pakietów compaq-jre i compaq-jdk. Niestety Compaq przestał je wydawać w październiku 2006.

Czy kiedyś będzie działające wsparcie dla javy?

Mamy taką nadzieję. Kontynuujemy rozwój jdk z SableVM. Nie jest ono jeszcze gotowe, ale mamy nadzieję, że z czasem będzie pełnym zamiennikiem jdk.

Jak na Alpha wygląda obsługa .NET?

Żaden z opartych na otwartym oprogramowaniu projektów takich jak mono czy DotGNU nie współpracuje z architekturą Alpha.

Co jest potrzebne do obsługi .NET?

.NET na Alpha to nie jest prosta sprawa. Wymaga napisania kodu kompilatora JIT i specyficznych dla architektury funkcji.

8.  Jądro w Alphie

Których źródeł kernela powinienem użyć?

Dla architektury Alpha polecamy źródła gentoo-sources, ale wspieramy również vanilla-sources. Ich dokładny opis znajduje się w Omówieniu źródeł jądra dostępnych w Gentoo.

Mój system nie chce współpracować z jądrem 2.6. Czy mogę używać systemu opartego o jądro 2.4?

Profil i jądro 2.4 nie są wspierane przez Gentoo/Alpha od stycznia 2008. Technicznie wciąż możliwa jest instalacja systemu opartego na jądrze 2.4, gdyż znajduje się ono w drzewie Portage. W tym celu konieczne będzie jednak ręczne zamaskowanie przez użytkownika wszystkich pakietów opartych na jądrze 2.6. Pomoc deweloperów dla użytkowników jądra 2.4 jest również mocno ograniczona.

Naszą główną sferą działalności jest teraz jądro 2.6 i na pomocy w rozwiązywaniu problemów związanych z tym jądrem jest teraz skupiona cała nasza uwaga.

Czy jest wsparcie dla hardened-sources?

Nie ma. Kiedyś je wspieraliśmy, ale nie jesteśmy już w posiadaniu sprzętu, na którym je testowaliśmy, odszedł od nas także główny deweloper tego projektu. Czekamy na zgłosznia chętnych, którzy chcieliby pomóc we wskrzeszeniu tego projektu.

Czy jądra 2.6 wspiera technologię Alpha SMP?

Bardzo często w przeszłości SMP na jądrach 2.6 było zepsute dla Alpha. Teraz jednak to się zmieniło, jądra 2.6.15.1 i 2.6.16.19 dobrze obsługują SMP. Jeśli jednak obsługa ta nie zadziała, należy wrócić na jądro 2.4. Jeśli 2.6 jest niezbędne, trzeba będzie się pogodzić z tym, że będzie działał tylko jeden procesor.

9.  Pomoc dla projektu Gentoo/Alpha

W jaki sposób zgłaszać błędy?

Jeżeli użytkownik znajdzie jakiś błąd lub zechce wysłać jakiś patch, musi zgłosić buga. Zajmuje to tylko kilka chwil, a może okazać się nieocenioną pomocą. W razie problemów należy zajrzeć do tekstu Zgłaszanie błędów w Gentoo.

W jaki sposób mogę pomóc projektowi Gentoo/Alpha?

Użytkownicy mogą pomóc przez:

  • Zgłaszanie i dokładne opisywanie wszystkich błędów
  • Testowe aplikacje nie mają jeszcze maski ~alpha.
  • Odpowiadając na pytania na listach mailingowych, orum oraz na IRC-u.
  • Wysyłanie patchy
  • Dołączenie do zespołu AT

Czy istnieje projekt Alpha Arch Testerów?

Szczegóły dotyczące projektu znajdują się na stronie Gentoo Linux Alpha Arch Testers Project/

10.  Problemy

Czemu serwer X zawiesza się na Alpha?

Może to być związane ze złym ustawieniem flagi -mcpu. Na przykład AlphaServer 800 wymaga ustawienia ev5 dla Xorg i glibc. Jeśli się tego nie zrobi, należy spodziewać się kłopotów.

11.  Dodatkowe informacje

Dlaczego nie istnieje forum "Gentoo on Alpha"?

Na forum Gentoo jest wyznaczonych kilka kategorii, takich jak "Gentoo on PPC" "Gentoo on Sparc". Kategorii "Gentoo on Alpha" nie ma, ponieważ nie ma odpowiednio dużej aktywności w tym temacie, aby tworzyć osobne forum. Wszystkie posty odnośnie Alphy powinny być umieszczane w "Gentoo on Alternative Architectures".

Gdzie mogę znaleźć pomoc oraz więcej informacji na temat projektu Gentoo/Alpha?

Jeżeli na jakiekolwiek nie było tu odpowiedzi na któreś z pytań, warto spróbować poszukiwań w innych źródłach, takich jak np. Podręcznik Gentoo/Alpha lub strona domowa projektu. Można również zadać pytanie na #gentoo-alpha w sieci irc.freenode.net, na forum Gentoo on Alternative Architectures lub na liście mailingowej gentoo-alpha@lists.gentoo.org.

Gdzie mogę znaleźć pomoc oraz więcej informacji na temat projektu Alpha/Linux?

AlphaLinux.org jest centralnym miejscem dla wszystkich spraw związanych z Alpha/Linux.



Drukuj

Zaktualizowano 20 stycznia 2008

Podsumowanie: Ten dokument jest zbiorem pytań i odpowiedzi na często zadawane pytania dotyczące projektów Gentoo/Alpha oraz Linux/Alpha.

Thomas Cort
Autor

Brian Evans
Autor

Joshua Saddler
Redaktor

Artur Czepiel
Tłumacz

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.