デスクトップとして使う(7)カーネルのリコンフィグ

Debian LS-VL

まるしすなうぇぶろぐ(仮): 玄柴/ディスプレイの接続で 紹介いただいている手順で LinkStation LS-VL でも GX-DVI/U2B が認識できたので、 X を動かそうと udlfb を更新しようとしたが、 モジュールが組み込めず、新しいモジュールが組み込めなかった。

カーネルのコンフィギュレーションを変更する。

.config の保存

念のため
yasunari@vl:/usr/src/linux-2.6.31.8$ mv .config{,_120311}
yasunari@vl:/usr/src/linux-2.6.31.8$ cp .config_120311 .config
yasunari@vl:/usr/src/linux-2.6.31.8$ 

コンフィギュレーションの変更

yasunari@vl:/usr/src/linux-2.6.31.8$ make menuconfig
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/mconf.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf arch/arm/Kconfig
追加するのは、FB_MODE_HELPERS。どこにある?
 .config - Linux Kernel v2.6.31.8 Configuration
 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  lqqqqqqqqqqqqqqqqqqq Support for frame buffer devices qqqqqqqqqqqqqqqqqqqqk
  x  Arrow keys navigate the menu.  <Enter> selects submenus --->.          x
  x  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, x
  x  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> x
  x  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       x
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x    --- Support for frame buffer devices                             x x
  x x    [ ]   Enable firmware EDID                                       x x
  x x    [ ]   Framebuffer foreign endianness support  --->               x x
  x x    [ ]   Enable Video Mode Handling Helpers                         x x
  x x    [ ]   Enable Tile Blitting Support                               x x
  x x          *** Frame buffer hardware drivers ***                      x x
  x x    < >   Cirrus Logic support                                       x x
  x x    < >   Permedia2 support                                          x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
  tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
  x                    <Select>    < Exit >    < Help >                     x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


Device Drivers → Graphics support → Support for frame buffer devices にあった。
早速モジュールにしようと m を押しても無反応。 [ ] の項目は組み込みにしないといけないんだった。
 .config - Linux Kernel v2.6.31.8 Configuration
 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  lqqqqqqqqqqqqqqqqqqq Support for frame buffer devices qqqqqqqqqqqqqqqqqqqqk
  x  Arrow keys navigate the menu.  <Enter> selects submenus --->.          x
  x  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, x
  x  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> x
  x  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       x
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x    --- Support for frame buffer devices                             x x
  x x    [ ]   Enable firmware EDID                                       x x
  x x    [ ]   Framebuffer foreign endianness support  --->               x x
  x x    [*]   Enable Video Mode Handling Helpers                         x x
  x x    [ ]   Enable Tile Blitting Support                               x x
  x x          *** Frame buffer hardware drivers ***                      x x
  x x    < >   Cirrus Logic support                                       x x
  x x    < >   Permedia2 support                                          x x
  x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
  tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
  x                    <Select>    < Exit >    < Help >                     x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


保存。

比べる

yasunari@vl:/usr/src/linux-2.6.31.8$ diff -u .config_120311 .config
--- .config_120311      2012-03-10 21:18:48.848858659 +0900
+++ .config     2012-03-11 10:28:34.941385454 +0900
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.31.8
-# Sat Mar 10 21:18:48 2012
+# Sun Mar 11 10:28:34 2012
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -1088,7 +1088,7 @@
 # CONFIG_FB_SVGALIB is not set
 # CONFIG_FB_MACMODES is not set
 # CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
+CONFIG_FB_MODE_HELPERS=y
 # CONFIG_FB_TILEBLITTING is not set

 #
yasunari@vl:/usr/src/linux-2.6.31.8$
よしよし。

uImage のコンパイル

yasunari@vl:/usr/src/linux-2.6.31.8$ make uImage
scripts/kconfig/conf -s arch/arm/Kconfig
	:
	:
また、小一時間
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-2.6.31.8
Created:      Sun Mar 11 10:33:10 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2753552 Bytes = 2689.02 kB = 2.63 MB
Load Address: 0x00008000
Entry Point:  0x00008000
  Image arch/arm/boot/uImage is ready
yasunari@vl:/usr/src/linux-2.6.31.8$
とおもったら、案外早く終わった。
make clean していないからか。

モジュールのコンパイル

yasunari@vl:/usr/src/linux-2.6.31.8$ make modules
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-arm
  CALL    scripts/checksyscalls.sh
<stdin>:1351:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1407:2: warning: #warning syscall pselect6 not implemented
<stdin>:1411:2: warning: #warning syscall ppoll not implemented
<stdin>:1451:2: warning: #warning syscall epoll_pwait not implemented
  Building modules, stage 2.
  MODPOST 108 modules
yasunari@vl:/usr/src/linux-2.6.31.8$
こっちもすぐ終わった。

入れ替え

yasunari@vl:/usr/src/linux-2.6.31.8$ sudo make modules_install
[sudo] password for yasunari:
  INSTALL crypto/authenc.ko
  INSTALL crypto/ecb.ko
  INSTALL crypto/pcbc.ko
	:
	:
  INSTALL net/xfrm/xfrm_ipcomp.ko
  INSTALL net/xfrm/xfrm_user.ko
  DEPMOD  2.6.31.8
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo rm /boot/uImage.buffalo
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo cp arch/arm/boot/uImage /boot/uImage.buffalo

リブート

yasunari@vl:/usr/src/linux-2.6.31.8$ sudo reboot
無事再起動してきた。

LS-VL

楽天市場
Amazon
livedoor デパート
バッファローダイレクト
Yahoo!ショッピング


分解 / disassemble
ハックの記録
LinkStation/玄箱 をハックしよう

ようやく起動

Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市