Gentoo/PPC, często zadawane pytania
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 |
$ 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 |
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 |
dev.mac_hid.mouse_button_emulation = 1
dev.mac_hid.mouse_button2_keycode = 87
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 |
ALSA PowerMac devices --->
<*> PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest)
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.
Zawartość tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons -
Attribution / Share Alike.
|