个人工具

“UbuntuHelp:ConsoleFramebuffer/zh”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: Introduction If you are having trouble with an embedded system giving you the following message Console: switching to colour frame buffer device 80x30 then this answer will help you. The...)
 
第1行: 第1行:
Introduction
+
{{Translation}} {{From|https://help.ubuntu.com/community/ConsoleFramebuffer}} {{Languages|UbuntuHelp:ConsoleFramebuffer}} {{Translator|杏林小草}}
  
If you are having trouble with an embedded system giving you the following message Console: switching to colour frame buffer device 80x30 then this answer will help you. The Blacklist Solution
+
== Introduction ==
  
The reason the console switches to a frame buffer device is that during boot time a frame buffer driver was loaded for your hardware. To discover what frame buffer driver was loaded, you will have to run
+
If you are having trouble with an embedded system giving you the following message Console: switching to colour frame buffer device 80x30 then this answer will help you.
  
1. lsmod
+
== The Blacklist Solution ==
  
and look at the output. For my system, I noticed this line gxfb 8832 1 Now the question is, "How do I prevent the frame buffer driver from being loaded?" Well, Ubuntu has an unusual system for preventing the automatic loading of drivers. In /etc/modprobe.d there are a set of blacklist files. To fix my problem, I simply added blacklist gxfb to the blacklist-framebuffer file and the system no longer tried to switch to a frame buffer console. Increase the number of visible rows and columns in console Chose preferred console resolution
+
The reason the console switches to a frame buffer device is that during boot time a frame buffer driver was loaded for your hardware. To discover what frame buffer driver was loaded, you will have to run
  
The default size of the console is 25x80 chars using vga (640x480 pixels) for historical reasons. I order to utilize modern display resolution you will need to override this settings during the operation system boot process. Please note that widescreen format is currently not supported by the kernel console driver. Pick a appropriate value from the matrix below, e.g. 0x31A for 16 bit 1280x1024.
+
# lsmod
  
Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
+
and look at the output. For my system, I noticed this line gxfb 8832 1 Now the question is, "How do I prevent the frame buffer driver from being loaded?" Well, Ubuntu has an unusual system for preventing the automatic loading of drivers. In /etc/modprobe.d there are a set of blacklist files. To fix my problem, I simply added blacklist gxfb to the blacklist-framebuffer file and the system no longer tried to switch to a frame buffer console.
  
----
+
== Increase the number of visible rows and columns in console ==
  
+--------------------------------------------------------------
+
=== Chose preferred console resolution ===
  
4 bits |  ?  ? 0x302  ?  ?  ?  ?
+
The default size of the console is 25x80 chars using vga (640x480 pixels) for historical reasons. I order to utilize modern display resolution you will need to override this settings during the operation system boot process. Please note that widescreen format is currently not supported by the kernel console driver. Pick a appropriate value from the matrix below, e.g. '''0x31A''' for 16 bit 1280x1024.
8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
+
<pre>Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
 +
--------+--------------------------------------------------------------
 +
4 bits | &nbsp;? &nbsp;? 0x302 &nbsp;? &nbsp;? &nbsp;? &nbsp;?
 +
8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
 +
15 bits | &nbsp;? 0x310 0x313 0x316 0x162 0x319 0x31D
 +
16 bits | &nbsp;? 0x311 0x314 0x317 0x163 0x31A 0x31E
 +
24 bits | &nbsp;? 0x312 0x315 0x318 &nbsp;? 0x31B 0x31F
 +
32 bits | &nbsp;? &nbsp;? &nbsp;? &nbsp;? 0x164 &nbsp;? &nbsp;?
 +
</pre>
 +
=== Edit /boot/grub/menu.lst ===
  
15 bits | &nbsp;? 0x310 0x313 0x316 0x162 0x319 0x31D 16 bits | &nbsp;? 0x311 0x314 0x317 0x163 0x31A 0x31E 24 bits | &nbsp;? 0x312 0x315 0x318 &nbsp;? 0x31B 0x31F 32 bits | &nbsp;? &nbsp;? &nbsp;? &nbsp;? 0x164 &nbsp;? &nbsp;?
+
Append ''vga=0x31A'' in the end of the ''kernel'' line. Your root=UUID will look different and do '''not''' edit this since it will cause your computer to fail booting. Please be warned. In the kernel line below the option ''splash'' is removed since it might cause LCD monitors to entering sleep mode during the boot process when using DVI input. This is not a serious error but a very annoying side-effect from changing the console resolution. This failure might apply on other configurations as well.
 +
<pre>title Ubuntu 7.10, kernel 2.6.22-14-generic
 +
root (hd0,0)
 +
kernel /vmlinuz-2.6.22-14-generic root=UUID=98c2b6c5-4f08-4fbf-bd9c-c470b286f614 ro vga=0x31A
 +
initrd /initrd.img-2.6.22-14-generic
 +
quiet
 +
</pre>
 +
* Tip, If you would like to test the setting but not make a permanent change as above it's possible to edit grub options during computer booting. When grub is loading press ESC to enter the boot menu, chose to edit the kernel line and append vga=0x31A. Continue to boot linux.
  
Edit /boot/grub/menu.lst
+
=== Edit /etc/initramfs-tools/modules ===
  
Append vga=0x31A in the end of the kernel line. Your root=UUID will look different and do not edit this since it will cause your computer to fail booting. Please be warned. In the kernel line below the option splash is removed since it might cause LCD monitors to entering sleep mode during the boot process when using DVI input. This is not a serious error but a very annoying side-effect from changing the console resolution. This failure might apply on other configurations as well.
+
A framebuffer is the device forwarding the text to be outputted on your display. In order to make the operation system aware we changed the size of the console the framebuffer driver needs to be notified. Add two lines containing '''vesafb''' and '''fbcon''' to ''/etc/initramfs-tools/modules''
 
+
<pre>sudo bash
title Ubuntu 7.10, kernel 2.6.22-14-generic root (hd0,0) kernel /vmlinuz-2.6.22-14-generic root=UUID=98c2b6c5-4f08-4fbf-bd9c-c470b286f614 ro vga=0x31A initrd /initrd.img-2.6.22-14-generic quiet
+
echo vesafb &gt;&gt; /etc/initramfs-tools/modules
 
+
echo fbcon &gt;&gt; /etc/initramfs-tools/modules
* Tip, If you would like to test the setting but not make a permanent change as above it's possible to edit grub options during computer booting. When grub is loading press ESC to enter the boot menu, chose to edit the kernel line and append vga=0x31A. Continue to boot linux.
+
</pre>
 
+
=== Rebuild the kernel image ===
Edit /etc/initramfs-tools/modules
+
 
+
A framebuffer is the device forwarding the text to be outputted on your display. In order to make the operation system aware we changed the size of the console the framebuffer driver needs to be notified. Add two lines containing vesafb and fbcon to /etc/initramfs-tools/modules
+
 
+
sudo bash echo vesafb &gt;&gt; /etc/initramfs-tools/modules echo fbcon &gt;&gt; /etc/initramfs-tools/modules
+
 
+
Rebuild the kernel image
+
  
 
This step is necessary to include these two modules in the kernel image being used upon next reboot. This step might also be necessary to perform after a kernel upgrade.
 
This step is necessary to include these two modules in the kernel image being used upon next reboot. This step might also be necessary to perform after a kernel upgrade.
 +
<pre>sudo update-initramfs -u
 +
</pre>
 +
=== Edit /etc/modprobe.d/blacklist-framebuffer ===
  
sudo update-initramfs -u
+
Framebuffers are sometimes causing problems to wake up the computer from suspend mode and are hence disabled by default. Comment out the line ''blacklist vesafb'' to load the module anyway.
 +
<pre># blacklist vesafb
 +
</pre>
 +
=== Edit /etc/modules ===
  
Edit /etc/modprobe.d/blacklist-framebuffer
+
Although we stopped blacklisting the the vesa framebuffer we force to load it. Append one line with '''vesafb''' '''in ''/etc/modules'''''
 +
<pre>echo vesafb &gt;&gt; /etc/modules
 +
</pre>
 +
=== Reboot ===
  
Framebuffers are sometimes causing problems to wake up the computer from suspend mode and are hence disabled by default. Comment out the line blacklist vesafb to load the module anyway.
+
Hopefully you should see the boot messages with a smaller font upon the boot process.
  
# blacklist vesafb
+
=== Links ===
  
Edit /etc/modules
+
This section was assembled using information from different sources.
  
Although we stopped blacklisting the the vesa framebuffer we force to load it. Append one line with vesafb in /etc/modules
+
* [http://ubuntuforums.org/showthread.php?p=3826742]
 +
* [http://ubuntuforums.org/showthread.php?p=1505142]
 +
* [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/61285]
  
echo vesafb &gt;&gt; /etc/modules
+
----
 
+
Reboot
+
 
+
Hopefully you should see the boot messages with a smaller font upon the boot process. Links
+
 
+
This section was assembled using information from different sources.
+
 
+
* [n]
+
  * [n]
+
  * [n]
+
  
Category:CategoryDocumentation Category:UbuntuHelp
+
[[Category:CategoryDocumentation]] [[Category:UbuntuHelp]]

2008年6月9日 (一) 18:46的版本

Introduction

If you are having trouble with an embedded system giving you the following message Console: switching to colour frame buffer device 80x30 then this answer will help you.

The Blacklist Solution

The reason the console switches to a frame buffer device is that during boot time a frame buffer driver was loaded for your hardware. To discover what frame buffer driver was loaded, you will have to run

  1. lsmod

and look at the output. For my system, I noticed this line gxfb 8832 1 Now the question is, "How do I prevent the frame buffer driver from being loaded?" Well, Ubuntu has an unusual system for preventing the automatic loading of drivers. In /etc/modprobe.d there are a set of blacklist files. To fix my problem, I simply added blacklist gxfb to the blacklist-framebuffer file and the system no longer tried to switch to a frame buffer console.

Increase the number of visible rows and columns in console

Chose preferred console resolution

The default size of the console is 25x80 chars using vga (640x480 pixels) for historical reasons. I order to utilize modern display resolution you will need to override this settings during the operation system boot process. Please note that widescreen format is currently not supported by the kernel console driver. Pick a appropriate value from the matrix below, e.g. 0x31A for 16 bit 1280x1024.

Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
--------+--------------------------------------------------------------
4 bits |  ?  ? 0x302  ?  ?  ?  ?
8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
15 bits |  ? 0x310 0x313 0x316 0x162 0x319 0x31D
16 bits |  ? 0x311 0x314 0x317 0x163 0x31A 0x31E
24 bits |  ? 0x312 0x315 0x318  ? 0x31B 0x31F
32 bits |  ?  ?  ?  ? 0x164  ?  ?

Edit /boot/grub/menu.lst

Append vga=0x31A in the end of the kernel line. Your root=UUID will look different and do not edit this since it will cause your computer to fail booting. Please be warned. In the kernel line below the option splash is removed since it might cause LCD monitors to entering sleep mode during the boot process when using DVI input. This is not a serious error but a very annoying side-effect from changing the console resolution. This failure might apply on other configurations as well.

title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,0)
kernel /vmlinuz-2.6.22-14-generic root=UUID=98c2b6c5-4f08-4fbf-bd9c-c470b286f614 ro vga=0x31A
initrd /initrd.img-2.6.22-14-generic
quiet
  • Tip, If you would like to test the setting but not make a permanent change as above it's possible to edit grub options during computer booting. When grub is loading press ESC to enter the boot menu, chose to edit the kernel line and append vga=0x31A. Continue to boot linux.

Edit /etc/initramfs-tools/modules

A framebuffer is the device forwarding the text to be outputted on your display. In order to make the operation system aware we changed the size of the console the framebuffer driver needs to be notified. Add two lines containing vesafb and fbcon to /etc/initramfs-tools/modules

sudo bash
echo vesafb >> /etc/initramfs-tools/modules
echo fbcon >> /etc/initramfs-tools/modules

Rebuild the kernel image

This step is necessary to include these two modules in the kernel image being used upon next reboot. This step might also be necessary to perform after a kernel upgrade.

sudo update-initramfs -u

Edit /etc/modprobe.d/blacklist-framebuffer

Framebuffers are sometimes causing problems to wake up the computer from suspend mode and are hence disabled by default. Comment out the line blacklist vesafb to load the module anyway.

# blacklist vesafb

Edit /etc/modules

Although we stopped blacklisting the the vesa framebuffer we force to load it. Append one line with vesafb in /etc/modules

echo vesafb >> /etc/modules

Reboot

Hopefully you should see the boot messages with a smaller font upon the boot process.

Links

This section was assembled using information from different sources.