HWなしでgTV hack 02: kernelの処理

root@debian:~/gtv# file system/boot/*
system/boot/kernel:       data
system/boot/recovery.img: data
system/boot/splash.bmp:   PC bitmap, Windows 3.x format, 720 x 480 x 24

kernelもrecover.imgも生ではなさそう。
何かヘッダが付いているのかも。
recovery.imgが小さいな。これじゃ全部は動かないだろう。
初期設定だけかな?


生ではなさそうなヘッダ付きだがkernelはある。
bootloader用のヘッダファイルが付けられているのだろう。
とりあえずvmlinuz状態という前提で、gzipヘッダを頼りに頭を切る。

root@debian:~/gtv# dd if=system/boot/kernel of=./vmlinuz bs=$((0x37f5)) skip=1
138+1 records in
138+1 records out
1983883 bytes (2.0 MB) copied, 0.0520949 s, 38.1 MB/s

root@debian:~/gtv# file vmlinuz 
vmlinuz: gzip compressed data, from Unix, last modified: Sat Nov 20 04:13:34 2010, max compression

gzipファイルは取り出せたが、kernelっぽくないな。
普通は、こういう感じなんだけど。

root@debian:~/gtv# file /boot/vmlinuz-2.6.32-5-amd64 
/boot/vmlinuz-2.6.32-5-amd64: Linux kernel x86 boot executable bzImage, version 2.6.32-5-amd64 (unknown@Debian), RO-rootFS, swap_dev 0x2, Normal VGA

とりあえず展開してみる。

root@debian:~/gtv# cp vmlinuz vmlinux.gz
root@debian:~/gtv# gzip -d vmlinux.gz 

gzip: vmlinux.gz: decompression OK, trailing garbage ignored

お尻にもゴミがあったが無視したか。

root@debian:~/gtv# ls -lh ./vmlinu*
-rw-r--r-- 1 root root 3.8M Feb 17 16:54 ./vmlinux
-rw-r--r-- 1 root root 1.9M Feb 17 16:53 ./vmlinuz

サイズはこんなもんだと思うけど。

root@debian:~/gtv# file vmlinux 
vmlinux: data

ダメかな?
ELFヘッダとシンボル情報を持たないだけかも。
kernelは、おそらく、Atomでないと動かないパッチが入っていると思われる。