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

Debian LS-VL

まるしすなうぇぶろぐ(仮): 玄柴/ディスプレイの接続で 紹介いただいている手順で LinkStation LS-VL でも X を動かそうとしている。
最後のステップ「6.カーネルオプションの設定とコンパイル」

drivers/video/Kconfig の修正

yasunari@vl:/usr/src/linux-2.6.31.8$ cd drivers/video/
yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ ls K*
Kconfig  Kconfig.orig
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-11 18:00:50.615276192 +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$
FB_CFB_IMAGEBLIT の修正は以前のもの。

make menuconfig の実行

yasunari@vl:/usr/src/linux-2.6.31.8/drivers/video$ cd ../..
yasunari@vl:/usr/src/linux-2.6.31.8$ make menuconfig
scripts/kconfig/mconf arch/arm/Kconfig
FB_DEFERRED_IO は、hidden な項目なので、どこにも出てこない
保存して終了
#
# configuration written to .config
#


*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.

yasunari@vl:/usr/src/linux-2.6.31.8$ grep FB_DEFERRED_IO .config
CONFIG_FB_DEFERRED_IO=y
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
  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
	:
	:
Image Name:   Linux-2.6.31.8
Created:      Sun Mar 11 18:09:44 2012
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2754140 Bytes = 2689.59 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$ 
続いて module
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
  CC [M]  drivers/staging/udlfb/udlfb.o
  CC [M]  drivers/video/cfbimgblt.o
  CC [M]  drivers/video/sysfillrect.o
  CC [M]  drivers/video/syscopyarea.o
  CC [M]  drivers/video/sysimgblt.o
  CC [M]  drivers/video/fb_sys_fops.o
  CC [M]  drivers/video/vfb.o
  Building modules, stage 2.
  MODPOST 108 modules
  CC      drivers/staging/udlfb/udlfb.mod.o
  LD [M]  drivers/staging/udlfb/udlfb.ko
  LD [M]  drivers/video/cfbimgblt.ko
  LD [M]  drivers/video/fb_sys_fops.ko
  LD [M]  drivers/video/syscopyarea.ko
  LD [M]  drivers/video/sysfillrect.ko
  LD [M]  drivers/video/sysimgblt.ko
  CC      drivers/video/vfb.mod.o
  LD [M]  drivers/video/vfb.ko
yasunari@vl:/usr/src/linux-2.6.31.8$

udlfb も
yasunari@vl:/usr/src/udlfb$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/mnt/src/udlfb modules
make[1]: Entering directory `/mnt/src/linux-2.6.31.8'
  CC [M]  /mnt/src/udlfb/udlfb.o
/mnt/src/udlfb/udlfb.c:91:2: warning: #warning CONFIG_FB_SYS_IMAGEBLIT kernel support required for fb console
/mnt/src/udlfb/udlfb.c:95:2: warning: #warning FB_SYS_FOPS kernel support required for filesystem char dev access
/mnt/src/udlfb/udlfb.c: In function 'dlfb_ops_write':
/mnt/src/udlfb/udlfb.c:700: warning: 'result' is used uninitialized in this function
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /mnt/src/udlfb/udlfb.mod.o
  LD [M]  /mnt/src/udlfb/udlfb.ko
make[1]: Leaving directory `/mnt/src/linux-2.6.31.8'
yasunari@vl:/usr/src/udlfb$

インストール

インストールする
yasunari@vl:/usr/src/linux-2.6.31.8$ su
Password:
root@vl:/usr/src/linux-2.6.31.8# make modules_install
  INSTALL crypto/authenc.ko
  INSTALL crypto/ecb.ko
  INSTALL crypto/pcbc.ko
	:
	:
  INSTALL net/ipv4/xfrm4_tunnel.ko
  INSTALL net/xfrm/xfrm_ipcomp.ko
  INSTALL net/xfrm/xfrm_user.ko
  DEPMOD  2.6.31.8
root@vl:/usr/src/linux-2.6.31.8# rm /boot/uImage.buffalo
root@vl:/usr/src/linux-2.6.31.8# cp arch/arm/boot/uImage /boot/uImage.buffalo
root@vl:/usr/src/linux-2.6.31.8# cd ../udlfb/
root@vl:/usr/src/udlfb# make install
make -C /lib/modules/`uname -r`/build SUBDIRS=/mnt/src/udlfb modules_install
make[1]: Entering directory `/mnt/src/linux-2.6.31.8'
  INSTALL /mnt/src/udlfb/udlfb.ko
  DEPMOD  2.6.31.8
make[1]: Leaving directory `/mnt/src/linux-2.6.31.8'
root@vl:/usr/src/udlfb#

リブート

root@vl:/usr/src/udlfb# reboot

ログイン

Linux 2.6.31.8 (x60l.yamasita.jp) (pts/0)

vl login: yasunari
Password:
Last login: Sun Mar 11 17:58:54 JST 2012 from x60l.yamasita.jp on pts/0
Linux vl 2.6.31.8 #10 Sun Mar 11 18:09:24 JST 2012 armv5tel

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
yasunari@vl:~$

GX-DVI/U2B を刺す

Mar 11 18:18:05 vl kernel: usb 1-1: new high speed USB device using ehci_marvell and address 2
Mar 11 18:18:05 vl kernel: usb 1-1: configuration #1 chosen from 1 choice
Mar 11 18:18:05 vl kernel: udlfb: DisplayLink GX-DVI_U2B - serial #201210913457
Mar 11 18:18:05 vl kernel: udlfb: vid_17e9&pid_0223&rev_0106 driver's dlfb_data struct at cc49c800
Mar 11 18:18:05 vl kernel: udlfb: console enable=1
Mar 11 18:18:05 vl kernel: udlfb: fb_defio enable=1
Mar 11 18:18:05 vl kernel: udlfb: shadow enable=1
Mar 11 18:18:05 vl kernel: udlfb: vendor descriptor length:1b data:1b 5f 01 0019 05 00 01 03 00 04
Mar 11 18:18:05 vl kernel: udlfb: udlfb: DL chip limited to 2080000 pixel modes
Mar 11 18:18:05 vl kernel: udlfb: allocated 4 65024 byte urbs
Mar 11 18:18:05 vl kernel: usbcore: registered new interface driver udlfb
Mar 11 18:18:05 vl kernel:      Display is GTF capable
Mar 11 18:18:05 vl kernel: udlfb: 1440x900 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 720x400 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 640x480 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 640x480 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 800x600 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 800x600 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1024x768 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1024x768 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1024x768 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1280x1024 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1280x1024 valid mode
Mar 11 18:18:05 vl kernel: udlfb: 1440x1440 valid mode
Mar 11 18:18:05 vl kernel: udlfb: udlfb: Reallocating framebuffer. Addresses will change!
Mar 11 18:18:05 vl kernel: udlfb: 1440x900 valid mode
Mar 11 18:18:05 vl kernel: udlfb: set_par mode 1440x900
Mar 11 18:18:05 vl kernel: udlfb: DisplayLink USB device /dev/fb0 attached. 1440x900 resolution. Using 5064K framebuffer memory

今度は液晶ディスプレイが黄緑に光る。

X の起動

yasunari@vl:~$ startx


X.Org X Server 1.7.7
Release Date: 2010-05-04
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.32 armv5tel Debian
Current Operating System: Linux vl 2.6.31.8 #10 Sun Mar 11 18:09:24 JST 2012 armv5tel
Kernel command line: console=ttyS0,115200 root=/dev/sda2 rw initrd=0x00800040,12M panic=5 BOOTVER=0.25
Build Date: 30 October 2011  09:07:45PM
xorg-server 2:1.7.7-14 (Julien Cristau )
Current version of pixman: 0.16.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun Mar 11 18:18:43 2012
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
SELinux: Disabled on system, not enabling in X server

画面が真っ黒。。。まだダメ???と思ったが良く見ると左上に

もうここまで来れば大丈夫でしょう。
まるしすなうぇぶろぐ(仮): 玄柴/ディスプレイの接続の中のかた、 有用な情報をありがとうございます!



LS-VL

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


標準ファームの HDD の中身(2)
ハックの記録
LinkStation/玄箱 をハックしよう

標準ファームの HDD の中身(3)ssh 可能化

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