Категории

пятница, 23 декабря 2011 г.

Ubuntu 11.10 на EeePC разрешение экрана 1024x600 в меню GRUB2

Как известно в нетбуках EeePC 1000 и им подобным используется чипсет i915, максимальное разрешение матрицы такого нетбука 1024x600. По умолчанию GRUB не умеет работать с таким разрешением, но ситуацию можно исправить, для этого существует специальный модуль GRUB'а 915resolution.mod, с ним и будем работать.
Чтобы установить разрешение экрана в меню GRUB'а 1024x600 на EeePC 1000 и им подобным, выполняем следующее:
Открываем в gedit файл /etc/grub.d/00_header
EeePC$ sudo gedit /etc/grub.d/00_header
Находим кусок кода:
    cat << EOF
if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then
  set gfxmode=${GRUB_GFXMODE}
  load_video
  insmod gfxterm
EOF
И приводим его к такому виду:
    cat << EOF
if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then
  # Fix resolution for EeePC: BEGIN
  insmod 915resolution
  915resolution 5c 1024 600
  # Fix resolution for EeePC: END
  set gfxmode=${GRUB_GFXMODE}
  load_video
  insmod gfxterm
EOF

Затем нужно обновить конфигурацию GRUB'a командой:
EeePC$ update-grub
После проделанных манипуляций меню GRUB'а будет иметь разрешение 1024x600.

Если просто загружать модуль 915resolution.mod, то разрешение не будет установлено, так как модуль будет просто загружен, а вот команда GRUB'а 915resolution 5c 1024 600 выполнена не будет, а значит и разрешение не будет установлено, хотя оно станет доступным для ручной установки из командной строки GRUB'а. Способ с загрузкой модуля через конфиг НЕ подходит:
GRUB_PRELOAD_MODULES="915resolution"

Теперь самое время установить фоновую картинку в меню.
Создаем картинку my_image.png размером 1024x600 и сохраняем ее в домашнем каталоге.
Затем в терминале выполняем команды:
EeePC$ sudo mkdir -p "/usr/share/images/desktop-base/"
EeePC$ sudo cp my_image.png "/usr/share/images/desktop-base/desktop-grub.png"
После этих команд картинку из домашнего каталога по желанию можно удалить, это никак не скажется на работе GRUB'a.

P.S. путь до картинки подсмотрел командой:
EeePC$ cat /etc/grub.d/05_debian_theme | grep '.png' | grep 'usr'
if set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then

Или можно воспользоваться более человечным способом: Добавляем в файл /etc/default/grub:
# Grub Background
GRUB_BACKGROUND=/путь/до/картинки
P.S. Данный способ подошел и для ноутбука HP Compaq 6710b с разрешением 1280x800 и графическим адаптером GM965/GL960
Про /etc/grub.d/40_custom знаю, но вот беда, как пишут тут https://help.ubuntu.com/community/AspireOne/AO751h у меня не заработало. Скорей всего потому, что все необходимые модули для работы видео в GRUB были загружены прежде (как раз то место, где я добавлял строки в /etc/grub.d/00_head), чем сработал скрипт /etc/grub.d/40_custom, т.к. строки из него добавляются в самом конце grub.cfg. Поэтому мой метод наиболее предпочтителен, но при обновлении скрипта /etc/grub.d/00_head потребуется вновь его отредактировать.

Комментариев нет:

Отправить комментарий