Niestety, znowu EFI mnie pokonało … ale może po kolei.
Parę dni temu chłopaką z UbuntuForums.org, a udało się uruchomić gruba’a na Mac’ach z 4Gb pamięci ram (czyli problem który mnie zatrzymał ostatnio został rozwiązany). Działającą wersje 64-bitowego grub.efi (wraz z modułami) można pobrać z tąd.
Wydaje mi się że warto w tym miejscu przytoczyć parę features które dostępne są w wersji 2. IMHO najważniejsze są dwa:
- mini bash – w czasie bootowania mamy możliwość przejścia w trym shella (domyślnie wciskając klawisz “c”) tam możemy np. wylistować partycje na dysku czy zawartość katalogu, możemy oczywiście też zabootować jądro. Dostępna jest również historia poleceń … bardzo przydatna w przypadku wszelakich literówek 😉
- wygodniejsza edycja ustawień systemu podczas boot’owania. Chodzi mi tutaj o możliwość zmian w grub.conf/menu.list tuż przed uruchomieniem systemu. We wcześniejszej wersji grub’a trzeba było najpierw wybrać linie którą chcemy edytować, potem przejść w tryb edycji wciskając “e”, po dokonaniu zmian zatwierdzić to enterem i całość potwierdzić jeszcze naciskając “b”. W nowym grubie opcje uruchomienia edytujemy jak w nano, nie trzeba już wybierać linii i podwójnie potwierdzać dokonanych zmian, wystarczy tylko ctrl+x i system sie zaczyna boot’ować albo ctrl+c żeby anulować zmiany
To na tyle jeżeli chodzi o nowego grub’a 😉 … wracając do sedna sprawy …
Skoro jest już działający bootloader, to wypadało by też mieć działające jądro … co niestety nie okazało się takie proste jak by się to mogło wydawać.
Jak też można się spodziewać aktualnie używane jądro (2.6.28-gentoo-r1) nie ruszyło (nie wstała w ogóle grafika grafika, brak żadnego promt’a itp …) … i tak zaczęły się poszukiwania działającego jądra … na szczęście nie trwały długo, z pomocą przyszedł nie dawno co opublikowany Debian Lenny. Dystrybucyjne jądro 2.6.28 ruszyło bez problemów, ale zaraz potem się zbuntowało i nie wiadmo z jakich powodów nie chciał zamontować rootfs’a.
Kolejne jądro jakie testowałem pochodziło również z Debiana Lenny, ale tym razem z dystrybucji live. Wraz z dołączonym obrazem initrd mogło wystartować mój system … sytuacja była trochę komiczna bo wykożystywałem jądro i obraz initrd z Debiana do odpalenia Gentoo, ale czego nie robi się żeby osiągnąć cel ;). Po udanym zalogowaniu udało się mi nawet bez większych problemów odpalić X’y ;>
Następnym etapem było pozyskanie pliku konfiguracyjnego tego jądra. Na pierwszy rzut poleciało
cat /proc/config.gz |
niestety bez skutku (koś tego nie wkompilował). Skoro nie da się w ten sposób to trzeba poszukać w google’u. Poszukiwania te też nic nie dały gdyż akurat w tym momencie serwer i strona http://merkel.debian.org/~jurij/ leżały … co za pech :/ … Na szczęście okazało się, że konfig starym dobrym sposobem leżał sobie w /boot … najprostsze rozwiązania są najlepsze, tylko nie zawsze się na nie szybko wpada …
Mając działającą konfigurację jądra można zabrać się za próbę rekompilacji. Jako pierwsze do boju stawiło się 2.6.28 (z patch’ami Gentoo). Kolejne parę godzin walki, kilkanaście reboot’ów i kompilacji … rezygnacja, cóż to może 2.6.27 (tym razem vanilla) … po paru godzinach status taki sam co z 2.6.28, czyli bez efektów. Ostateczność: 2.6.26 (też vanilla) … działa. Kolejne godziny walki i próby zmuszenia 2.6.28 (bazując ciągle na konfigu z 2.6.26) do działania spełzły na niczym …
Tak właśnie spędziłem sobie część soboty, prawie całą niedziele i 3h w poniedziałek na rekompilacjach i reboot’ach … tylko po to żeby dojść do wniosku, że coś pomiędzy 2.6.26, a 2.6.27 zostało skopane w EFIFB i/lub w FrameBuffer’rze, ale co gdzie i jak to ja nie mam zielonego pojęcia, w tym miejscu kończą się moje możliwości … co gorsze, poprawy nie widać nawet w 2.6.29-rc5, jeszcze gorsze jest to, że nie mam żadnych danych które mogły by pomódz developerą kernela … a może brak mi raczej odwagi żeby napisać na LKML 😉
Nic to, trzeba pokornie czekać na poprawki … a tym czasem nie postrzeżenie zaczął się nowy semestr 😐
Heh, a prawie dwa lata pozniej ktos inny ma podobna zabawe 🙂
@Nifk
Szczerze mówiąc to ja poddałem się i od ponad pół roku korzystam z emulacji bios’u. Laptopa praktycznie nie wyłączam tylko go usypiam, a jak już robię reboot raz na kilka tygodni/miesięcy to te kila sekund więcej czekania w “POST”cie mnie w żaden sposób nie zbawi 😉
Ogolnie to Apple zmieniło trochę standard EFI na swoje potrzeby i z tąd właśnie wynikają takie problemy …
Powodzenia 😉