|
Walka z GRUB-em 2?
raven18 - 28-09-2009 20:48
Zaktualizowałem GRUB-a do wersji 2. Myślałem że wszystko idzie ku prostocie, ostatnio popularne stwierdzenie przyjazne dla użytkownika ale jak widać niekoniecznie. Ale do rzeczy, chcę dodać sobie coś takiego jak hiddenmenu: http://grub.enbug.org/Hiddenmenu Można to dodać do /etc/grub.d/XX_script (za XX sobie coś wpisuje, może być np 66, hę) ale czy nie powinno to być dopisane do 00_header a może 40_custom? Trzeba jeszcze dodać wpis do /etc/default/grub Jaki wpis i z jakimi opcjami? Dla skryptu 66_hiddenmenu wpis hiddenmenu? Jak i gdzie dodać opcje do kernela (modprobe np.)? System uruchamia mi się jak w trybie recovery, da się coś z tym zrobić, średnio mi się chce czekać kilkadziesiąt sekund jak dotychczas to było kilkanaście. Naprawione Zostało hiddenmenu. Na razie to wszystko, po pierwszej godzinie korzystania z gruba2 i przejrzeniu dokumentacji.
Zrobiłem, skrypt dodałem do custom. Ta cała konfiguracja w /etc/default/grub jest do niczego, zupełnie nie wiadomo co wpisać. Najlepiej wszystko robić bezpośrednio na skryptach konfiguracyjnych w /etc/grub.d i trzymać się daleko od dokumentacji, która tylko jeszcze bardziej miesza.
KeFaS - 29-09-2009 00:44
Po ostatniej aktualizacji, po której niestety też zdecydowałem się zainstalować GRUB2 i walczyłem z nim prawię godzinę, wróciłem do grub-legacy. Moim zdaniem bezsensem jest używać czegoś co ma tak beznadziejne wsparcie no i w sumie po co zmieniać coś co działa dobrze (no może do obsługi ext4, ale akurat mi to niepotrzebne)?
raven18 - 29-09-2009 20:23
Jeszcze co do tego gruba, gdyby ktoś miał problemy i trafił na mój temat :mrgreen: Wartości najlepiej dopisywać jest do /etc/grub.d/40_custom # Boot automatically after 30 secs. set timeout=30
Ile czasu ma być widoczne menu wyboru systemu # By default, boot the first entry. set default=0
Ustawiamy system, który chcemy by nam się automatycznie uruchamiał (podobnie w grub1) # Change the colors. menuentry "Change the colors" { set menu_color_normal=light-green/brown set menu_color_highlight=red/blue }
Kolory menu tekstowego, sam mam standardowo, szary + czerń set menu_color_normal=light-gray/black set menu_color_highlight=black/light-gray
echo -n "Press `ESC' to enter the menu... " if sleep --verbose --interruptible 3 ; then set timeout=0 fi
Wpis dla hiddenmenu menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64" { insmod reiserfs set root=(hd0,5) search --no-floppy --fs-uuid --set 7c202321-7c9a-4160-9c1c-6ebb1dc2933c linux /boot/vmlinuz-2.6.30-1-amd64 root=UUID=7c202321-7c9a-4160-9c1c-6ebb1dc2933c ro quiet initrd /boot/initrd.img-2.6.30-1-amd64 }
Przykładowy wpis do bootownia linuksa, UUID-y sprawdza się za pomocą: ls -l /dev/disk/by-uuid/
menuentry "Windows Vista/Longhorn (loader) (on /dev/sda1)" { insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set 885847ac58479838 drivemap -s (hd0) ${root} chainloader +1 }
Dla Windowsa - nie testowane, ale powinno być ok. Po skończonej edycji # update-grub
i
# reboot
:-) Instalacja/naprawa gruba: http://grub.enbug.org/Grub2LiveCdInstallGuide
darkwater - 29-09-2009 21:03
Jeśli na dysku masz inne systemy, i chciałbyś je widzieć "automatycznie" w menu grub2, zainstaluj os-prober. UUIDy możesz sprawdzić za pomocą blkid
konju009 - 10-10-2009 19:26
Dziś próbowałem zmienić ustawienia gruba2, w tym celu jako root edytowałem plik /boot/grub/grub.cfg
Zmieniłem wartość w:
set default
oraz w:code]set gfxmode=640x480[/code] Ustawiłem:
set gfxmode=1440x900
i zapisałem zmiany.
Potem jako root wpisałem:
grub-update
ale nie zaobserwowałem żadnych zmian.
Co zrobiłem źle lub czego nie zrobiłem?
gruby - 10-10-2009 19:58
Edytujesz jako root
/etc/grub.d/00_header
szukasz ścieżki
i zmieniasz na
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1440x900 ; fi
potem
grub-update
powinno być dobrze ;-)
ArnVaker - 10-10-2009 20:30
...
konju009 - 10-10-2009 20:33
Dziękuję za odpowiedź, działa ale nie o to mi chodziło chciałbym żeby rozdzielczość ekranu podczas ładowania Debiana była wyższa. W starym grubie dało się to zrobić.
budzigniew - 11-10-2009 14:57
ArnVaker, mozna to tez zrobic za pomoca update-grub2
konju009, w /etc/grub.d/10_linux musisz znalezc linijke
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro $2
i po ro dodac
vga=xxx
gdzie "xxx" to tryb VGA.
Po tym system bedzie krzyczal, ze to przestarzala forma zmiany rozdzielczosci, ale na razie nie chcialo mi sie szukac, jak to zrobic w nowej.
I jeszcze tabelka.
kodzik - 11-10-2009 15:30
W /etc/default/grub
Zmieniasz wpis
GRUB_GFXMODE=
i po = dajesz rozdzielczość, jaką chcesz mieć w grubie
By zmienić rozdzielczość konsoli to w /etc/default/grub zmieniasz wpis: GRUB_CMDLINE_LINUX_DEFAULT="quiet"
i tutaj dopisz po spacji vga=792 i daj
update-grub
Akkon - 27-10-2009 10:24
By zmienić rozdzielczość konsoli to w /etc/default/grub zmieniasz wpis: GRUB_CMDLINE_LINUX_DEFAULT="quiet"
i tutaj dopisz po spacji vga=792 i daj
update-grub
W tym poradniku radzisz inaczej. Niestety tatmtem sposób u mnie nie zadziałał. Na marginesie myślę, że do tamtego opisu warto by dodać informację o konieczności zainstalowania zaktualizowanego gruba również w MBR grub-install /dev/dysk
W przeciwnym wypadku może okazać się, że mimo aktualizacji ciągle korzystamy ze starej wersji.
grub-update
Czyli w nowym grubie zamiast polecenia: update-grub
jest: grub-update
Co to komu przeszkadzało? Eh, jakoś nie mogę się do niego przekonać...
U mnie działa tylko komenda update-grub
oliss - 29-10-2009 13:46
Po zaktualizowaniu grub-a zanim załaduję się grub mam napis [Minimal BASH-like editing is supported.For the first eord, TAB lists possible command completions.Anywhare else TAB lists the possible completions of a device/filename]
po jakiejś minucie mam okno wyboru systemu Oto mój grub.cfg może się przyda # # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #
### BEGIN /etc/grub.d/00_header ### set default=0 insmod ext2 set root=(hd1,2) search --no-floppy --fs-uuid --set fe5ac7b0-5301-47ca-b82d-26dca4e9c3f9 if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=640x480 insmod gfxterm insmod vbe if terminal_output gfxterm ; then true ; else # For backward compatibility with versions of terminal.mod that don't # understand terminal_output terminal gfxterm fi fi set timeout=5 ### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ### insmod ext2 set root=(hd1,5) search --no-floppy --fs-uuid --set f8fa5220-66bc-43ed-aaf9-9d5258586b49 insmod png if background_image /grub/moreblue-orbit-grub.png ; then set color_normal=black/black set color_highlight=magenta/black else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi ### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ### menuentry "Debian GNU/Linux, with Linux 2.6.30-2-486" { insmod ext2 set root=(hd1,5) search --no-floppy --fs-uuid --set f8fa5220-66bc-43ed-aaf9-9d5258586b49 linux /vmlinuz-2.6.30-2-486 root=UUID=fe5ac7b0-5301-47ca-b82d-26dca4e9c3f9 ro quiet vga=792 initrd /initrd.img-2.6.30-2-486 } menuentry "Debian GNU/Linux, with Linux 2.6.30-2-486 (recovery mode)" { insmod ext2 set root=(hd1,5) search --no-floppy --fs-uuid --set f8fa5220-66bc-43ed-aaf9-9d5258586b49 linux /vmlinuz-2.6.30-2-486 root=UUID=fe5ac7b0-5301-47ca-b82d-26dca4e9c3f9 ro single initrd /initrd.img-2.6.30-2-486 } menuentry "Debian GNU/Linux, with Linux 2.6.26-1-486" { insmod ext2 set root=(hd1,5) search --no-floppy --fs-uuid --set f8fa5220-66bc-43ed-aaf9-9d5258586b49 linux /vmlinuz-2.6.26-1-486 root=UUID=fe5ac7b0-5301-47ca-b82d-26dca4e9c3f9 ro quiet vga=792 initrd /initrd.img-2.6.26-1-486 } menuentry "Debian GNU/Linux, with Linux 2.6.26-1-486 (recovery mode)" { insmod ext2 set root=(hd1,5) search --no-floppy --fs-uuid --set f8fa5220-66bc-43ed-aaf9-9d5258586b49 linux /vmlinuz-2.6.26-1-486 root=UUID=fe5ac7b0-5301-47ca-b82d-26dca4e9c3f9 ro single initrd /initrd.img-2.6.26-1-486 } ### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ### menuentry "Microsoft Windows XP Professional (on /dev/hda1)" { insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set aaf03466f0343ac1 drivemap -s (hd0) ${root} chainloader +1 } ### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ###
jaqbeu - 29-10-2009 16:34
To ja się tylko wypowiem co do rozdzielczości konsoli, bo mi działa. :) Ja zmieniłem tylko 1 linijkę w /boot/grub/grub.cfg
Fragment pliku: menuentry "Debian GNU/Linux, Linux 2.6.30-2-amd64" { insmod ext2 set root=(hd0,1) search --no-floppy --fs-uuid --set 28830157-4e90-4456-9e31-2115192ca2a7 linux /vmlinuz-2.6.30-2-amd64 root=UUID=1a3871b7-5391-4479-9ff4-0af88dace0ca ro quiet vga=792 initrd /initrd.img-2.6.30-2-amd64 }
Jak widać zmieniłem tylko linijkę z kernelem ("linux /vmlinuz..."), na końcu dodając vga=792 i działa jak należy. Przynajmniej u mnie. :)
jasiekmarc - 29-10-2009 18:57
I źle robisz, bo to zniknie. Powinieneś zrobić tak, jak powiedział kilka postów wyżej kodzik z tą różnicą, że zamiast niedziałającego
update-grub
powinieneś zrobić
update-grub2
.
oliss - 30-10-2009 11:52
Zgadzam się, dobrym sposobem jest sposób, który przedstawił kodzik i ja też tak mam. Wie ktoś, jak usunąć ten napis, o którym wcześniej napisałem? Denerwuje mnie to czekanie.
najczarniejszy - 02-11-2009 13:31
Ja zrobiłem tak:
1. Plik /etc/default/grub: GRUB_GFXMODE=1366x768x32
2. Plik /etc/grub.d/00_header: if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1366x768x32; fi
oraz w tym samym pliku: set gfxmode=${GRUB_GFXMODE} set gfxpayload=keep insmod gfxterm
3.
update-grub
oczywiście w konsoli z uprawnieniami roota.
Dzieki opcji set gfxpayload=keep unikamy niepotrzebnych zmian rozdzielczości w czasie startu systemu, jeśli oczywiście nasz tryb graficzny ma ustawioną taką samą.
Akkon - 02-11-2009 19:34
Co człowiek to inne rozwiązanie. U mnie żaden sposób podany przez kodzika nie działa.
zomer - 30-12-2009 22:35
Jest jakiś odpowiednik polecenia:
grub> root (hd0,0)
grub> setup (hd0)
Bo po sformatowaniu wszystkiego na partycji:
/dev/sda1
To moja partycja
/boot
i ponownym zainstalowaniu nowego gruba
grub-install
oraz aktualizacji grub.cfg
update-grub2
Grub w ogóle się nie uruchamia. Próbowałem rozwiązać problem instalując starego gruba z Knoppiksa ale przy okazji zmieniłem partycję
/dev/sda2
(systemową) z ext3 do ext4. Z tego co czytam to stary grub nie da rady uruchomić systemu na ext4 mimo iż sam jest na ext3.
Yampress - 11-03-2010 13:35
Ja wole stary grub . Ponieważ dobrze go znam i nie mam problemów ustawić 3 systemy w multiboocie. Wiem jak go przywracać, konfigurować. Odnośnie grub2 to nie widziałem jeszcze zadowalającej dokumentacji do niego. :( może z czasem znajde i spróbuje.
zet120 - 12-03-2010 08:51
Wedle mojej oceny jest dokładnie odwrotnie ponieważ dla mnie Grub2 jest naturalnym rozwinięciem możliwości starszego brata, a że zmienił się sposób konfiguracji.... Również i w Grubie2 nie ma większych problemów z 3 systemami w multiboocie w tym i z wystartowaniem Chameleona jak i bezpośrednio samego Mac OS X. Intnieją również przynajmniej dla Ubuntu możliwości dosyć gruntownej zmiany wyglądu Gruba2, początkowo jako modernizacja samego Gruba2, a teraz jako niezależny projekt. http://code.google.com/p/burg/wiki/InstallUbuntu
Odnośnie grub2 to nie widziałem jeszcze zadowalającej dokumentacji do niego.
W mojej ocenie jest: http://members.iinet.net/~herman546/p20.html http://grub.enbug.org/Manual http://ubuntuforums.org/showthread.php?t=1195275
Bastian - 09-05-2010 17:06
Witam. Nie mogę poradzić sobie ze zmuszeniem GRUB2 do wyświetlania ekranu powitalnego podczas ładowania systemu. Obrazek pojawia się podczas wyświetlania menu gruba, a potem już tylko wyświetlają się wyniki ładowania skryptów. Z tego co widzę to wszystko jest dobrze i powinno działać.
/etc/grub.d/05_debian_theme:
#!/bin/bash -e
source /usr/lib/grub/grub-mkconfig_lib
# this allows desktop-base to override our settings f=/usr/share/desktop-base/grub_background.sh if test -e ${f} ; then source ${f} else WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png" COLOR_NORMAL="black/black" COLOR_HIGHLIGHT="magenta/black" fi
set_blue_theme() { cat << EOF set menu_color_normal=cyan/blue set menu_color_highlight=white/blue EOF }
# check for usable backgrounds use_bg=false if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then for i in /boot/grub/`basename ${WALLPAPER}` ${WALLPAPER} ; do if is_path_readable_by_grub $i ; then bg=$i case ${bg} in *.png) reader=png ;; *.tga) reader=tga ;; *.jpg|*.jpeg) reader=jpeg ;; esac if test -e /boot/grub/${reader}.mod ; then echo "Found background image: `basename ${bg}`" >&2 use_bg=true break fi fi done fi
# set the background if possible if ${use_bg} ; then prepare_grub_to_access_device `${grub_probe} --target=device ${bg}` cat << EOF insmod ${reader} if background_image `make_system_path_relative_to_its_root ${bg}` ; then set color_normal=${COLOR_NORMAL} set color_highlight=${COLOR_HIGHLIGHT} else EOF fi
# otherwise, set the traditional Debian blue theme if ${use_bg} ; then set_blue_theme | sed -e "s/^/ /g" echo "fi" else set_blue_them fi
etc/default/grub:
# 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="quiet splash" GRUB_CMDLINE_LINUX=""
# 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=640x480
# 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"
Początkowo miałem wartość:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
i myślałem ze to dopisanie "splash" rozwiąże problem ale nic to nie dało. Również odkomentowałem:
GRUB_GFXMODE=640x480
Ale to tez nie pomogło. Oczywiście za każdym razem robię:
update-grub
Mój Debian do wersja testowa.
Czy ktoś ma pomysł o co chodzi?
Dodane: Jeszcze mi na myśl jedna rzecz przyszła. Czy może ktoś sprawdzić, czy po starcie systemu macie wgrany moduł glxterm? Wydaje mi się, że powinien on być wgrany wraz ze startem systemu i od niego zależy wyświetlanie obrazka. U mnie nie ma.
Bastian - 10-05-2010 19:53
OK, temat rozwiązany.
Po pierwsze GRUB2 nie obsługuje wyświetlania grafiki podczas startupu i nie wiem skąd mi się wzieło przekonanie, że jest inaczej.
Tak więc powróciłem do splashy. Jednak wymagało to troche pracy gdyż, GRUB2 nie używa już poleceń bufora ramki vga=791. Żeby na debianie cieszyć sie poprawnym splashy należy:
1. w /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
2. W skrypcie uruchamiającym splasha /etc/init.d/splash dopisać:
#!/bin/sh ### BEGIN INIT INFO # Provides: splashy # Required-Start: mountkernfs # Required-Stop: # Default-Start: S # Default-Stop: 0 6 # Short-Description: A script to calculate the progress percentage for init scripts # Description: This calculates the progress percentage for the scripts in # /etc/rcS.d and /etc/rc$CURRENT_RUNLEVEL.d. This will also # start Splashy at boot (if not already started from initramfs), # and at shutdown (yes, when "stop" argument is given, # which is really counter-intuitive). ### END INIT INFO
# Author: Tim Dijkstra <tim@famdijkstra.org>, # Luis Mondesi <lemsx1@gmail.com> # Luca Capello <luca@pca.it> # # If called in the rc[06].d runlevels with the stop target it will start # splashy in 'shutdown' mode. In the rcS.d runlevel it will try # to start splashy if it didn't start yet from initramfs. # # When it decides to start splashy it will first calculate the # progress percentage which will be used by the calls to splashy_update # in the log_end_msg functions. # This is really simple. We just count them and put them # in alpha-numeric order. Their percentage is then just # int( their number on the list * ( 100 / total number on list) ) # # Of course not all packages use log_end_msg yet, but that # doesn't matter. The packages that do, will trigger the update # anyway. This may result in big jumps in the percentage. # The more scripts start using it, the more granular it will become. # # # This script also needs to detect if Splashy is running and if not # start it. It's assumed that this will only be run while halt/reboot # and at RUNLEVEL S. # PATH="/sbin:/bin:/usr/sbin:/usr/bin" NAME="splashy" DESC="Boot splash manager" STEPS_DIR="/lib/init/rw/$NAME" DEBUG=0
[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
# Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. if [ -r "/lib/lsb/init-functions" ]; then . "/lib/lsb/init-functions" else echo "Could not read file /lib/lsb/init-functions. Please install lsb-base" exit 1 fi
set -e
[ "$ENABLE" = "1" ] && log_warning_msg "To enable $NAME add 'splash' to the kernel command line. Use of ENABLE in /etc/default/$NAME is deprecated.";
check_to_enable () { ENABLE=0 SINGLE=false SPLASH=false FBMODESET=false
for x in $(cat /proc/cmdline); do case $x in single) SINGLE="true" ;; splash) SPLASH="true" ;; nosplash) SPLASH="false" ;; vga=*|video=*) FBMODESET="true" ;; esac done # grub2 gfxmode? [ "$FBMODESET" != "true" ] && [ -f /boot/grub/grub.cfg ] && \ grep -q "^[[:space:]]*set[[:space:]]*gfxmode=" /boot/grub/grub.cfg && \ FBMODESET="true"
[ "$SPLASH" = "true" -a "$FBMODESET" = "true" ] && ENABLE=1 [ "$SINGLE" = "true" ] && ENABLE=0
if [ "$ENABLE" = "0" ]; then log_warning_msg "To enable $NAME on multiuser runlevel add 'splash' and a valid framebuffer videomode to the kernel command line" exit 0 fi }
calculate_steps () { log_daemon_msg "(Re)generating splash steps for"
[ -f /etc/inittab ] && RLVL=`sed -n 's/id:\([2345]\):initdefault:/\1/ p' /etc/inittab`
[ ! -d $STEPS_DIR ] && mkdir -p $STEPS_DIR # # Mount a tmpfs on $STEPS_DIR # # on Ubuntu our Steps dir gets umounted if using /dev/shm/splashy # we will always use /lib/init/rw/splashy and mount a tmpfs there SHM_OPT= [ "${SHM_SIZE:=$TMPFS_SIZE}" ] && SHM_OPT="-osize=$SHM_SIZE" mount -n -t tmpfs shmfs $STEPS_DIR
TMP=`mktemp -p $STEPS_DIR`
# While booting rcS will also be executed # we only care about the scripts that actually call log_end_msg # if not we could end up never completing our progressbar! grep -l log_end_msg /etc/rcS.d/S* > $TMP 2> /dev/null || true
for ILVL in ${RLVL:=2} 0 6; do # in debian rc.local runs log_end_msg conditionally. we simply skip that grep -l log_end_msg /etc/rc$ILVL.d/[KS]* 2> /dev/null | grep -v rc.local >> $TMP || true NR=`sed -n -e '$=' $TMP` I=1 for SCR in `cat $TMP`; do echo "$SCR $(($I*100/$NR))" I=$(($I+1)) done > "$STEPS_DIR/$ILVL-progress"
# Truncate $TMP file echo -n > $TMP log_action_cont_msg " rc$ILVL.d" done
# In the first stage of booting RUNLEVEL will be S ln -sf "$STEPS_DIR/${RLVL:=2}-progress" "$STEPS_DIR/S-progress" rm -f $TMP
log_action_end_msg 0 }
# Bug #400598,#401999 if [ -z "${RUNLEVEL:-}" ]; then # we need only the current level RUNLEVEL=`runlevel | sed 's/^. //'` fi
case "$1" in start) check_to_enable
# We start splashy in rcS.d if we haven't already in initramfs [ "x$RUNLEVEL" = "xN S" -o "x$RUNLEVEL" = "xS" ] || exit 0 calculate_steps
log_daemon_msg "Starting $DESC" $NAME if [ "$DEBUG" = "1" ]; then pidof $NAME > /dev/null || \ echo "$0: Splashy not running?" >> $STEPS_DIR/splashy.log fi if (pidof $NAME > /dev/null); then # as suggested by John Hughes <john@calva.com> Bug# 462626 # Splashy is running and we want to avoid our TTY to be corrupted stty -icanon -clocal else /sbin/$NAME boot sleep 0.2 fi # Before X starts we need to turn off the cursor to avoid artifacts: for i in 7 8 9 10 11 12; do if [ -c /dev/tty$i ]; then setterm -cursor off > /dev/tty$i || true fi done log_end_msg $? ;; stop) check_to_enable # avoid displaying ugly text at shutdown clear >/dev/tty8 clear >/dev/tty1 # wait for all gdm servers to exit (DBTS# 504389) COUNTER=0 ATTEMPTS=10 set +e while [ $COUNTER -lt $ATTEMPTS ]; do ps -C "gdm" if [ $? -eq 0 ]; then sleep 0.5 COUNTER=`expr $COUNTER + 1` #works in dash else break fi done set -e if [ $COUNTER -eq $ATTEMPTS ]; then echo "$NAME stopping because gdm is still active" exit fi
/sbin/splashy_chvt 8
calculate_steps
# sanity check, kill Splashy if running (old bug) pidof $NAME > /dev/null && splashy_update "exit" && pkill -9 splashy
log_daemon_msg "Starting $DESC" $NAME /sbin/$NAME shutdown sleep 0.2 # tell killall5 to not kill us too early at shutdown/restart: pidof $NAME >> /var/run/sendsigs.omit RET=$? [ -d /lib/init/rw/sendsigs.omit.d ] || mkdir -p /lib/init/rw/sendsigs.omit.d cat /var/run/sendsigs.omit >> /lib/init/rw/sendsigs.omit.d/splashy # log_end_msg calls splashy_update, so we need to allow Splashy to start sleep 0.5 log_end_msg $RET
;;
restart|force-reload) calculate_steps $RUNLEVEL ;;
*) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac
exit 0
źródło: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=539239
3. W /etc/grub.d/00_header wpisać:
set gfxpayload=keep
pomiędzy:
set gfxmode=${GRUB_GFXMODE} set gfxpayload=keep insmod gfxterm
Dzięki temu rozdzielczość początkowa (standardowo 640x480 ale można zmieniać parametrem GRUB_GFXMODE=) będzie utrzymana dla konsoli.
Na koniec
sudo update-grub
i działa.
Przydatne linki:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=539239 http://harrison3001.blogspot.com/200...ps-to-set.html http://linuxers.org/howto/how-change...-splash-images http://blogs.koolwal.net/2008/12/16/...splash-images/
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|