■スワップの認識、3GB以上のメモリの認識、グラフィックの認識(?)の失敗に対処する。
Squeeze amd64版での症状。
3つ目のグラフィックの認識は放置することにしました。(後述)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 6.0.7 (squeeze)
Release: 6.0.7
Codename: squeeze
$ uname -r
2.6.32-5-amd64
■参考
[SOLVED] Problems after installation of Squeeze
http://forums.debian.net/viewtopic.php?f=17&t=68695
(Ubuntu 10.04) MTRR allocation failed. Graphics performance may suffer エラーの回避
http://netlog.jpn.org/r271-635/2011/02/ubuntu_1004_mtrr_error.html
[linux]インテルのオンボードグラフィックでDebian squeezeのX Window Systemを動かす5つのステップ
http://d.hatena.ne.jp/rubikitch/20110323/xwindow
■再起動したら以下の失敗ログ。
$ dmesg | grep -i "error\|warn\|crit\|fail"
[ 0.451134] PM: Resume from disk failed.
[ 1.750951] PM: Error -22 checking image file
[ 1.750955] PM: Resume from disk failed.
[ 3.281629] [drm] MTRR allocation failed. Graphics performance may suffer.
■スワップが認識されていない。
$ mount | grep swap
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 1000.2 GB, 1000203804160 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bfa7b
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1216 9764864 83 Linux
/dev/sda2 1216 121602 966993921 5 Extended
/dev/sda5 1216 2195 7862272 82 Linux swap / Solaris
/dev/sda6 2195 121602 959130624 83 Linux
■スワップファイルシステムが中途半端にマウントされている状態の様子。
$ sudo fdisk -l /dev/sda | grep swap | awk '{print $1}' | sudo mkswap `xargs`
/dev/sda5: デバイスもしくはリソースがビジー状態です
$ sudo fdisk -l /dev/sda | grep swap | awk '{print $1}' | sudo swapoff `xargs`
$ sudo fdisk -l /dev/sda | grep swap | awk '{print $1}' | sudo mkswap `xargs`
Setting up swapspace version 1, size = 7862268 KiB
no label, UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda5 partition 7862264 0 -1
■fstabのUUIDと異なる。
$ grep "^UUID.*swap" /etc/fstab
YYYY=YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY none swap sw 0 0
■UUIDは「blkid」で取得出来る。
$ sudo blkid /dev/sda5
■コメントアウトと、新しいUUIDの反映、
単にswapoff/swaponだとビジーだと言われるので、UUIDを指定してswapoff/swapon。
$ sudo sed -i s/"^UUID.*swap"/"#&"/ /etc/fstab
$ sudo sed -i s/"^#UUID.*swap"/"&\nUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none swap sw 0 0"/ /etc/fstab
$ sudo swapoff -U XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
$ sudo swapon -U XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda5 partition 7862264 0 -1
■再度、システムの再起動。
$ sudo shutdown -r now && exit
$ dmesg | grep "error\|warn\|crit\|fail"
[ 3.704137] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 0.451348] PM: Resume from disk failed.
■2つ目の問題。確かに4GBメモリ(3GB以上)に該当する。
※下記では「3328MB」の箇所
$ dmesg | grep -i mtrr
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] MTRR variable ranges enabled:
[ 3.401303] mtrr: type mismatch for d0000000,10000000 old: write-back new: write-combining
[ 3.401306] [drm] MTRR allocation failed. Graphics performance may suffer.
$ free
total used free shared buffers cached
Mem: 4025948 564316 3461632 0 7332 202564
-/+ buffers/cache: 354420 3671528
Swap: 7862264 0 7862264
$ cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 4096MB, count=1: write-back
reg01: base=0x100000000 ( 4096MB), size= 512MB, count=1: write-back
reg02: base=0x120000000 ( 4608MB), size= 256MB, count=1: write-back
reg03: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: uncachable
reg04: base=0x0e0000000 ( 3584MB), size= 512MB, count=1: uncachable
reg05: base=0x0cde00000 ( 3294MB), size= 2MB, count=1: uncachable
reg06: base=0x0ce000000 ( 3296MB), size= 32MB, count=1: uncachable
■grubにkernel起動オプションを渡す。
$ grep GRUB_CMDLINE_LINUX= /etc/default/grub
GRUB_CMDLINE_LINUX=""
$ sudo sed -i s/"\(GRUB_CMDLINE_LINUX=\)\"\""/"\1\"enable_mtrr_cleanup mtrr_spare_reg_nr=1\""/ /etc/default/grub
$ sudo update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
No volume groups found
done
■またシステムの再起動
$ sudo shutown -r now && exit
■再起動後の確認。
まだ、「uncachable」が残っているが、最終行が「write-combining」なら問題なさそう。
$ cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 256MB, count=1: write-back
reg03: base=0x0cde00000 ( 3294MB), size= 2MB, count=1: uncachable
reg04: base=0x0ce000000 ( 3296MB), size= 32MB, count=1: uncachable
reg05: base=0x100000000 ( 4096MB), size= 512MB, count=1: write-back
reg06: base=0x120000000 ( 4608MB), size= 256MB, count=1: write-back
reg07: base=0x0d0000000 ( 3328MB), size= 256MB, count=1: write-combining
■が、まだ残ってる。
$ dmesg | grep -i "error\|warn\|crit\|fail"
[ 0.451348] PM: Resume from disk failed.
■グラフィックドライバが悪さをしている様子。
$ sudo grep -i graphic /var/log/syslog | sed s/".*kernel\: "//g
[ 3.281629] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 3.704137] [drm] MTRR allocation failed. Graphics performance may suffer.
[ 3.401306] [drm] MTRR allocation failed. Graphics performance may suffer.
■Intel製のドライバのようです。
$ lspci -d 8086:2e22 -k
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
Subsystem: NEC Corporation Device 88f5
Kernel driver in use: i915
■「i915」ドライバは読み込まれているので当然パッケージも導入済みです。
$ apt-cache search i915
xserver-xorg-video-intel-dbg - X.Org X server -- Intel i8xx, i9xx display driver (debug symbols)
xserver-xorg-video-intel - X.Org X サーバ -- Intel i8xx, i9xx ディスプレイドライバ
$ dpkg -l | grep ^ii | grep "xserver-xorg-video-intel" | awk '{print $2}'
xserver-xorg-video-intel
■KMSは有効
$ cat /etc/modprobe.d/i915-kms.conf
options i915 modeset=1
$ sudo modprobe -l | grep i915
kernel/drivers/gpu/drm/i915/i915.ko
■Kernelオプションの確認
$ sudo apt-get install kernel-package
$ grep CONFIG_SCHED /usr/share/kernel-package/Config/config.amd64
■kernel、xserver-xorg-video-intelの両方の最新版を入れると良さそう。
モニタ繋げない環境なので、放置とする。