Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Z racji tego że po zainstalowaniu sterowników od karty graficznej zmienia się roździelczość trybu tekstowego opiszę tu jak poprawić tą roździelczość i przy okazji roździelczość menu wyboru systemu w tym wypadku GRUB 2
Operacja wymaga wkompilowania modułu uvesafb w jądro więc zalicza się do średnio zaawansowanych
Pobieramy źródła jądra (Poradnik został napisany przy użyciu wersji jądra 3.6.36)
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
Musimy zainstalować potrzebne paczki do kompilacji
Zrobimy to poleceniem
apt-get install kernel-package libncurses5-dev libqt3-mt-dev
Kopiujemy nowo ściągnięte jądro do katalogu /usr/src
$su root (hasełko) #cp /home/user/linux-3.6.36.tar.bz2 /usr/src/
Wydajemy polecenie które rozpakuje nam źródła
#tar -xvjf linux-3.6.36.tar.bz2
Przechodzimy do katalogu z rozpakowanymi źródłami
#cd /usr/src/linux-3.6.36/
Wydajemy polecenie
make xconfig
W lewym górnym rogu dajemy kolejno File a potem Load i odnajdujemy działający config w katalogu /boot/ Następnie klikamy na niego dwukrotnie w celu załadowania do konfiguratora.
Teraz w zakładce Graphics support zaznaczamy Support for frame buffer devices na stałe a w oknie obok (Option) Userspace VESA VGA graphics support jako moduł
Następnie w zakładce Graphics support---Console display driver support zaznaczamy Framebuffer Console support na stałe
Teraz w lewym górnym rogu dajemy kolejno File a potem Save As... i w nowo otwartym okienku upewniając się że konfiguracja zostanie zapisana w katalogu ze źródłami i jej nazwa to .config klikamy save
Możemy już zamknąć graficzny konfigurator :)
Teraz w tym samym katalogu wydajemy polecenie
make-kpkg linux-image linux-headers --initrd
Chyba że mamy więcej niż jeden rdzeń bo wtedy wydajemy polecenie
make -jx
x=ilość rdzeni
a dopiero po kompilacji
make-kpkg linux-image linux-headers --initrd
To polecenie skompiluje nam jądro i zbuduje paczki .deb z linux-image i linux-headers a także utworzy plik initrd
Trochę to potrwa ...
Następnie wydajemy polecenie
cd ..
i potwierdzamy klawiszem Enter
Przeniesie nas to do katalogu /usr/src/ gdzie właśnie znajdują się owe paczki :)
Teraz wydajemy polecenie
#dpkg -i *.deb
co zainstaluje nam nowe jądro
Po zainstalowaniu jądra wydaj polecenia
reboot
system wykona restart i załaduje się na nowym jądrze w tym wypadku 3.6.36
Teraz część opisująca poprawę roździelczości
Instalujemy paczkę v86d i hwinfo poleceniem
sudo apt-get install v86d hwinfo
Sprawdzamy jaką roździelczość obsługuje karta w trybie framebuffer wydając polecenie
sudo hwinfo --framebuffer | grep 'Mode '
Otwieramy edytorem nano
sudo nano /etc/initramfs-tools/modules
i dodajemy do tego pliku
uvesafb
Zapisujemy zmiany !
Następnie wydajemy polecenie
sudo update-initramfs -u
Teraz otwieramy
sudo gedit /etc/default/grub
Edytorem "gedit" łatwiej jest się poruszać po skomplikowanych plikach :) i w sekcji
GRUB_CMDLINE_LINUX=
dodajemy parametr który wybraliśmy z polecenia sudo hwinfo --framebuffer | grep 'Mode'
U mnie wygląda to tak
GRUB_CMDLINE_LINUX="quiet vga=0x0365"
Następnie zmieniamy sekcje
#GRUB_GFXMODE=""
na naszą natywną roździelczoś
U mnie wygląda to tak
GRUB_GFXMODE=1440x900
bez #
Całość wygląda tak
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX="quiet vga=0x0365" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' GRUB_GFXMODE=1440x900 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_LINUX_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
Teraz wydajemy polecenie
sudo update-grub2
i restartujemy komputer
Jeżeli wszystko wykonaliśmy poprawnie to powita nas ładny GRUB2 i tryb tekstowy po wciśnięciu kompinacji klawiszy
Ctrl+Alt+F1
wreszcie będzie miał poprewną i zarazem czytelną roździelczość :)
Pozdrawiam wszystkich :)
Gdyby nie mozolna pomoc pewnych osób na forum pewnie bym tego nie rozwiązała Może ten poradnik komuś się przyda
Dzięki chlopaki ! :)
Ostatnio edytowany przez zuzaxxx (2010-10-29 14:37:45)
Strasznie pokręcony ten przepis.
Nie prościej, zamiast zabawy w dopisywanie do initramfs, zaznaczyć moduł na sztywno w jaju (vesa|uvesa), i podać rozdzielczość konsoli jako parametr gruba?
Np teraz mam takie jajo (uvesa):
title System 2.6.36-gen1 (hd0,1) root (hd0,0) kernel /boot/vmlinuz-2.6.36-gen1 root=/dev/sda1 video=uvesafb:1024x768-32@85,mtrr:3,ywrap nosplash ro quiet
Natomiast dla vesy np:
title System 2.6.35.4 (hd0,1) root (hd0,0) kernel /boot/vmlinuz-2.6.35.4 root=/dev/sda1 ro vga=792 quiet nosplash
Initrd w ogóle nie posiadam, a wsio działa, stabilnie jak skała.
Wpisy pochodzą z gruba1 - w wersji 2 to wyglądałoby trochę inaczej.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2010-10-29 15:05:17)
Offline
Chciałam najprościej ale przy vesa nie mogłam zmienić GRUB_GFXMODE=1440x900 bo wywalalo przy starcie "Poza zakresem pracy monitora dlatego skoczyłam na uvesa :)
Ostatnio edytowany przez zuzaxxx (2010-10-29 15:28:40)
Bo grub2 miewa takie humory ;), w Gentoo do tej pory czas ma status pakietu niestabilnego.
W ubuntu musiałem edytować ręcznie
/boot/grub/grub.conf
- bo wpisy w /etc/default/grub wywalały błędy przy aktualizacji konfiguracji (update-grub).
Ostatnio edytowany przez Jacekalex (2010-10-29 15:10:02)
Offline
No ale tam jest wyraźnie napisane że owy plik jest plikiem wygenerowanym i żeby go nie edytować.
zuzaxxx napisał(-a):
Z racji tego że po zainstalowaniu sterowników od karty graficznej zmienia się roździelczość trybu tekstowego
Nie każdy ma Nvidię i używa zamkniętych sterów od producenta.
zuzaxxx napisał(-a):
Operacja wymaga wkompilowania modułu uvesafb w jądro więc zalicza się do średnio zaawansowanych
1. Można użyć vesafb, wtedy cały poradnik ograniczałby się do dodania parametru vga=xxx dla kernela.
2. Dystrybucyjne jądro zawiera uvesafb, kompilacja kernela nie jest wymagana.
3. Jest już na DUG-u poradnik dotyczący uvesafb => http://dug.net.pl/tekst/90/uvesafb_w_debianie. Może zamiast pisać nowy lepiej skontaktować się z autorem (Huk często bywa na forum) i uzupełnić czy doprecyzować tamten?
zuzaxxx napisał(-a):
Chyba że mamy więcej niż jeden rdzeń bo wtedy wydajemy polecenie
Kod:
make -jx
Od tego jest opcja CONCURRENCY_LEVEL:
CONCURRENCY_LEVEL=2 make-kpkg --revision=666 kernel_image ...
zuzaxxx napisał(-a):
Kod:
sudo gedit /etc/default/grub
1. Daj już spokój temu sudo — to nie Ubuntu.
2. W Debianie dostępne są różne środowiska graficzne, różne edytory... nie każdy ma gedit.
Jacekalex napisał(-a):
Nie prościej, zamiast zabawy w dopisywanie do initramfs, zaznaczyć moduł na sztywno w jaju (vesa|uvesa), i podać rozdzielczość konsoli jako parametr gruba?
Robiłeś tak w Debianie z uvesafb i działało (sam nigdy nie próbowałem)?
zuzaxxx napisał(-a):
Chciałam najprościej ale przy vesa nie mogłam zmienić GRUB_GFXMODE=1440x900 bo wywalalo przy starcie "Poza zakresem pracy monitora dlatego skoczyłam na uvesa :)
Jedno z drugim (rozdzielczość tabelki gruba i rozdzielczość trybu tekstowego na framebufferze) nie ma ze sobą nic wspólnego.
Jacekalex napisał(-a):
Bo grub2 miewa takie humory ;)
...
- bo wpisy w /etc/default/grub wywalały błędy przy aktualizacji konfiguracji (update-grub).
Grub2 faktycznie jest strasznie udziwniony, ale o takim problemie nie słyszałem...
zuzaxxx napisał(-a):
No ale tam jest wyraźnie napisane że owy plik jest plikiem wygenerowanym i żeby go nie edytować.
Na upartego można, tyle że to nie ma większego sensu. Po każdym update-grub (wywoływanym często automatycznie) i tak zostanie nadpisany i trzeba by go potem edytować ponownie żeby dodać te same ustawienia ;)
Offline
Ale nie jest napisane (pamiętam z Ubuntu), że to jest grub w wersji beta, w którym często coś nie działa.
Np w Ubu 10.04.1 nie chciał przyjąć 2 parametrów po edycji /etc/default/grub, - np quiet przyjął,
ale quiet splash już nie - bo wywalał błąd.
A moja obecna płyta gł. wymaga parametru acpi=force - który i tak musiałem dodać z palca, niezależnie od tego, co jest napisane i gdzie.
ArnVaker napisał(-a):
Robiłeś tak w Debianie z uvesafb i działało (sam nigdy nie próbowałem)?
zuzaxxx napisał(-a):
Chciałam najprościej ale przy vesa nie mogłam zmienić GRUB_GFXMODE=1440x900 bo wywalalo przy starcie "Poza zakresem pracy monitora dlatego skoczyłam na uvesa :)
Jedno z drugim (rozdzielczość tabelki gruba i rozdzielczość trybu tekstowego na framebufferze) nie ma ze sobą nic wspólnego.
Jacekalex napisał(-a):
Bo grub2 miewa takie humory ;)
...
- bo wpisy w /etc/default/grub wywalały błędy przy aktualizacji konfiguracji (update-grub).Grub2 faktycznie jest strasznie udziwniony, ale o takim problemie nie słyszałem...
Niektóre błędy są specyficzne dla Ubuntu, gdzie nowszy, (czasem alfa lub beta) oznacza lepszy.
Obecny konfig fruwa między Gentoo a Ubuntu, a kernel to kernel, jeśli w Ubuntu uvesa wbudowana w jajo chodzi, to z jakiego racjonalnego powodu mogłaby nie ruszyć pod Debianem.
Zwłaszcza, ze kiedy ostatnio testowałem Squeeze, to szedł na jaju zbudowanym z tych samych źródeł, (i z tym samym konfigiem) co wcześniej Ubuntu.
(jajo 2.6.33-zen*)
Po prostu skopiowalem źródła, ponownie skompilowałem, i wszystko działało.
Akurat pod względem gruba2, kms, dkms, i konfiguracji kernela wielkich różnic między Karmic'iem (10.04) a Squeeze nie ma.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2010-10-29 16:17:39)
Offline
ArnVaker napisał(-a):
Daj już spokój temu sudo — to nie Ubuntu.
To jak inaczej edytować plik wymagający uprawnień superużytkownika pomijając terminal root?
Jacekalex napisał(-a):
z jakiego racjonalnego powodu mogłaby nie ruszyć pod Debianem.
[ 0.679802] uvesafb: failed to execute /sbin/v86d [ 0.679807] uvesafb: make sure that the v86d helper is installed and executable [ 0.679811] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2) [ 0.679815] uvesafb: vbe_init() failed with -22 [ 0.679821] uvesafb: probe of uvesafb.0 failed with error -22
zuzaxxx napisał(-a):
To jak inaczej edytować plik wymagający uprawnień superużytkownika pomijając terminal root?
Zwyczajnie przelogować się na roota: su (enter, hasło, enter) i tyle...
Domyślnie sudo w Debianie nie będzie działać tak jak domyślnie w Ubuntu.
Offline
Ok tylko jak tylko jak np. instaluje jakiś pakiet to jako root (tabulator) nie podsyła mi podpowiedzi a niestety nie jestem w stanie zapamiętać nazewnictwa wszystkich paczek w repozytorium przy użyciu sudo (tabulator) podpowiada mi po wpisaniu np. gnome-system-...
Zaś nie korzystam z graficznych oprawek apta typu synaptic
Odnośnie tego poradnika http://dug.net.pl/tekst/90/uvesafb_w_debianie i punktu 4 (Uruchomienie nowego framebuffera bez initrd)
Huk napisał(-a):
Odpalamy sudo update-initramfs -u -k 2.6.30-2-686
Jak można wykonać to polecenie bez initrd...
No ale dałam i dostałam...
/boot/initrd.img-2.6.xxx does not exist. Cannot update.
Ostatnio edytowany przez zuzaxxx (2010-10-29 20:00:41)
zuzaxxx napisał(-a):
Jak można wykonać to polecenie bez initrd...
No nie da się :) Ale ten poradnik był pisany dla kernela z initrd i uvesafb jako moduł.
Według Twojego poradnika zresztą też się nie da bez initrd :)
Kto odpalił na Debianie uvesafb wkompilowany na sztywno, na kernelu bez initrd, niechaj przemówi...
Offline
eee... a nie lepiej KMS?
Offline
ZiomekPL: KMS na Nvidii tylko via nouveau, a nouveau żre się z zamkniętymi sterami ;>
Offline
noo.. musisz wybrać sobie jeden sterownik :D
a nouveau z tego co słyszałem działa sobie całkiem dobrze
(w przeciwieństwie do radeona :( zwlaszcza mojego 9600 (R300) )
ale takie KMS jest całkiem fajne, tylko u mnie musiałem go w moduł walnąć, bo wkompilowany coś nie działał :P a poza tym, nie rozumiem po co tutaj robić initrd, skoro można potem modprobem załadować go? ;>
Offline
ArnVaker napisał(-a):
Kto odpalił na Debianie uvesafb wkompilowany na sztywno, na kernelu bez initrd, niechaj przemówi...
/me odpalił ;)
Normalnie nie będzie to działać ze względu na opcje kompilacji v86d. W Debianie jest tak:
./configure --default
a żeby miało to szansę działać konieczne jest:
./configure --with-klibc
Jest jeszcze dodatkowy warunek — w momencie kompilacji v86d, w systemie musi być klibc skompilowany w oparciu o źródła/nagłówki/whatever kernela skompilowanego ze wsparciem uvesafb. Ja się specjalnie nie wysilałem i tylko skopiowałem plik /sbin/v86d, który już miałem na Gentoo :)
Offline
Więcej zachodu z tym uvesa aniżeli z ... To se pomyślałem że odpalę vese, o ile działa z initrd to bez już nie chce, może trzeba coś dodatkowo dopisać do gruba?
Offline
raven18 napisał(-a):
może trzeba coś dodatkowo dopisać do gruba?
Dla vesy? Tylko parametr w stylu vga=795 definiujący rozdziałkę...
Offline
Wg. mnie wystarczy tylko ustawić rozdzielczość w pliku
/etc/default/grub
np u mnie:
GRUB_GFXMODE=1280x800x32
i tyle. Bo tę opcję "vga=795" to chyba trzeba dodawać po każdym updacie gruba?
Ostatnio edytowany przez tm (2010-11-19 12:20:37)
Offline
U mnie tej opcji w ogóle nie przyjmuje, tylko np
GRUB_GFXPAYLOAD_LINUX=1680x1050
Offline
To nie to, tamta jest do rozdzielczości tej grubowej tabelki ;)
Tutaj:
GRUB_CMDLINE_LINUX_DEFAULT="vga=795 quiet"
albo tutaj:
GRUB_CMDLINE_LINUX="vga=795 quiet"
(nie mam aktualnie grub2, także nie sprawdzę)
To jest argument dla kernela! To samo co w starym grubie:
# defoptions=vga=795 quiet
Offline
To dlaczego u mnie to działa?:)
Chyba że to to:
set gfxpayload=1280x800x32
bo zauważyłem że mam taką opcję dodaną. Nie wiem po co i kiedy to dodawałem:) A te opcje podanie przez Ciebie mam nie ustawione, więc któraś z powyższych działa na pewno, bo bez tego mam litery na pół ekranu.
Offline
GRUB_GFXMODE — to jest do rozdzielczości grubowej tabelki
GRUB_GFXPAYLOAD — to nie mam pojęcia ;)
GRUB_CMDLINE_LINUX_DEFAULT — tu normalnie przekazuje się opcje dla kernela
PS Ja gruba2 nie znam, miałem go raz tylko przez chwilę... zaraz poleciał bo mnie strasznie irytował ;>
Offline
Skompilowałem na configu pappy mcfae i tak samo nie działa.
Offline
Może napiszesz co właściwie chcesz osiągnąć, co w tym kierunku wykonałeś i co konkretnie "nie działa"? ;)
Offline
No jak to co chcę osiągnąć? chcę poprawić rozdzielczość trybu tekstowego :)
Jak na razie działa na kernelu z initrd (dystrybucyjnym), wystarczyło dopisać
GRUB_GFXPAYLOAD_LINUX=1680x1050
w grubie, wcześniej pisałem że mam z tym problem, tzn z grubem 2, no i że nie działa, rozdzielczość się nie zmieniała, okazało się że gryzło się z inną opcją, którą kiedyś zmieniłem, teraz w każdym razie już działa
obecnie chcę to samo osiągnąć na kernelu bez initrd, zaznaczam te same opcje co w kernel seeds (dotyczące fb i grafiki), zresztą powinny wystarczyć te z pierwszego postu, ale, no właśnie, nie działa, a konkretniej nie działa w ogóle tryb tekstowy, na moim configu, jak i z tym z kernel seeds (mój jest bardziej okrojony, ale to nie ma w sumie znaczenia, skoro nie działa i na tym i na tym)
cały czas piszę o vesafb
Offline