::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を削る世界(?)は甘くありませんでした。





シールド開けてみたいけどライフラインで調子悪くなると嫌なのでなのでやりません :-P
EOF