Gentoo Logo

Gentoo/PPC, często zadawane pytania

Spis treści:

1.  Pytania

Wprowadzenie

Ten dokument jest zbiorem pytań i odpowiedzi z listy dyskusyjnej gentoo-ppc-dev oraz z IRC-a. Wszelkie propozycje pytań (i odpowiedzi) do dodania, należy kierować do autora tekstu lub do zespołu dokumentacji Gentoo.

Instalacja

Obsługa sprzętu

Aplikacje

Zasoby

2.  Instalacja

Jak mogę się dowiedzieć jaki rodzaj PPC posiadam oraz gdzie mogę znaleźć więcej informacji na ten temat?

Witamy w Gentoo PPC! Procesory PowerPC zostały użyte w wielu komputerach. Poniżej znajduje się kilka odnośników, które pomogą nam dowiedzieć się jaki rodzaj PPC posiadamy.

Jak pod OSX sprawdzić czy pobrany plik nie jest uszkodzony?

W pierwszej kolejności należy się upewnić, że nie zamontowaliśmy serwera ftp za pomocą Findera i nie skopiowaliśmy pliku metodą przeciągnij-i-upuść. To spowoduje uszkodzenie pliku ISO. Zamiast tego, należy użyć programu curl (przykładowo curl -O http://ścieżka/do/pliku/iso).

Sumy MD5 można skontrolować za pomocą narzędzia md5sum dostarczanego przez OSX. Na systemach nie zawierających tego programu będziemy musieli używać możliwości openssl do wytworzenia sum kontrolnych md5. Zatem wpisujemy w terminalu następujące polecenie:

Listing 2.1: Generowanie sum kontrolnych

(To może zająć trochę czasu, zależnie od wielkości pliku ISO oraz wydajności procesora)
$ openssl md5 /path/to/iso

Następnie porównujemy wynik z odpowiednim plikiem (plik z rozszerzeniem .md5) znalezionym na serwerze, z którego ściągaliśmy plik ISO. Jeśli oba ciągi znaków są takie same, to obraz ISO został ściągnięty poprawnie. Należy sprawdzić czy nie został on już zamontowany (przykładowo z Disk Copy).

Czy można mieć jednocześnie zainstalowane Mac OS X i Gentoo?

Tak! W rzeczywistości yabootconfig automatycznie wykryje i ustawi /etc/yaboot.conf z systemem Linux, Mac OS X, a nawet z klasycznym Mac OS (po dodatkowe informacje o yabootconfig należy sięgnąć do Podręcznika Gentoo ). Sztuka polega na tym, aby dobrze podzielić dysk na partycje. Przed instalacją Gentoo, należy uruchomić system za pomocą płyty instalacyjnej Mac OS X. Używamy Disk Utility, aby podzielić dysk na 2 lub 3 partycje. Ewentualnie można użyć parted z najnowszej płyty instalacyjnej, ponieważ obsługuje on partycje HFS i HFS+. Parted potrafi także zmniejszyć partycję, więc nie ma potrzeby usuwania istniejącej instalacji. Pierwsza partycja powinna być na tyle duża, aby zmieściły się na niej wszystkie partycje linuksowe (root+swap+/home itd.). Postać tej partycji nie ma znaczenia. Druga partycja jest przeznaczona dla Mac OS X. Trzecia (opcjonalna) partycja jest przeznaczona dla klasycznego Mac OS. Jest ona potrzebna tylko w przypadku, gdy chcemy umieścić Mac OS 9 na osobnej partycji.

Po podzieleniu dysku, czas na instalację Mac OS X i Mac OS 9 na ich odpowiednich partycjach. Po zakończeniu instalacji, uruchamiamy Podręcznik Gentoo. Kiedy dojdziemy do rozdziału o podziale dysków na partycje, używamy mac-fdisk do usunięcia dużej partycji dla Gentoo. Na tym miejscu tworzymy partycję bootstrap, root, swap i inne partycje, których potrzebujemy do pracy z Gentoo.

Jeśli jesteśmy posiadaczami OldWorld Macintosh (pre-iMac), kierujemy się podobną procedurą jak wyżej opisana, z tym, że należy użyć płyty instalacyjnej Mac OS 9 i narzędzia Drive Setup. Maszyny OldWorld nie potrzebują partycji bootstrap.

Uwaga: Jeśli yabootconfig nie wykryje partycji MacOS, możemy ręcznie je dodać do yaboot.config. Po dodatkowe informacje należy udać się do podręcznika, gdzie znajduje się przykładowy yaboot.conf.

Jestem posiadaczem wczesnych NewWorld Mac takich jak Blue i White G3. Powinny one być zgodne z LiveCD, ale w trakcie ładowania systemu zwracany jest błąd "Unknown or corrupt filesystem".

Aby to obejść należy załadować Open Firmware, poprzez przytrzymanie kombinacji klawiszy Apple + Option + O + F, podczas startu systemu. Kiedy pojawi się znak zachęty wpisujemy:

Listing 2.2: Rozwiązanie dla wczesnych NewWorld Mac poprzez Open Firmware

boot cd:,\\yaboot

Po czym powinna się załadować płyta CD. Wielkie dzięki dla Johna Plesmid, który podał to rozwiązanie.

Posiadacze OldWorld Macintosh powinni używać BootX. Jednakże czasem występują problemy z otwarciem archiwum instalatora BootX. Co wtedy zrobić?

Do otwarcia archiwum potrzebna będzie nowa wersja StuffIt Expander. Możemy ściągnąć go za darmo.

Czy można zainstalować Gentoo na PPC na drugim dysku IDE maszyny Beige G3?

Wczesne modele Beige G3 (te z płytą główną "Rev 1" oraz układem ATI RageII+) nie wspierają dysków IDE podpiętych jako slave. Aby używać drugiego dysku na tej maszynie należy dołączyć do niej wewnętrzne lub zewnętrzne łącze SCSI, po czym należy zainstalować kartę PCI IDE. Późniejsze maszyny G3 nie posiadają tych ograniczeń. Po dodatkowe informacje należy zajrzeć na stronę http://www.xlr8yourmac.com/G3-ZONE/IDE/index.html.

Po wymianie dysku twardego w iMacu serii A lub B na większy nie można załadować jakiegokolwiek systemu!

Te maszyny posiadają ograniczenie na wielkość partycji głównego systemu plików, która nie może być większa niż 8GB. Należy się upewnić, że główny system plików ma mniejszy rozmiar niż 8GB, po czym wszystko powinno działać jak należy. To także ma zastosowanie dla OS X i późniejszych wersji OS 9.

Plik /etc/fstab zawiera linię /dev/BOOT. Czy należy ustawić tę linię na partycję Apple bootstrap?

Nie. Jeśli nie używamy osobnej partycji rozruchowej (/boot), wtedy nie należy się przejmować tą linią i można ją bez żadnych obaw usunąć. Partycja Apple bootstrap nie jest partycją /boot, obie partycje nie są w żaden sposób powiązane. Ogólnie rzecz biorąc maszyny Apple PowerPC nie potrzebują osobnej partycji rozruchowej /boot, a partycja bootstrap nie powinna być zamontowana ani wpisana do pliku fstab.

Po ponownym uruchomieniu systemu yaboot nie zadziałał! Jak to naprawić?

Powodem jest prawdopodobnie źle skonfigurowany yaboot.conf. Najprostszym sposobem, aby to naprawić jest ponowne uruchomienie komputera za pomocą płyty LiveCD, po czym montujemy partycję Gentoo i sprawdzamy yaboot.conf w poszukiwaniu błędów. Po zakończeniu należy wykonać ybin -v -C /mnt/gentoo/etc/yaboot.conf, aby uaktualnić bootloader. To wszystko może być wykonane bez przechodzenia do środowiska chroot.

Uwaga: Jeśli naprawdę zależy nam na powrocie do OSX, to należy przytrzymać klawisz Option podczas ładowania systemu. To powinno wyświetlić graficzną listę wyboru ładowalnych dysków. Wybieramy OSX, ale pamiętamy o naprawieniu problemów z ładowaniem systemu później.

Przy próbie uruchomienia, yaboot pokazuje tylko "read error"! Dlaczego nie mogę go uruchomić?

Najprawdopodobniej powyższy błąd został spowodowany użyciem XFS na partycji root. Mimo, iż jest to dopuszczalne, yaboot może mieć problemy z dostępem do "dziurawych plików". Aby upewnić się, że nasz kernel się uruchomi, należy zamiast zwykłego kopiowania pliku vmlinux do /boot, użyć na nim programu cat tak jak zostało to pokazane:

Listing 2.3: Naprawianie błędów yaboot spowodowanych XFS

# cat /usr/src/linux/vmlinux > /boot/vmlinux

Po zainstalowaniu aktualizacji OSX uruchamia się tylko ten system! W jaki sposób to naprawić?

Podczas uruchamiania należy wcisnąć klawisz opcji. W ten sposób przywołamy graficzny program do wyboru urządzenia, z którego ma zostać uruchomiony system. Po chwili powinien pojawić się dysk oznaczony pingwinem, w który trzeba kliknąć. W ten sposób uruchomimy nasz system linux. Po zakończeniu procesu uruchomienia dobrze jest wpisać ybin -v w celu naprawienia programu ładującego.

Nie mogę uruchomić komputera za pomocą InstallCD! Zatrzymuje się na etapie ustawiania zegara sprzętowego. Co robić?

Niestety w niektórych wersjach baselayout znajdował się błąd. Aby uruchomić system z płyty musimy ustawić zegar sprzętowy. Żeby własnoręcznie dokonać ustawienia zegara należy uruchomić Open Firmware (używając kombinacji klawiszy Apple + O + F). Kiedy już jesteśmy w środowisku Open Firmware należy ustawić zegar przy pomocy polecenia podanego poniżej:

Listing 2.4: Ustawianie zegara w środowisku open firmware

# decimal dev rtc sec min hour day month year set-time
# Poniższe przykładowe polecenie ustawi zegar na 1:23:45 June, 7th, 2000
  ok
0 > decimal dev rtc 45 23 1 6 7 2000 set-time
  ok
1 >

Open Firmware powinien zwrócić komunikat ok po poprawnym ustawieniu zegara. Po tej operacji system powinien uruchomić się bez przeszkód. Aby kontynuować uruchamianie komputera należy wpisać polecenie mac-boot.

3.  Obsługa sprzętu

Jakie pakiety należy zainstalować, pracując na Gentoo na laptopie PowerPC, aby załączyć zespół funkcji charakterystycznych dla laptopów?

Istnieją cztery główne pakiety, które należy zainstalować.

  • pbbuttonsd jest narzędziem, które załącza klawisze do regulacji jasności oraz głośności na większości laptopów ppc. Obecne wersje pracują także jako menedżery zasilania zastępujące pmud
  • powerprefs daje możliwość graficznej konfiguracji oraz edycji ustawień pbbuttonsd takich jak zarządzanie zasilanie, opcje gładzika i inne
  • powernowd pozwala na zmianę częstotliwości procesora, co przynosi dłuższą żywotność baterii. Innym pakietami posiadającym podobny zespół funkcji są cpudyn, cpufreqd i speedfreq. Nie ważne, który z nich wybierzemy, musimy się upewnić, iż mamy w naszym jądrze odblokowaną opcję userspace cpu frequency scalling governor.

Te pakiety można zainstalować poprzez wykonanie odpowiednich poleceń z listy poniżej:

Listing 3.1: Instalacja pakietów charakterystycznych dla laptopów

# emerge pbbuttonsd
# emerge powerprefs
# emerge powernowd

Uwaga: Aby ustawić pbbuttonsd do naszych potrzeb powinniśmy przeedytować plik /etc/pbbuttonsd.conf lub użyć powerprefs. Zachowanie klawiszy Fx może być tu kontrolowane tak samo jak wiele opcji uśpienia. Aby klawisze Fx zachowywały się tak jak pod OSX, należy ustawić KBDMode na fkeyslast. Możemy wyłączyć podsłuchiwanie tabliczki dotykowej poprzez ustawienie TPMode na notap. Dostępnych jest także wiele innych opcji, szczegóły znajdują się w man pbbuttonsd.conf.

Pomocne jest dodanie pbbuttonsd i cpudyn do poziomu uruchamiania o nazwie 'boot', po to aby były one uruchamiane podczas ładowania systemu. Wykonujemy:

Listing 3.2: Dodajemy pbbuttonsd i cpudyn do poziomu uruchamiania o nazwie 'boot'

# rc-update add pbbuttonsd boot
# rc-update add powernowd boot

Jak można używać drugiego i trzeciego przycisku myszy, posiadając mysz z jednym przyciskiem (przycisk ctrl nie działa)?

W Mac OS X nie można korzystać z przycisku ctrl, ale można mapować dowolny inny klawisz do emulowania drugiego i trzeciego przycisku myszki. Odpowiednie wartości można uzyskać dzięki programowi showkey, z którego korzysta się w konsoli, gdyż program ten nie działa w X. Aby skorzystać z tej możliwości, należy włączyć następujące opcje w jądrze:

Listing 3.3: Włączenie obsługi 2 i 3 przycisków myszy

[*] Apple Desktop Bus (ADB) support
[*]    Use input layer for ADB devices
[*]      Support for mouse button 2+3 emulation

Konieczne będzie także ustawienie mapowania klawiszy klawiatury i myszki w pliku /etc/sysctl.conf. Poniżej przykład dla F11 i F12:

Listing 3.4: Emulowanie przycisków myszki poprzez F11 i F12

# Włączamy emulację
dev.mac_hid.mouse_button_emulation = 1
# 2 klawisz, 87 - F11
dev.mac_hid.mouse_button2_keycode = 87
# 3 klawisz, 88 - F12
dev.mac_hid.mouse_button3_keycode = 88

Uwaga: Inne popularne kody przycisków to 125 (przycisk Apple) i 96 (Enter z klawiatury numerycznej).

W celu uaktywnienia tych ustawień wpisujemy:

Listing 3.5: Zapisywanie ustawień sysctl

# sysctl -p /etc/sysctl.conf

Jak skonfigurować kartę Airport?

Karta Airport jest urządzeniem 802.11b opartym na chipsecie Lucent Orinoco. Aby skorzystać z takiej karty pod Linuksem, należy włączyć następujące opcje w jądrze:

Listing 3.6: Bezprzewodowy LAN

[*] Wirless LAN Drivers & Wireless Extensions
<*> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)
<*>   Apple Airport support (build-in)

Po skonfigurowaniu jądro trzeba zainstalować jeszcze narzędzia do konfiguracji sieci bezprzewodowej. iwconfig i reszta programów, wchodzą w skład pakietu wireless-tools.

W celu ustawienia ESSID na wartość home_essid należy wpisać:

Listing 3.7: Konfiguracja ESSID

# iwconfig eth1 essid home_essid

Więcej szczegółów dotyczących iwconfig znajduje się w opisie konfiguracji sieci w Gentoo

Jak skonfigurować kartę Airport Extreme?

Airport Extreme to karta 802.11b/g wbudowana w najnowsze komputery Apple. Jest oparta na chipie Broadcom 43xx, który jest obsługiwany przez sterownik b43. Sterownik ten jest dołączany do jądra od wersji 2.6.24. Automatycznie wybierana jest wersja b43 lub b43-legacy tego sterownika. Firmware dla wersji legacy obsługuje starsze karty 4306. Dlatego posiadacze tych kart powinni wbudować obie wersje sterownika, a pozostałym wystarczy samo b43. Przed wybraniem którejkolwiek z tych opcji trzeba zaznaczyć wcześniej opcję mac80211.

Listing 3.8: Dodawanie sterownika b43

Networking --> Wireless -->
  <M>   Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers --> Network device support -->
  [*] Wireless LAN (IEEE 802.11)
  <M>   Broadcom 43xx wireless support (mac80211 stack)
  [*]     Broadcom 43xx debugging
  <M>   Broadcom 43xx-legacy wireless support (mac80211 stack)
  [*]     Broadcom 43xx-legacy debugging

Po skompilowaniu jądra konieczne jest zainstalowanie pakietu b43-fwcutter (czyli firmware). Dodatkowe informacje na ten temat możemy znaleźć w tym wątku na forum.

Więcej informacji na temat ustawiania łącz bezprzewodowych z Gentoo, można znaleźć w opisie konfiguracji sieci w Getnoo

Czy zadziała modem wewnętrzny?

W starszych komputerach, wewnętrzny modem jest zwykłym urządzeniem szeregowym. Aby mógł działać, poza obsługą ppp i i2c, należy zaznaczyć w jądrze także następujące opcje:

Listing 3.9: Sterowniki urządzeń szeregowych

<*> PowerMac z85c30 ESCC support (CONFIG_SERIAL_PMACZILOG)

Nowsze komputery korzystają z urządzenia USB, dla których jedyne dostępne sterowniki pochodzą od Linuxant. Jeśli nie kupi się klucza od Linuxant, sterownik zezwoli jedynie na transfery z prędkością 14.4 i nie pozwoli na korzystanie z FAX-u. Sterownik ten wchodzi w skład pakietu net-dialin/hcfusbmodem, który tworzy również /dev/ttySHCF0. Po zainstalowaniu pakietu należy skonfigurować ppp w tradycyjny sposób. Dodatkowe informacje znajdują się pod adresem http://www.linuxant.com/drivers/hcf/install.html.

Czy działa uśpienie w iBooku lub PowerBooku?

Uśpienie (zrzucenie wszystkich potrzebnych informacji do pamięci RAM) działa bardzo dobrze na wszystkich iBookach i TiBookach G3. Ostatnio została udostępniona łatka na jądro, która dodaje wsparcie uśpienia dla iBooków i AlBooków G4 opartych na kartach graficznych Radeon. Jeśli posiadamy jeden z tych laptopów, to aby posiadać wbudowane wsparcie w jądrze, należy używać jądra gentoo-sources 2.6.11 (lub nowszego).

Uwaga: Należy zauważyć, że 12" PowerBook nie jest wspierany, gdyż posiada układ nVidii.

Jak uruchomić dźwięk?

W nowoczesnych jądrach istnieją dwa podejścia do tego zagadnienia. Są nimi OSS i ALSA. OSS jest starszym rozwiązaniem, które straciło na wartości, ale nadal dobrze funkcjonuje na starszych Mac-ach. ALSA jest nowszym podejściem, które jest i będzie w przyszłości wspierane. Zalecane jest używanie ALSA dopóki nie napotkamy na problemy.

Uwaga: Jeśli wkompilujemy w jądro sterownik OSS, sterownik ALSA nie załaduje się.

Oprócz konfiguracji jądra, należy także dodać użytkowników, którzy chcą mieć dostęp urządzeń dźwiękowych, do odpowiedniej grupy za pomocą polecenia:

Listing 3.10: Dodawanie użytkowników do grupy audio

# gpasswd -a użytkownik audio

Jeśli jądro jest ustawione poprawnie, lecz nie słychać żadnych dźwięków, wtedy należy się upewnić, że głośność głównego miksera jest zwiększona oraz, że urządzenie nie jest wyciszone!

Uwaga: Karty dźwiękowe w Mac'ach są podłączone poprzez szynę i2c Keywest/PowerMac, a nie poprzez PCI. Nie zobaczymy jej zatem w momencie listowania urządzeń PCI lub przy użyciu alsaconf. Wbrew pozorom nie jest to poważny problem, ponieważ wszystkie Mac'i używają tego samego sterownika do dźwięku. Będziemy musieć się tylko upewnić czy mam zaznaczone wsparcie dla i2c Keywest/PowerMac w naszym jądrze.

Ważne: Jeżeli wkompilujemy w jądro obsługe ALSA, musimy dodatkowo wkompilować wsparcie dla i2c Keywest/PowerMac. Brak zaznaczenia przy tej opcji spowoduje bowiem błąd Kernel panic podczas startu systemu.

Ustawienie dźwięku za pomocą ALSA

Ustawimy standardowe sterowniki ALSA oraz warstwę emulacji OSS, po to abyśmy mogli nadal korzystać z programów, które używają tylko OSS. W make menuconfig należy wybrać:

Listing 3.11: Opcje jądra dla ALSA

Device Drivers - Sound --->
<*> Sound card support
    Advanced Linux Sound Architecture --->
    < >   PowerMac DMA sound support
      <*> Advanced Linux Sound Architecture
      <*> Sequencer support
      <*> Sequencer dummy client
      <*> OSS Mixer API
      <*> OSS PCM (digital audio) API
      [*] OSS Sequencer API

W zależności od wieku naszego komputera powinniśmy uaktywnić odpowiedni sterownik dźwięku. Na nowszych komputerach takich jak Aluminum PowerBooks, nowe iBooki czy G5 należy używać sterownika Apple On-board Audio. W przypadku starszych konstrukcji, dobrze będzie wypróbować sterownik ALSA PowerMac.

Listing 3.12: Sterownik ALSA - wybieramy tylko jeden

Starsze komputery
         ALSA PowerMac devices --->
     <*> PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)
Nowszeg komputery
    Apple Onboard Audio driver --->
      <*> Apple Onboard Audio driver
      <*>   layout-id fabric
      <*>   support Onyx chip
      <*>   support TAS chip
      <*>   support Toonie chip

Możemy również skonfigurować sterowniki jako moduły i ładować je przy uruchamianiu systemu. Prościej jednak będzie je po prostu wkompilować w jądro.

Uwaga: Należy się upewnić, że opcja PowerMac DMA sound support jest wyłączona, w przeciwnym wypadku moduł ALSA nie załaduje się.

Więcej informacji na temat konfiguracji można znaleźć w dokumencie zatytułowanym Konfiguracja sterowników ALSA w Gentoo.

Uwaga: Jeśli korzysta się ze sterowników z pakietu alsa-driver zamiast tych wbudowanych w jądro, należy ustawić zmienną ALSA_CARDS na powermac w przypadku starszych komputerów lub aoa, aoa-fabric-layout, aoa-soundbus, aoa-soundbus-i2c, aoa-onyx, aoa-tas and aoa-toonie gdy jesteśmy właścicielami nowszej konstrukcji.

Ustawienie dźwięku za pomocą OSS

Uwaga: OSS używamy tylko wtedy, jeśli nie używamy ALSA

W make menuconfig należy wybrać:

Listing 3.13: Opcje jądra dla OSS

<*> Sound card support
  <*>   PowerMac DMA sound support

(lub ustawiamy jako moduły, które będą ładowane podczas startu systemu).

Jeśli nie ładuje się moduł dmasound_pmac, należy zbudować i2c-core jako moduł.

Uwaga: Jeżeli dalej używamy OSS, powinniśmy chociaż przetestować sterowniki ALSA. Wszelkie sugestie oraz uwagi wysłane na bugzille ALSA, będą mile widziane.

Jak sprawić, aby karta sieciowa uruchamiała się po zaniknięciu zasilania?

Jednostka zarządzając zasilaniem (and. PMU - Power Management Unit) w większości przypadków posiada możliwość ponownego uruchomienia karty sieciowej po zaniknięciu zasilania. Opcja ta kontrolowana jest poprzez opcje PMU, które można znaleźć w katalogu /proc. Aby ją uaktywnić należy ustawić zmienną server_mode na wartość 1, aby ją wyłączyć ponownie zmieniamy wartość wyżej wymienionej zmiennej, tym razem jednak na 0.

Listing 3.14: Uaktywnianie opcji ponownego startu po utracie zasilania

# echo "server_mode=1" > /proc/pmu/options

Niestety, opcja ta zostaje wyłączona przy każdym ponownym uruchomieniu komputera. Aby mieć pewność, że tak się nie stanie należy dodać powyższy wpis do pliku /etc/conf.d/local.start.

W pliku dmesg znajduje się dużo błędów typu "IN from bad port". Jak się ich pozbyć?

Powyższy błąd spowodowany jest przez sterowniki dla urządzeń, których nie posiadamy w naszym komputerze. Z reguły nie wpływają one w żaden sposób na jego działanie, lecz mimo wszystko zablokowanie nieużywanych sterowników jest dobrym pomysłem. Poniżej znajduje się kilka wskazówek jak poradzić sobie z paroma konkretnymi błędami. Jeżeli numery portów nie zgadzają się z tymi, które pojawią się w naszym "dmesgu" i tak możemy spróbować zablokować poniższe. Wiele komputerów PPC i tak ich nie używa.

Listing 3.15: IN from bad port 61 - Wyłączenie głośniczka systemowego

Device Drivers - Input device support --->
[*] Miscellanous devices --->
      < > PC Speaker Support

Listing 3.16: IN from bad port 64 - Wyłączenie kontrolera klawiatury i8042

Device Drivers - Input device support --->
Hardware I/O Ports --->
      < > Serial I/O support
        < > i8042 PC Keyboard controller

Listing 3.17: IN from bad port 2E9,2F9,3E9,3F9 - Wyłącznie wsparcia dla 8250/16550

Device Drivers - Character devices --->
Serial drivers --->
      < > 8250/16550 and compatible serial support

Jeżeli pojawia nam się błąd inny od powyższych, którego powodu nie jesteśmy pewni, jesteśmy proszeni o powiadomienie autorów tekstu.

4.  Aplikacje

Podczas próby instalacji pakietu wyświetlany jest błąd mówiący o tym, że pakiet został zamaskowany. Co robić?

Najczęściej istnieją dwa powody przez które pakiet nie zainstaluje się. Powód pierwszy, pakiet nie został przetestowany na architekturze PPC, powód drugi, pakiet był testowany jednakże nie został on jeszcze oznaczony jako stabilny.

Listing 4.1: Pakiet nie został przetestowny na PPC

!!! All ebuilds that could satisfy "bar" have been masked.
!!! One of the following masked packages is required to complete your request:
 - app-foo/bar-1.0 (masked by: missing keyword)

Jeśli pakiet nie został przetestowany na architekturze PPC, należy dodać słowo kluczowe ppc do ebuildu. Wykonamy to za pomocą narzędzia ekeyword, które jest częścią pakietu gentoolkit-dev. Dodawanie słowa kluczowego do ebuildu oraz ponowne wygenerowanie pliku Manifest z sumami kontrolnymi:

Listing 4.2: Dodawanie słowa kluczowego ppc do app-foo/bar

# ekeyword ppc /usr/portage/app-foo/bar/bar-1.0.ebuild
# ebuild /usr/portage/app-foo/bar/bar-1.0.ebuild manifest

Po czym możemy zainstalować pakiet. Testujemy aplikację, jeśli działa, wtedy należy wysłać błąd na Bugzillę (wymagana bezpłatna rejestracja), aby jeden z deweloperów mógł dodać słowo kluczowe do ebuildu.

Uwaga: Ta zmiana będzie usunięta podczas najbliższej synchronizacji. Jeśli potrzebujemy tę poprawkę na dłużej, wtedy można utworzyć portage overlay. Więcej informacji na ten temat znajduje się w dokumentacji Portage.

Listing 4.3: Ten pakiet nie został jeszcze oznaczony jako stabilny

!!! All ebuilds that could satisfy "bar" have been masked.
!!! One of the following masked packages is required to complete your request:
- app-foo/bar-1.0 (masked by: ~ppc keyword)

Jeśli pakiet posiada już słowo kluczowe ~ppc, to mamy dwa wyjścia. Można zastąpić słowo kluczowe ~ppc przez ppc lub można użyć /etc/portage, aby odmaskować dany pakiet. Drugie rozwiązanie jest bardziej polecane z prostego powodu - Przy najbliższym emerge sync zmiany nie zostaną nadpisane.

Listing 4.4: Używanie /etc/portage do odmaskowania app-foo/bar

$ echo "=app-foo/bar-1.0 ~ppc" > /etc/portage/package.keywords

Uwaga: Jeśli katalog /etc/portage nie istnieje, należy go najpierw stworzyć.

Następnie instalujemy pakiet. Jeśli jesteśmy pewni, że aplikacja jest stabilna, wtedy należy wysłać błąd na Bugzillę (wymagana bezpłatna rejestracja), aby jeden z deweloperów mógł dodać słowo kluczowe do ebuildu.

Czy Gentoo na architekturze PPC wspiera Flash?

Raczej nie. Macromedia nie dostarczyła Linuksom na architekturze PPC plików binarnych, natomiast rozwiązania open source są niekompletne i pełne błędów. Istnieją dwie otwarte alternatywy, które potrafią wyświetlić sporą część obiektów flash. Są to gnash i swfdec. Oba potrafią odtworzyć zawartość youtube i wielu innych popularnych stron opartych na flashu.

Czy Gentoo na architekturze PPC ma wtyczkę z Javą

Tak, można skorzystać z pluginu Java autorstwa IBM w wersji 1.5 lub 1.6. Jednak nie wszystkie programy w Javie działają na tych wersjach.

Czy istnieje prosty sposób konfiguracji środowiska X?

Po prostu instalujemy xac, a potem wykonujemy polecenie xac, aby stworzyć plik konfiguracyjny z naszymi ustawieniami. Aby wybrać mapowanie klawiatury, należy wykorzystać flagę --kbd-layout. xac nie ustawi DRM dla większości użytkowników, zwykle trzeba będzie poprawić w tym celu konfigurację jądra.

Czego wymaga DRM?

Kiedy instalujemy xorg-server, powinniśmy się upewnić, że mamy włączoną flagę USE dri. Możemy również sprecyzować zmienną VIDEO_CARDS w pliku make.conf. Dla radeonów będzie miała ona postać VIDEO_CARDS="radeon", dla nvidii, VIDEO_CARDS="nv". W inny przypadku należy podać odpowiednią wartość. Jako zabezpieczenie, należy również dodać do tej zmiennej wartość fbdev. Sterownik ten działa w każdym przypadku.

Jądro należy mieć skompilowane z następującymi opcjami:

Listing 4.5: Konfiguracja jądra z DRM dla Rage 128

 Device Drivers - Character devices --->
   <*> /dev/agpgart (AGP Support)
   [*] Apple UniNorth support
   [*] Direct Rendering Manager (DRI support)
   <*>   ATI Rage 128
 Device Drivers - Graphics Support --->
   <*>   ATI Rage 128 display support

Listing 4.6: Konfiguracja jądra z DRM dla Radeonów

Device Drivers - Character devices --->
  <*> /dev/agpgart (AGP Support)
  [*] Apple UniNorth support
  [*] Direct Rendering Manager (DRI support)
  <*>   ATI Radeon
Device Drivers - Graphics Support --->
   <*>   ATI Radeon display support
 

Listing 4.7: Konfiguracja jądra z DRM dla kart nVidia

Device Drivers - Graphics Support --->
   <*>   nVidia Framebuffer Support

Uwaga: Aktualnie nie ma wsparcia dla DRM na kartach nVidia, gdyż nVidia nie wydała jeszcze sterowników dla PPC a w przypadku tych kart nie ma żadnych otwartych sterowników ze wsparciem dla akceleracji 3D

Jeśli zachodzi taka potrzeba, kompilujemy ponownie i instalujemy jądro. Potem należy się upewnić, że załadowaliśmy system używając rodzimego bufora ramki (np. radeonfb lub atyfb128, ale nie za pomocą offb lub ofonly video), a następnie wykonujemy xac.

Ważne: Może być również potrzebna edycji pliku /etc/X11/xorg.conf zależnie od ustawień karty. Należy się upewnić, że wybranym sterownikiem urządzenia jest ati lub inny specyficzny dla naszej karty (r128 lub radeon). Należy również się upewnić, że rozszerzenie DRI jest załadowane, niezakomentowane.

Zainstalowano X.org i skonfigurowano go poprawnie, ale brakuje sterownika radeon. W czym tkwi problem?

Z powodu błędu w tworzeniu domyślnych opcji dla GRP, sterowniki dla r128 oraz radeon zostały wyłączone w wydaniu 2007.0. Należy dodać odpowiedni wpis VIDEO_CARDS w pliku /etc/make.conf po czym należy przebudować xorg-server i mesa w celu przebudowania sterownika. Przepraszamy za niedogodności.

Uwaga: Jest to również rozwiązaniem jeśli zapomnieliśmy dodać właściwej karty w VIDEO_CARDS i skompilować samemu.

W pliku xorg.log pojawia się błąd VBIOS lub "Invalid I/O allocation". Czy to poważny problem?

Nie. Błąd ten jest z reguły spowodowany tym, iż X.org testuje naszą kartę graficzną. Próbując przy tym otworzyć "x86 only video BIOS", co kończy się niepowodzeniem oraz zostawieniem tej wiadomości. Jednak nie musimy się o nic martwić, jest to nieszkodliwy problem.

Używając OpenGL DRI lub oglądając filmy, czasami system nieoczekiwanie blokuje się. Co robić?

System może nieprawidłowo radzić sobie z wsparciem dla AGP. Najłatwiejszym rozwiązaniem jest dodanie następującej linii do części "Device" w pliku /etc/X11/xorg.conf:

Listing 4.8: Przymusowy tryb PCI dla kard AGP

Option       "ForcePCIMode"

Istnieją również problemy z rozszerzeniem composite i innymi rozszerzeniami załączonymi do nowszych wydań pakietu X.org.

Jeśli to nie pomoże, należy wyłączyć dri w xorg.conf i sprawdzić czy to nie rozwiąże problemu.

Międzynarodowy układ klawiatury nie działa poprawnie na zainstalowanym Xorgu. Główne klawisze działają dobrze, ale nie da się złożyć żadnego znaku specjalnego, chociażby znaku "@". Wyjście startx wyświetla coś w rodzaju "could not load keymap, falling back to default keymap". Co jest źle?

Należy sprawdzić czy uprawnienia do katalogu /var/tmp są ustawione na drwxrwxrwx. Jeśli nie, należy je zmienić poprzez wpisanie chmod a+rwx /var/tmp. To pozwoli Xorgowi ponownie ładować poprawne układy klawiszy.

Jak odtwarzać płyty audio?

Komputery NewWorld nie posiadają połączenia pomiędzy napędem CD-ROM, a kartą dźwiękową. W związku z tym muzykę trzeba odczytywać jak zwykłe dane, a potem należy przekierować ją do karty. Umożliwia to program Audacious. Odczytuje on dźwięk z CD poprzez kabel ATA, dekoduje go i przesyła do karty dźwiękowej w formie cyfrowej poprzez szynę PCI.

Listing 4.9: Instalacja Audaciousa

# emerge audacious

Aby przesłuchać płytę, wystarczy uruchomić audaciousa. Jeżeli mam problem z odtwarzaniem należy otworzyć panel Preferences-->Plugins-->CD Audio i wybrać odpowiedni napęd CD. Należy się również upewnić, że mamy zaznaczoną opcję "Digital audio extraction".

Czy można uruchomić Mac OS 9 lub Mac OS X pod Gentoo?

Tak, pod warunkiem, że pracujemy na Gentoo na 32-bitowej architekturze PPC, możemy użyć Mac-on-Linux, który pozwala uruchomić instancję systemu OS 9, OS X lub Linux jako proces Linuksa. Aby zainstalować ten pakiet, wykonujemy emerge mol. MOL wspiera Mac OS 7.5.2 aż do wersji 9.2.2, a także wszystkie wersje OS X. Może zostać uruchomiony spod bufora ramki konsoli lub w oknie środowiska X.

Uwaga: Aktualnie nie ma wsparcia dla MOL na 64 bitowych procesorach PPC

Uwaga: Aby uruchomić MOL w trybie pełnoekranowym, należy go skompilować z załączoną flagą USE 'fbcon' i uruchomić w spod bufora ramki konsoli.

Sterowniki sieciowe oraz dźwięku instalujemy w katalogu MOL-Install na pulpicie w Mac OS X. Jeśli wystąpią problemy z siecią, należy się upewnić, że następujące opcje mamy wkompilowane w jądro:

Dla sieci w OSX:

  • Universal TUN/TAP device driver support (CONFIG_TUN)

Dla serwera DHCP:

  • Socket Filtering (CONFIG_FILTER)
  • Packet Socket (CONFIG_PACKET)

Dla NAT:

  • Network packet filtering (CONFIG_NETFILTER)
  • Connection tracking (CONFIG_IP_NF_CONNTRACK)
  • IP tables support (CONFIG_IP_NF_IPTABLES)
  • Packet filtering (CONFIG_IP_NF_FILTER)
  • Full NAT (CONFIG_IP_NF_NAT)
  • MASQUERADE target support (CONFIG_IP_NF_TARGET_MASQUERADE)

Czy mamy dostęp do partycji ext2 lub ext3 spod OSX?

OSX wspiera odczyt oraz zapis na partycji ext2 lub ext3 poprzez rozszerzenie jądra dostarczone przez projekt ext2fsx.

Uwaga: Używając MOL, nie posiadamy dostępu do partycji obecnie używanych przez Linuksa.

Które flagi USE nie działają na maszynach PowerPC?

Jeśli używamy starego profilu (sprzed 2005.0) to, aby sprawdzić listę tych flag, należy spojrzeć do pliku /etc/make.profile/use.mask.

Jeśli używamy kaskadowego profilu (2005.0 i późniejszych) wtedy, aby zobaczyć listę tych flag, zaglądamy do pliku /usr/portage/profiles/default-linux/ppc/use.mask.

Jak można ustawić distcc z maszyną opartą na architekturze x86?

Posiadacze drugiego szybszego komputera mogą łatwo skonfigurować go tak, aby pomagał słabszemu PPC w kompilowaniu pakietów. Kompilację można znacznie przyspieszyć przenosząc jak największą część budowania pakietu na szybszy procesor. Można nawet wcale nie budować na wolniejszym sprzęcie. W zasobach dokumentacji Gentoo znajduje się tekst opisujący dokładnie proces kompilacji skrośnej. Warto również zapoznać się z podręcznikiem dostarczonym przez projekt Gentoo Embedded, gdyż znajduje się tam wiele cennych informacji o kompilacji skrośnej.

Dlaczego gcc wyświetla błędy podczas budowania pakietów?

Jeśli gcc wyświetla błędy naruszenia ochrony pamięci, prawdopodobnie nie jest to błąd gcc i nie jest to nawet problem sprzętu. W większości przypadków jest to spowodowane włączeniem wywłaszczenia jądra (ang. kernel preemption). Pomimo, że ta opcja jest bezpieczna na architekturze x86, to właśnie ona może być powodem uszkodzenia cache'a na PPC co jest najczęściej zauważanym błędem podczas kompilacji. Aby temu zapobiec, kompilujemy ponownie jądro z wyłączoną opcją wywłaszczania. Sprawdzamy czy wywłaszczanie jest załączone:

Listing 4.10: Sprawdzanie czy wywłaszczanie jest załączone

$ grep PREEMPT /usr/src/linux/.config

Jeśli zostanie zwrócone: "# CONFIG_PREEMPT is not set", wtedy należy zgłosić ten błąd.

Jeśli zwróci: "CONFIG_PREEMPT=y", wtedy należy wyłączyć tę opcję i ponownie skompilować jądro.

5.  Zasoby

Czy można kupić płytę CD z Gentoo na architekturę PPC?

Tak! Sprzedajemy Gentoo na płytach CD w naszym sklepie Gentoo.

Nie ma tu odpowiedzi na moje pytanie, co robić dalej?

Po pierwsze należy przeszukać dokumentację na www.gentoo.org. Obecnie istnieją dwie listy dyskusyjne związane z architekturą PPC, gentoo-ppc-dev oraz gentoo-ppc-user. Gentoo na PPC (na forums.gentoo.org) jest forum dyskusyjnym związanym problemami na PowerPC. Jak zwykle istnieje również gorąca dyskusja na kanale IRC (#gentoo-ppc sieci irc.freenode.net).

Ogólne informacje o Linuksach na PowerPC mogą być znalezione na stronie penguinppc.org. Ogólne informacje o Linuksie są na stronie www.linuxdoc.org.



Drukuj

Zaktualizowano 31 stycznia 2008

Podsumowanie: Zbiór pytań i odpowiedzi z listy dyskusyjnej gentoo-ppc-dev oraz z IRC-a.

Rajiv Manglani
Redaktor

Lars Weiler
Redaktor

Jochen Maes
Redaktor

Joseph Jezak
Redaktor

Mateusz Kotyrba
Tłumaczenie

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.