Ubuntu TVやってみる(5) スクエアディスプレイに表示できるようにしてみる
SDまっさらにして再スタート。
kinneko@BuildSV:~/linaro-panda$ sudo linaro-media-create --mmc /dev/sdc --dev panda --hwpack hwpack_linaro-lt-panda-x11-base_20111219-1_armel_supported.tar.gz --binary linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz
linaro版は、どうやら、ワイドディスプレイに表示されるようになっているようで、手元の昔のスクエア液晶には表示ができない。
それだと作業が滞るので、まずこれを解決する。
DSS2というAngstrome由来のドライバが使われていて、オプションはこのへんにある。
http://omappedia.org/wiki/Bootargs_for_enabling_display#DSS_specific_bootargs
omapfb.mode=
x [M][R][- ][@ ][i][m] or [- ][@ ]
- Default video mode for specified displays. For example - "dvi:800x400MR-24@60".
, , and are decimal numbers and is a string.
is resolution in x-axis.
is resolution in y-axis.
is bit per pixel.
[M] will allow to compute the timings using VESA(tm) Coordinated Video Timings (CVT).
[R] will allow to compute with reduced blanking (for flatpanels).
[i] will allow to compute interlaced mode.
[m] will add margins equal to 1.8% of xres rounded down to 8 pixels, and 1.8% of yres.
デフォルトはここに書かれているのとは違うようだ。
kernelの起動パラメータは、kernelを起動するubootが渡している。
ubootが参照しているのは、起動パーティションにあるboot.scrの中身になる。
boot.scrは、ubootがロードできるようにmkimageでヘッダが追加されたファイル。
同じ内容がboot.txtに書かれている。
kinneko@BuildSV:~/linaro-panda$ mkdir mnt kinneko@BuildSV:~/linaro-panda$ sudo mount /dev/sdc1 mnt/ kinneko@BuildSV:~/linaro-panda$ sudo mv mnt/boot.scr mnt/boot.scr.org kinneko@BuildSV:~/linaro-panda$ sudo mv mnt/boot.txt mnt/boot.txt.org kinneko@BuildSV:~/linaro-panda$ sudo cp mnt/boot.txt.org mnt/boot.txt kinneko@BuildSV:~/linaro-panda$ sudo vi mnt/boot.txt
通常のLinaro版の設定は以下のようになっている。
setenv initrd_high "0xffffffff" setenv fdt_high "0xffffffff" setenv bootcmd "fatload mmc 0:1 0x80200000 uImage; fatload mmc 0:1 0x81600000 uInitrd; fatload mmc 0:1 0x815f0000 board.dtb; bootm 0x80200000 0x81600000 0x815f0000" setenv bootargs "console=tty0 console=ttyO2,115200n8 root=UUID=e2d067cc-a340-4ee5-b5eb-7a330833a6a8 rootwait ro earlyprintk fixrtc nocompcache vram=48M omapfb.vram=0:24M mem=456M@0x80000000 mem=512M@0xA0000000"
無難なところで、"omapfb.mode=dvi:1024x768MR-24@60"を追記する。
kinneko@BuildSV:~/linaro-panda$ cat mnt/boot.txt setenv initrd_high "0xffffffff" setenv fdt_high "0xffffffff" setenv bootcmd "fatload mmc 0:1 0x80200000 uImage; fatload mmc 0:1 0x81600000 uInitrd; fatload mmc 0:1 0x815f0000 board.dtb; bootm 0x80200000 0x81600000 0x815f0000" setenv bootargs "console=tty0 console=ttyO2,115200n8 root=UUID=8a1267b1-a432-4f86-836f-ef0e75cb2a97 rootwait ro earlyprintk fixrtc nocompcache omapfb.mode=dvi:1024x768MR-24@60 vram=48M omapfb.vram=0:24M mem=456M@0x80000000 mem=512M@0xA0000000" boot
mkimageでboot.scrを作る。
kinneko@BuildSV:~/linaro-panda$ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu" -d mnt/boot.txt mnt/boot.scr Image Name: Ubuntu Created: Tue Jan 24 22:23:32 2012 Image Type: ARM Linux Script (uncompressed) Data Size: 484 Bytes = 0.47 kB = 0.00 MB Load Address: 00000000 Entry Point: 00000000 Contents: Image 0: 476 Bytes = 0.46 kB = 0.00 MB
できたのは、少しサイズが大きい。
kinneko@BuildSV:~/linaro-panda$ ls -l mnt/boot.scr* -rwxr-xr-x 1 root root 548 Jan 24 21:23 mnt/boot.scr -rwxr-xr-x 1 root root 514 Jan 24 22:50 mnt/boot.scr.org kinneko@BuildSV:~/linaro-panda$ sudo umount mnt
出来たものをPandaに挿入して再起動。
HDMIケーブルは、NIC側のDVI端子に入れる。
電源を入れて起動する。
ACの突入で起動すると、調子がわるいことがあるようなので、入れたらリセットボタンを押しておく。
表示、きたきた。
ペンギン2匹とコンソールのあと、しばらくブラックアウトする。
そのうち、センタにマウスカーソルが見えてくる。
Xだけの時は、マウスカーソルも快調に動く。
あとは長い。待つだけ。
ほんと長い...
やっぱ、SDからだとUnity表示終わるまですら時間がかかりすぎだわ。
Unity動くと、カーソルの残像が出る。
クリックしても、カーソルが残る。
リフレッシュがおいついていないようだ。
あれ?これ、1024x768じゃないな...
VRAM足りないかな?
800x600くらい?
こんなもんだっけ?
アップデートマネージャーが、106個のパッケージをアップデートせよと言っているけど、とりあえず無視。
Terminalを起動して、dropbearをインストールし、sshを開通。
てーか、このイメージのユーザー名がわからぬな。
ユーザー名はlinaroになっている。
shadowファイルにはパスワードのハッシュが埋まっているので、linaroにはパスワードが設定されているらしい。
クリアする。
エコーがおかしいのか、terminal画面で、passwdコマンドのインターフェイスが出ない。
めくら打ちで変更OK。
以下sshごしに作業できる。