[ TOP | Recently ]

2012-07-25 kobo


koboを買ってきたので、(電源入れる前に)バラしてシリアルを付けた。TXやRXのシルクは大いなる罠で、USBコネクタ側にあるシルク印刷の無い4つのランドがUART1(console=ttymxc0)でした。騙された!
シリアルのスピードは115200bps。

適当にヘッダピンを付ける。蓋締まらないけど気にしない。

U-Boot 2009.08-dirty-svn (12 13 2011 - 16:52:29)

CPU:   Freescale i.MX50 family 1.1V at 800 MHz
mx50 pll1: 800MHz
mx50 pll2: 400MHz
mx50 pll3: 216MHz
ipg clock     : 66666666Hz
ipg per clock : 66666666Hz
uart clock    : 24000000Hz
ahb clock     : 133333333Hz
axi_a clock   : 400000000Hz
axi_b clock   : 200000000Hz
weim_clock    : 100000000Hz
ddr clock     : 200000000Hz
esdhc1 clock  : 80000000Hz
esdhc2 clock  : 80000000Hz
esdhc3 clock  : 80000000Hz
esdhc4 clock  : 80000000Hz
Board: MX50 RDP board
Boot Reason: [POR]
Boot Device: SD
I2C:   ready
DRAM:  256 MB
MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1
In:    serial
Out:   serial
Err:   serial

MMC read: dev # 0, block # 1023, count 1 partition # 0 ... 
1 blocks read: OK

MMC read: dev # 0, block # 1024, count 1 partition # 0 ... 
1 blocks read: OK
[only 1 key]
0 keys,0x00,0x00
0 keys,0x00,0x00
0 keys,0x00,0x00
0 keys,0x00,0x00
ram p=70000000,size=268435456

MMC read: dev # 0, block # 1023, count 1 partition # 0 ... 
1 blocks read: OK

MMC read: dev # 0, block # 1024, count 1 partition # 0 ... 
1 blocks read: OK

MMC read: dev # 0, block # 18431, count 1 partition # 0 ... 
1 blocks read: OK

MMC read: dev # 0, block # 14335, count 1 partition # 0 ... 
1 blocks read: OK

MMC read: dev # 0, block # 14336, count 1979 partition # 0 ... 
1979 blocks read: OK
Kernel RAM visiable size=255M->255M
Hit any key to stop autoboot:  0 

MMC read: dev # 0, block # 2047, count 1 partition # 0 ... 
1 blocks read: OK
cmd=mmc read 0 0x778205a0 0x7ff 0x1
no kernel image signature !
cmd=mmc read 0 0x70800000 0x800 0x1800

MMC read: dev # 0, block # 2048, count 6144 partition # 0 ... 
6144 blocks read: OK
## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-2.6.35.3-850-gbc67621+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1904568 Bytes =  1.8 MB
   Load Address: 70008000
   Entry Point:  70008000
   Loading Kernel Image ... OK
OK
  
Starting kernel ...

Uncompressing Linux... done, booting the kernel.
epdc_init_sequence(994) : epd_power_on request fail !
1+0 records in
1+0 records out
512 bytes (512B) copied, 0.002489 seconds, 200.9KB/s
cannot open /dev/null
dosfsck 3.0.6, 04 Oct 2009, FAT32, LFN
/dev/mmcblk0p3: 110 files, 1262/348630 clusters
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

(none) login: ApplicationBase::switchTranslator::loading locale: ":/translations/trans_en_US" 
Translator is empty!  Do you have translation files for this locale? 
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
> WebSyncScheduler: scheduleTimer: No need to schedule a sync 
> Warning: You haven't called pageView yet:  "5(Settings*Set%20View%20Type*List)" 
> FSCheckThread: dbMalformed:  false fsCorrupted:  false 
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill

(none) login: root
login[727]: root login on 'ttymxc0'
[root@(none) /]# ApplicationBase::switchTranslator::loading locale: ":/translations/trans_en_US"
Translator is empty!  Do you have translation files for this locale?
[root@(none) /]#
[root@(none) /]#
[root@(none) /]# ps
PID   USER     TIME   COMMAND
    1 root       0:00 init
    2 root       0:00 [kthreadd]
    3 root       0:00 [ksoftirqd/0]
    4 root       0:00 [events/0]
    5 root       0:00 [khelper]
    8 root       0:00 [async/mgr]
    9 root       0:00 [pm]
   63 root       0:00 [usb_wakeup thre]
   64 root       0:00 [usb_wakeup thre]
  112 root       0:00 [sync_supers]
  114 root       0:00 [bdi-default]
  116 root       0:00 [kblockd/0]
  128 root       0:00 [mxc_spi.2]
  136 root       0:00 [khubd]
  153 root       0:00 [kmmcd]
  210 root       0:00 [swapper]
  214 root       0:00 [zq_calib]
  220 root       0:00 [kswapd0]
  267 root       0:00 [aio/0]
  277 root       0:00 [crypto/0]
  369 root       0:00 [kapmd]
  415 root       0:00 [kconservative/0]
  418 root       0:00 [mxc_chg]
  420 root       0:00 [pmic_battery.1]
  425 root       0:00 [esdhc_wq/0]
  428 root       0:00 [esdhc_wq/0]
  430 root       0:00 [esdhc_wq/0]
  445 root       0:00 [submit/0]
  450 root       0:00 [mmcqd]
  456 root       0:00 [jbd2/mmcblk0p1-]
  457 root       0:00 [ext4-dio-unwrit]
  460 root       0:00 [flush-179:0]
  474 root       0:00 /sbin/udevd -d
  714 root       0:00 /bin/sh /etc/init.d/on-animator.sh
  717 root       0:00 [submit/0]
  725 root       0:01 /usr/local/Kobo/nickel -qws
  727 root       0:00 -sh
  763 root       0:00 zcat /etc/images/on-1.raw.gz
  764 root       0:00 /usr/local/Kobo/pickel showpic 1
  766 root       0:00 ps
  768 root       0:00 [dd]
[root@(none) /]#

放置してると10〜20秒くらい(?)でsleepに入ってしまうので、rootで入ってpsして
/usr/local/Kobo/nickel -qws をkillしてやるとそのまま使える。linuxさわる場合はどうぞ。

で、肝心のubootだが、uboot promptに落ちることができなかった。キー入力してもautobootが止まらない。
^CやESCやその他もろもろを押しっぱなしにしてもダメだった。

色々試すべくリセットスイッチ(=基板実装面のUSBコネクタの近くにあるタクトスイッチ)を押しまくってたら、
SDカードが壊れたのかlinux kernelがbootしなくなった。

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
epdc_init_sequence(994) : epd_power_on request fail !
Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[<800294ac>] (unwind_backtrace+0x0/0xf0) from [<80290e00>] (panic+0x6c/0xe0)
[<80290e00>] (panic+0x6c/0xe0) from [<80024588>] (init_post+0xac/0xd4)
[<80024588>] (init_post+0xac/0xd4) from [<800084a4>] (kernel_init+0x124/0x168)
[<800084a4>] (kernel_init+0x124/0x168) from [<800259c0>] (kernel_thread_exit+0x0/0x8)

ガーン。

しかしどうやらkoboはMX50のSDHC bootモードでSDCardからubootを実行してるようだ。SDカードを抜くとubootさえ起動しなかった。
http://github.com/kobolabs/Kobo-Reader にあるu-bootを自分で作りなおしてSDカードに書けばいくらでもいじくれる様子。flashメモリじゃないということは文鎮の恐れもないし! これはもう買うしかないんじゃね?(シルシル風に)

さっそくはしもとさんがオレオレu-bootで立ち上げてた様子。https://twitter.com/h_kenken/status/228446056084537345
ちなみにi.MX50xのデータシートはこちら。NetWalkerとメモリマップが違うけどデバイスの一つ一つはだいたい一緒。


EOF