デスクトップとして使う(22)
まとめ(1)カーネルの再構築

Debian LS-VL

一息着いたので、再現して手順を確認しておく。
その1。カーネルの再構築まで

ハックキットをインストールして最初の設定までを済ます

もちろん ハックキットでなくてもDebian化されていればそれで良い。

sudo を使えるようにする

root@vl:~# apt-get install sudo
sudo グループへの追加
!root@vl:~# adduser yasunari sudo
ログインしなおすと sudo が使えるようになる。

カーネル 2.6.31.8 コンパイル環境の準備

コンパイルに必要なパッケージのインストール

yasunari@vl:~$ sudo apt-get install bzip2 make libc6-dev libncurses5-dev uboot-mkimage patch
patch は要らないか

カーネルソースの取得と展開

まずは、置き場を作る
yasunari@vl:~$ sudo mkdir /mnt/src
yasunari@vl:~$ ls /usr/src/
yasunari@vl:~$ sudo rmdir /usr/src
yasunari@vl:~$ sudo ln -s /mnt/src /usr
yasunari@vl:~$ sudo chgrp yamasita /mnt/src
yasunari@vl:~$ sudo chmod g+w /mnt/src
yasunari@vl:~$
カーネルソースを取得する
yasunari@vl:~$ cd /usr/src
yasunari@vl:/usr/src$ wget -O linux-2.6.31.8.tar.bz2 http://buffalo.jp/php/los.php?to=gpl/storage/ls-x/140/linux-2.6.31.8.tar.bz2
展開する
yasunari@vl:/usr/src$ tar jxvf linux-2.6.31.8.tar.bz2

Makefile の修正

セルフコンパイルする設定と、 カーネルモジュールのインストール先を変更する
yasunari@vl:/usr/src$ cd linux-2.6.31.8
yasunari@vl:/usr/src/linux-2.6.31.8$ mv Makefile{,.orig}
yasunari@vl:/usr/src/linux-2.6.31.8$ cp Makefile.orig Makefile
yasunari@vl:/usr/src/linux-2.6.31.8$ vi Makefile
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ diff -u Makefile.orig Makefile
--- Makefile.orig       2010-03-30 01:38:28.000000000 +0900
+++ Makefile    2012-03-31 21:11:37.857695158 +0900
@@ -181,7 +181,7 @@
 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
 export KBUILD_BUILDHOST := $(SUBARCH)
 ARCH           ?= arm
-CROSS_COMPILE  ?= arm-mv5sft-linux-gnueabi-
+CROSS_COMPILE  ?=

 # Architecture as present in compile.h
 UTS_MACHINE    := $(ARCH)
@@ -617,7 +617,7 @@
 # makefile but the argument can be passed to make if needed.
 #

-INSTALL_MOD_PATH=binaries
+INSTALL_MOD_PATH=
 MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
 export MODLIB

yasunari@vl:/usr/src/linux-2.6.31.8$

コンパイル

一旦コンパイルして動作確認を行う
yasunari@vl:/usr/src/linux-2.6.31.8$ make oldconfig
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ make -j2 uImage
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ 
約1時間。
続いてカーネルモジュールのコンパイル
yasunari@vl:/usr/src/linux-2.6.31.8$ make -j2 modules
	:
	:

インストール

できあがったカーネルとモジュールをインストールする
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo rm -fr /lib/modules/2.6.31.8
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo make modules_install
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo mv /boot/uImage.buffalo{,.orig}
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$ 

リブート

yasunari@vl:/usr/src/linux-2.6.31.8$ sudo reboot
リブートしてここまでの手順が正しいことを確認する

カーネルのリコンフィグ

いよいよ GX-DVI/U2B 用のカスタマイズを始める

drivers/video/Kconfig の修正

コンパイルを通すように、 GX-DVI/U2B が動作するように修正を行う
yasunari@vl:~$ cd /usr/src/linux-2.6.31.8
yasunari@vl:/usr/src/linux-2.6.31.8$ cd drivers/video
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ mv Kconfig{,.orig}
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ cp Kconfig.orig Kconfig
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ vi Kconfig
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ diff -u Kconfig.orig Kconfig
--- Kconfig.orig        2010-07-16 20:23:10.000000000 +0900
+++ Kconfig     2012-03-31 23:06:55.548547917 +0900
@@ -114,7 +114,7 @@
 config FB_CFB_IMAGEBLIT
        tristate
        depends on FB
-       default n
+       default m
        ---help---
          Include the cfb_imageblit function for generic software image
          blitting. This is used by drivers that don't provide their own
@@ -188,6 +188,7 @@
 config FB_DEFERRED_IO
        bool
        depends on FB
+       default y

 config FB_HECUBA
        tristate
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ cd ../..
yasunari@vl:/usr/src/linux-2.6.31.8$

make menuconfig

yasunari@vl:/usr/src/linux-2.6.31.8$ make menuconfig
Device Drivers → Graphics support → Support for frame buffer devices を組み込みで選択。※
  x x    <*> Support for frame buffer devices  --->                       x x

その下位にある Enable Video Mode Handling Helpers を組み込みで選択
Virtual Frame Buffer support をモジュールで選択

  x x    [*]   Enable Video Mode Handling Helpers                         x x
  x x    <M>   Virtual Frame Buffer support (ONLY FOR TESTING!)           x x

Device Drivers → Staging drivers を組み込みで選択

  x x    [*] Staging drivers  --->                                        x x
その下位にある
Exclude Staging drivers from being built (NEW) を組み込みを解除し、
  x x    [ ]   Exclude Staging drivers from being built                   x x
Displaylink USB Framebuffer support をモジュールで選択
  x x    <M>     Displaylink USB Framebuffer support                      x x
Device Drivers → Input device support で Event interface、 Keyboards、 Mice を組み込む。
  x x    <*>   Event interface                                            x x
  x x    [*]   Keyboards  --->                                            x x
  x x    [*]   Mice  --->                                                 x x
.config の差分は、、、
yasunari@vl:/mnt/src/linux-2.6.31.8$ diff -u .config.old .config
--- .config.old 2011-01-18 16:26:04.000000000 +0900
+++ .config     2012-03-31 23:19:56.838750114 +0900
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.31.8
-# Tue Jan 18 16:26:04 2011
+# Sat Mar 31 23:19:56 2012
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -960,14 +960,34 @@
 CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
 # CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
+CONFIG_INPUT_EVDEV=y
 # CONFIG_INPUT_EVBUG is not set

 #
 # Input Device Drivers
 #
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
 # CONFIG_INPUT_JOYSTICK is not set
 # CONFIG_INPUT_TABLET is not set
 # CONFIG_INPUT_TOUCHSCREEN is not set
@@ -976,7 +996,11 @@
 #
 # Hardware I/O ports
 #
-# CONFIG_SERIO is not set
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
 # CONFIG_GAMEPORT is not set

 #
@@ -1072,7 +1096,59 @@
 # CONFIG_DRM is not set
 # CONFIG_VGASTATE is not set
 # CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_VIA is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+CONFIG_FB_VIRTUAL=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_DOVE is not set
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set

 #
@@ -1087,6 +1163,8 @@
 #
 # CONFIG_VGA_CONSOLE is not set
 CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
 # CONFIG_SOUND is not set
 CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
@@ -1298,7 +1376,31 @@
 # CONFIG_AUXDISPLAY is not set
 # CONFIG_REGULATOR is not set
 # CONFIG_UIO is not set
-# CONFIG_STAGING is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_ET131X is not set
+# CONFIG_ME4000 is not set
+# CONFIG_MEILHAUS is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_ECHO is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_ALTERA_PCIE_CHDMA is not set
+# CONFIG_INPUT_MIMIO is not set
+# CONFIG_TRANZPORT is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_DST is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_B3DFG is not set
+# CONFIG_PLAN9AUTH is not set
+# CONFIG_HECI is not set
+# CONFIG_VT6655 is not set
+# CONFIG_USB_CPC is not set
+CONFIG_FB_UDL=m

 #
 # File systems
yasunari@vl:/mnt/src/linux-2.6.31.8$

コンパイル

yasunari@vl:/usr/src/linux-2.6.31.8$ make -j2 uImage
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ make -j2 modules
	:
	:
yasunari@vl:/usr/src/linux-2.6.31.8$ 

インストール

できあがったカーネルとモジュールをインストールする
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo make modules_install
	:
	:
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$ 

リブート

リブートして起動してくることを確認する
yasunari@vl:/usr/src/linux-2.6.31.8$ sudo reboot
とりあえず、ここまで

LS-VL

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


デスクトップとして使う(21)W1ND0WS を起動
ハックの記録
LinkStation/玄箱 をハックしよう

デスクトップとして使う(23) まとめ(2)デスクトップ環境のインストール

ツイート Tweet to @yasunari_y @yasunari_yをフォロー

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