::log.2012
[ TOP | Recently ]
kobo / NetBSD on さくらVPS / Aterm WM3600R
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とメモリマップが違うけどデバイスの一つ一つはだいたい一緒。
2012-07-11 NetBSD on さくらVPS
いろいろハマったけどなんとか入ったのでメモっておく。
神戸さんのこのページ http://www.back-street.net/netbsd-sakura-vps3.html を参考にしたのだが、さくらVPSの仕様が変わったのか、
BIOSbootからカーネルが読めなくなっていた。しょうがないのでgrubからNetBSDをbootする方式でちょっと強引にインストールすることにする。
デフォルトのCentOS 6はgpt+ext4という構成で、いろいろ面倒なので、CentOS 5を選んで、一旦普通にインストールする。
CentOS5はfdisk+ext3なので、NetBSDからも簡単に見えるのである。
やろうとしていることは以下の通り。
さくらVPSでCentOS5のインストール直後
これを↓のようにするのが目的
最終的にGRUBからnetbsdをbootさせて使う。
*** How to install ***
さくらVPS用(KVM用)にpatchを当てたNetBSD一式(releaseおよびinstall-image)を作る。
神戸さんのこのページを参照。http://www.back-street.net/netbsd-sakura-vps3.html
パッチを当てた状態で、
として、netbsd-INSTALL.gz と netbsd-GENERIC.gz を作る。
Linuxから、/boot/grub/grub.conf を編集して以下の行を追加。上で作った netbsd-*.gz を /boot にコピーしておく。
あとは GRUBから NetBSD-install で立ち上げて、fdisk管理テーブルやMBR領域を壊さないようにfdisk partition 1のLinux領域をNetBSDで上書きするようにインストールするだけ。
楽ちん。
インストールが終わったら、fdisk[0] のgrub領域をmount_ext2fsでmountして、新しいkernelを置いてgrubからboot。ちょっとめんどくさいけど、とくに問題なし。
神戸さんのこのページ http://www.back-street.net/netbsd-sakura-vps3.html を参考にしたのだが、さくらVPSの仕様が変わったのか、
BIOSbootからカーネルが読めなくなっていた。しょうがないのでgrubからNetBSDをbootする方式でちょっと強引にインストールすることにする。
デフォルトのCentOS 6はgpt+ext4という構成で、いろいろ面倒なので、CentOS 5を選んで、一旦普通にインストールする。
CentOS5はfdisk+ext3なので、NetBSDからも簡単に見えるのである。
やろうとしていることは以下の通り。
さくらVPSでCentOS5のインストール直後
[HD] [fdisk] 0 GRUB(20Mbyteくらい。ext3) 1 Linux(残りの領域。Linux本体。ext3) 2 unused 3 unused
これを↓のようにするのが目的
[HD] [fdisk] 0 GRUB(20Mくらい。ext3) 1 NetBSD 2 unused 3 unused
最終的にGRUBからnetbsdをbootさせて使う。
*** How to install ***
さくらVPS用(KVM用)にpatchを当てたNetBSD一式(releaseおよびinstall-image)を作る。
神戸さんのこのページを参照。http://www.back-street.net/netbsd-sakura-vps3.html
パッチを当てた状態で、
./build.sh -U -m i386 -T ~/work/i386/tools -D ~/work/i386/tree -O ~/work/i386/obj -R ~/work/release release ./build.sh -U -m i386 -T ~/work/i386/tools -D ~/work/i386/tree -O ~/work/i386/obj -R ~/work/release install-image
として、netbsd-INSTALL.gz と netbsd-GENERIC.gz を作る。
Linuxから、/boot/grub/grub.conf を編集して以下の行を追加。上で作った netbsd-*.gz を /boot にコピーしておく。
title NetBSD-install kernel /netbsd-INSTALL.gz console=com console_speed=115200 title NetBSD-GENERIC kernel /netbsd-GENERIC.gz console=com console_speed=115200 title NetBSD kernel /netbsd console=com console_speed=115200 root=ld
あとは GRUBから NetBSD-install で立ち上げて、fdisk管理テーブルやMBR領域を壊さないようにfdisk partition 1のLinux領域をNetBSDで上書きするようにインストールするだけ。
楽ちん。
インストールが終わったら、fdisk[0] のgrub領域をmount_ext2fsでmountして、新しいkernelを置いてgrubからboot。ちょっとめんどくさいけど、とくに問題なし。
2012-03-16 Aterm WM3600R
分解したけどあんま面白くなかった。あわよくばシリアル出力見れるかなーと思ったんだけど1mgを削る世界(?)は甘くありませんでした。
とりあえず開ける
シールドばっかり。
裏
バッテリー
おまけ。QRコードシールド開けてみたいけどライフラインで調子悪くなると嫌なのでなのでやりません :-P
EOF