[android[kmz] KZM9D来た。とりあえずSD起動の確認してみた
もうEOLとのことだけど、やんごとなき事情によりさわりはじめる必要がある。
まずは、SDで起動できるGingerbread作る必要がある。
とりあえず、prebuiltのイメージをSDで起動してみる。
シリアルは9ピン。ハーネス付けにくすぎ...
Lコネクタでもよかったのじゃ...
通電で、内蔵eMMCに書かれたGingerbreadが起動した。
タッチで動作しにくいと思ったら、感圧だったか?
いや、静電だな...
CDには、kzm9d_20111018.tar。
1GBくらい。
tar?
なんでだ...
なんで圧縮されていないのだ?
tar嫌うってのはあるけど、gz嫌うってのは聞いたことないな...
$ mkdir ~/KZM9D $ cp /media/KZMA9DUAL_111021/Software/kzm9d_20111018.tar ~/KZM9D/ $ sync $ eject $ cd ~/KZM9D/ $ tar xvf kzm9d_20111018.tar 20111018/ 20111018/How_to_boot_ubuntu.txt 20111018/kernel_20111018.tar.bz2 20111018/android_20110930.tar.bz2 20111018/write_sd.sh 20111018/prebuilt/ 20111018/prebuilt/u-boot-emmc.bin 20111018/prebuilt/android-root.tar.bz2 20111018/prebuilt/sdboot.bin 20111018/prebuilt/uImage 20111018/prebuilt/uboot-sd.bin 20111018/prebuilt/u-boot.bin 20111018/How_to_boot_from_SD.txt 20111018/How_to_boot_via_NFS.txt 20111018/patch-linux-2.6.35-kzma9d-20111017 20111018/u-boot_20110930.tar.bz2 20111018/How_to_build.txt 20111018/00Readme.txt $ cd 20111018/
なるほど、中身がbz2だから、これ以上圧縮する意味はないってことか。
"00Readme.txt"によると、SDからの起動は、
Boot from SD card
DSW1-3: OFF
DSW1-4: ON
"How_to_boot_from_SD.txt"によると、SDからの起動に必要なのは4つ。
uboot-sd.bin, sdboot.bin, uImage, android-root.tar.bz2。
./outに入れておく。
構成は普通のルネサスっぽい感じ。
eMMCにuserlandベタ書きで、ROM化されていないってことか。正直、よろしくない実装ね。
容量は1Gくらい。速いカード使ってね。
"write_sd.sh"というスクリプトが用意してあるので、それに接続SDを引数で渡す。
kernelの起動パラメータは、こんな感じだそう。
root=/dev/mmcblk1p3 noinitrd init=/init console=ttyS1,115200n8n mem=129M@0x40000000 mem=256M@0x50000000 rw video=qfb: ip=none rootfstype=ext3 rootwait
これは、ubootにハードコードかな? あんまりよろしくない実装だな。
SDからの起動では、スリープすると起きなくなるそうな。
うぐぐ。
手持ちの余りSDに良さ気なのがないな。
東芝2GBがあった。中身はPandaの起動に使ってたやつだな。
カードリーダー経由で接続。sdbで認識された。
まずは、起動テストのために、prebuiltを試す。
$ mkdir out $ cp prebuilt/ android-root.tar.bz2 u-boot-emmc.bin uImage sdboot.bin u-boot.bin uboot-sd.bin $ cp prebuilt/* out/
Ubuntuが自動マウントしちゃうので、アンマウントしておく。
$ sudo umount /dev/sdb1 $ sudo umount /dev/sdb2
書き込む。
$ sudo ./write_sd.sh /dev/sdb + OUT_DIR=./out + UBOOT=./out/uboot-sd.bin + SDBOOT=./out/sdboot.bin + UIMAGE=./out/uImage + ROOT_TAR=./out/android-root.tar.bz2 + DRIVE=/dev/sdb + TMP_MNT=/tmp/mnt + ls -l ./out/uboot-sd.bin -rw-r--r-- 1 kinneko kinneko 123232 Jun 14 11:51 ./out/uboot-sd.bin + ls -l ./out/uImage -rw-r--r-- 1 kinneko kinneko 4128768 Jun 14 11:51 ./out/uImage + ls -l ./out/android-root.tar.bz2 -rw-r--r-- 1 kinneko kinneko 51548221 Jun 14 11:51 ./out/android-root.tar.bz2 + ls -l /dev/sdb brw-rw---- 1 root disk 8, 16 Jun 14 11:53 /dev/sdb + dd if=/dev/zero of=/dev/sdb bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.652617 s, 1.6 MB/s + fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x6e693969. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): Command action e extended p primary partition (1-4) Partition number (1-4): First cylinder (1-1015, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1015, default 1015): Command (m for help): Command action e extended p primary partition (1-4) Partition number (1-4): First cylinder (24-1015, default 24): Using default value 24 Last cylinder, +cylinders or +size{K,M,G} (24-1015, default 1015): Command (m for help): Command action e extended p primary partition (1-4) Partition number (1-4): First cylinder (25-1015, default 25): Using default value 25 Last cylinder, +cylinders or +size{K,M,G} (25-1015, default 1015): Using default value 1015 Command (m for help): Partition number (1-4): Hex code (type L to list codes): Changed system type of partition 1 to 6 (FAT16) Command (m for help): Disk /dev/sdb: 1967 MB, 1967128576 bytes 61 heads, 62 sectors/track, 1015 cylinders Units = cylinders of 3782 * 512 = 1936384 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x6e693969 Device Boot Start End Blocks Id System /dev/sdb1 1 23 43462 6 FAT16 /dev/sdb2 24 24 1891 83 Linux /dev/sdb3 25 1015 1873981 83 Linux Command (m for help): The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. + sync + sync + sync + mkfs.msdos /dev/sdb1 mkfs.msdos 3.0.9 (31 Jan 2010) + mkfs.ext3 /dev/sdb3 mke2fs 1.41.14 (22-Dec-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 117360 inodes, 468495 blocks 23424 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=482344960 15 block groups 32768 blocks per group, 32768 fragments per group 7824 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 20 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. + mkdir -p /tmp/mnt + mount /dev/sdb1 /tmp/mnt + cp ./out/sdboot.bin /tmp/mnt + cp ./out/uboot-sd.bin /tmp/mnt + cp ./out/uImage /tmp/mnt + umount /tmp/mnt + mount /dev/sdb3 /tmp/mnt + tar xvpf ./out/android-root.tar.bz2 -C /tmp/mnt ./ ./ueventd.goldfish.rc ./sys/ ./ueventd.rc ./data/ ./init.kzm9d.rc ./default.prop ./proc/ ./init ./system/ ./system/usr/ ./system/usr/icu/ ./system/usr/icu/icudt44l.dat ./system/usr/keylayout/ ./system/usr/keylayout/AVRCP.kl ./system/usr/keylayout/qwerty.kl ./system/usr/share/ ./system/usr/share/alsa/ ./system/usr/share/alsa/cards/ ./system/usr/share/alsa/cards/aliases.conf ./system/usr/share/alsa/alsa.conf ./system/usr/share/alsa/pcm/ ./system/usr/share/alsa/pcm/center_lfe.conf ./system/usr/share/alsa/pcm/surround50.conf ./system/usr/share/alsa/pcm/iec958.conf ./system/usr/share/alsa/pcm/rear.conf ./system/usr/share/alsa/pcm/surround41.conf ./system/usr/share/alsa/pcm/front.conf ./system/usr/share/alsa/pcm/side.conf ./system/usr/share/alsa/pcm/default.conf ./system/usr/share/alsa/pcm/modem.conf ./system/usr/share/alsa/pcm/surround71.conf ./system/usr/share/alsa/pcm/surround40.conf ./system/usr/share/alsa/pcm/dsnoop.conf ./system/usr/share/alsa/pcm/surround51.conf ./system/usr/share/alsa/pcm/dmix.conf ./system/usr/share/alsa/pcm/dpl.conf ./system/usr/share/bmd/ ./system/usr/share/bmd/RFFstd_501.bmd ./system/usr/share/bmd/RFFspeed_501.bmd ./system/usr/share/zoneinfo/ ./system/usr/share/zoneinfo/zoneinfo.dat ./system/usr/share/zoneinfo/zoneinfo.idx ./system/usr/share/zoneinfo/zoneinfo.version ./system/usr/keychars/ ./system/usr/keychars/qwerty.kcm.bin ./system/usr/keychars/qwerty2.kcm.bin ./system/usr/srec/ ./system/usr/srec/config/ ./system/usr/srec/config/en.us/ ./system/usr/srec/config/en.us/g2p/ ./system/usr/srec/config/en.us/g2p/en-US-ttp.data ./system/usr/srec/config/en.us/dictionary/ ./system/usr/srec/config/en.us/dictionary/basic.ok ./system/usr/srec/config/en.us/dictionary/enroll.ok ./system/usr/srec/config/en.us/dictionary/cmu6plus.ok.zip ./system/usr/srec/config/en.us/baseline11k.par ./system/usr/srec/config/en.us/grammars/ ./system/usr/srec/config/en.us/grammars/VoiceDialer.g2g ./system/usr/srec/config/en.us/grammars/phone_type_choice.g2g ./system/usr/srec/config/en.us/grammars/boolean.g2g ./system/usr/srec/config/en.us/baseline8k.par ./system/usr/srec/config/en.us/models/ ./system/usr/srec/config/en.us/models/generic8_m.swimdl ./system/usr/srec/config/en.us/models/generic8.lda ./system/usr/srec/config/en.us/models/generic.swiarb ./system/usr/srec/config/en.us/models/generic8_f.swimdl ./system/usr/srec/config/en.us/models/generic11_f.swimdl ./system/usr/srec/config/en.us/models/generic11.lda ./system/usr/srec/config/en.us/models/generic11_m.swimdl ./system/usr/srec/config/en.us/baseline.par ./system/tts/ ./system/tts/lang_pico/ ./system/tts/lang_pico/en-US_lh0_sg.bin ./system/tts/lang_pico/it-IT_ta.bin ./system/tts/lang_pico/es-ES_zl0_sg.bin ./system/tts/lang_pico/fr-FR_nk0_sg.bin ./system/tts/lang_pico/de-DE_gl0_sg.bin ./system/tts/lang_pico/it-IT_cm0_sg.bin ./system/tts/lang_pico/en-GB_kh0_sg.bin ./system/tts/lang_pico/de-DE_ta.bin ./system/tts/lang_pico/es-ES_ta.bin ./system/tts/lang_pico/fr-FR_ta.bin ./system/tts/lang_pico/en-GB_ta.bin ./system/tts/lang_pico/en-US_ta.bin ./system/xbin/ ./system/xbin/scp ./system/xbin/strace ./system/xbin/tcpdump ./system/xbin/procrank ./system/xbin/dexdump ./system/xbin/add-property-tag ./system/xbin/showslab ./system/xbin/latencytop ./system/xbin/dbus-monitor ./system/xbin/crasher ./system/xbin/opcontrol ./system/xbin/btool ./system/xbin/oprofiled ./system/xbin/procmem ./system/xbin/dbus-send ./system/xbin/sqlite3 ./system/xbin/netperf ./system/xbin/timeinfo ./system/xbin/directiotest ./system/xbin/daemonize ./system/xbin/netserver ./system/xbin/ssh ./system/xbin/rawbu ./system/xbin/check-lost+found ./system/xbin/showmap ./system/xbin/cpueater ./system/xbin/vfp-crasher ./system/xbin/nc ./system/xbin/librank ./system/xbin/su ./system/media/ ./system/media/audio/ ./system/media/audio/alarms/ ./system/media/audio/alarms/Alarm_Beep_01.ogg ./system/media/audio/alarms/Alarm_Beep_03.ogg ./system/media/audio/alarms/Alarm_Classic.ogg ./system/media/audio/alarms/Alarm_Buzzer.ogg ./system/media/audio/alarms/Alarm_Rooster_02.ogg ./system/media/audio/alarms/Alarm_Beep_02.ogg ./system/media/audio/ui/ ./system/media/audio/ui/KeypressReturn.ogg ./system/media/audio/ui/camera_click.ogg ./system/media/audio/ui/KeypressDelete.ogg ./system/media/audio/ui/VideoRecord.ogg ./system/media/audio/ui/Effect_Tick.ogg ./system/media/audio/ui/KeypressSpacebar.ogg ./system/media/audio/ui/KeypressStandard.ogg ./system/media/audio/notifications/ ./system/media/audio/notifications/F1_MissedCall.ogg ./system/media/audio/notifications/Tinkerbell.ogg ./system/media/audio/notifications/Voila.ogg ./system/media/audio/notifications/F1_New_MMS.ogg ./system/media/audio/notifications/CaffeineSnake.ogg ./system/media/audio/notifications/F1_New_SMS.ogg ./system/media/audio/notifications/OnTheHunt.ogg ./system/media/audio/notifications/Highwire.ogg ./system/media/audio/notifications/Beat_Box_Android.ogg ./system/media/audio/notifications/TaDa.ogg ./system/media/audio/notifications/DontPanic.ogg ./system/media/audio/notifications/DearDeer.ogg ./system/media/audio/notifications/Heaven.ogg ./system/media/audio/notifications/KzurbSonar.ogg ./system/media/audio/ringtones/ ./system/media/audio/ringtones/RomancingTheTone.ogg ./system/media/audio/ringtones/Noises3.ogg ./system/media/audio/ringtones/BirdLoop.ogg ./system/media/audio/ringtones/Ring_Digital_02.ogg ./system/media/audio/ringtones/BeatPlucker.ogg ./system/media/audio/ringtones/Ring_Synth_04.ogg ./system/media/audio/ringtones/Growl.ogg ./system/media/audio/ringtones/EtherShake.ogg ./system/media/audio/ringtones/InsertCoin.ogg ./system/media/audio/ringtones/VeryAlarmed.ogg ./system/media/audio/ringtones/World.ogg ./system/media/audio/ringtones/LoveFlute.ogg ./system/media/audio/ringtones/TwirlAway.ogg ./system/media/audio/ringtones/DreamTheme.ogg ./system/media/audio/ringtones/Noises1.ogg ./system/media/audio/ringtones/FriendlyGhost.ogg ./system/media/audio/ringtones/Terminated.ogg ./system/media/audio/ringtones/NewPlayer.ogg ./system/media/audio/ringtones/Noises2.ogg ./system/media/audio/ringtones/LoopyLounge.ogg ./system/media/audio/ringtones/CaribbeanIce.ogg ./system/media/audio/ringtones/CurveBall.ogg ./system/media/audio/ringtones/Ring_Classic_02.ogg ./system/media/audio/ringtones/SitarVsSitar.ogg ./system/media/audio/ringtones/GameOverGuitar.ogg ./system/media/audio/ringtones/MidEvilJaunt.ogg ./system/media/audio/ringtones/MildlyAlarming.ogg ./system/media/audio/ringtones/SpringyJalopy.ogg ./system/media/audio/ringtones/CrazyDream.ogg ./system/media/audio/ringtones/BentleyDubs.ogg ./system/media/audio/ringtones/Ring_Synth_02.ogg ./system/media/audio/ringtones/OrganDub.ogg ./system/bin/ ./system/bin/ls ./system/bin/String8_test ./system/bin/dnsmasq ./system/bin/dvz ./system/bin/skia_test ./system/bin/rmmod ./system/bin/toolbox ./system/bin/app_process ./system/bin/installd ./system/bin/keystore ./system/bin/monkey ./system/bin/cmp ./system/bin/ping ./system/bin/start ./system/bin/sh ./system/bin/umount ./system/bin/lsmod ./system/bin/InputPublisherAndConsumer_test ./system/bin/uptime ./system/bin/pm ./system/bin/chmod ./system/bin/notify ./system/bin/audioloop ./system/bin/setconsole ./system/bin/gzip ./system/bin/hd ./system/bin/dumpsys ./system/bin/racoon ./system/bin/vmstat ./system/bin/date ./system/bin/nandread ./system/bin/reboot ./system/bin/ifconfig ./system/bin/dbus-daemon ./system/bin/watchprops ./system/bin/tc ./system/bin/servicemanager ./system/bin/pppd ./system/bin/ime ./system/bin/bootanimation ./system/bin/dmesg ./system/bin/smd ./system/bin/surfaceflinger ./system/bin/chown ./system/bin/newfs_msdos ./system/bin/check_prereq ./system/bin/kill ./system/bin/route ./system/bin/netd ./system/bin/df ./system/bin/stop ./system/bin/cat ./system/bin/vold ./system/bin/InputChannel_test ./system/bin/schedtest ./system/bin/ps ./system/bin/dd ./system/bin/rm ./system/bin/logwrapper ./system/bin/sleep ./system/bin/ionice ./system/bin/testid3 ./system/bin/flash_image ./system/bin/mv ./system/bin/ndc ./system/bin/getevent ./system/bin/log ./system/bin/printenv ./system/bin/InputReader_test ./system/bin/netcfg ./system/bin/gdbserver ./system/bin/dalvikvm ./system/bin/Looper_test ./system/bin/system_server ./system/bin/qemu-props ./system/bin/vdc ./system/bin/lsof ./system/bin/radiooptions ./system/bin/mount ./system/bin/am ./system/bin/rmdir ./system/bin/mediaserver ./system/bin/mtpd ./system/bin/wipe ./system/bin/linker ./system/bin/run-as ./system/bin/InputDispatcher_test ./system/bin/fsck_msdos ./system/bin/record ./system/bin/showlease ./system/bin/dumpstate ./system/bin/omx_tests ./system/bin/getprop ./system/bin/debuggerd ./system/bin/rtp_test ./system/bin/logcat ./system/bin/input ./system/bin/mkdir ./system/bin/gdbjithelper ./system/bin/id ./system/bin/qemud ./system/bin/rild ./system/bin/schedtop ./system/bin/renice ./system/bin/stagefright ./system/bin/dhcpcd ./system/bin/applypatch ./system/bin/setprop ./system/bin/netstat ./system/bin/iftop ./system/bin/bmgr ./system/bin/iptables ./system/bin/sendevent ./system/bin/applypatch_static ./system/bin/ln ./system/bin/keystore_cli ./system/bin/sync ./system/bin/updater ./system/bin/dexopt ./system/bin/ObbFile_test ./system/bin/sdcard ./system/bin/svc ./system/bin/recovery ./system/bin/top ./system/bin/ioctl ./system/bin/service ./system/bin/insmod ./system/bin/bugreport ./system/framework/ ./system/framework/services.jar ./system/framework/am.jar ./system/framework/input.jar ./system/framework/svc.jar ./system/framework/monkey.jar ./system/framework/sqlite-jdbc.jar ./system/framework/android.test.runner.jar ./system/framework/javax.obex.jar ./system/framework/framework.jar ./system/framework/ime.jar ./system/framework/android.policy.jar ./system/framework/bouncycastle.jar ./system/framework/core.jar ./system/framework/com.android.location.provider.jar ./system/framework/pm.jar ./system/framework/framework-res.apk ./system/framework/ext.jar ./system/framework/bmgr.jar ./system/framework/core-junit.jar ./system/etc/ ./system/etc/init.kzm9d.sh ./system/etc/apns-conf.xml ./system/etc/event-log-tags ./system/etc/hosts ./system/etc/NOTICE.html.gz ./system/etc/media_profiles.xml ./system/etc/ppp/ ./system/etc/ppp/ip-up-vpn ./system/etc/permissions/ ./system/etc/permissions/platform.xml ./system/etc/permissions/com.android.location.provider.xml ./system/etc/permissions/android.hardware.camera.xml ./system/etc/permissions/android.software.live_wallpaper.xml ./system/etc/permissions/android.hardware.touchscreen.xml ./system/etc/vold.fstab ./system/etc/init.goldfish.sh ./system/etc/security/ ./system/etc/security/cacerts.bks ./system/etc/security/otacerts.zip ./system/etc/dbus.conf ./system/etc/dhcpcd/ ./system/etc/dhcpcd/dhcpcd-hooks/ ./system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf ./system/etc/dhcpcd/dhcpcd-hooks/95-configured ./system/etc/dhcpcd/dhcpcd-run-hooks ./system/lib/ ./system/lib/libttssynthproxy.so ./system/lib/soundfx/ ./system/lib/soundfx/libvisualizer.so ./system/lib/soundfx/libreverbwrapper.so ./system/lib/soundfx/libbundlewrapper.so ./system/lib/libmedia.so ./system/lib/libjpeg.so ./system/lib/libiprouteutil.so ./system/lib/libstagefright.so ./system/lib/librtp_jni.so ./system/lib/libnativehelper.so ./system/lib/libhardware.so ./system/lib/libstagefright_color_conversion.so ./system/lib/libcamera_client.so ./system/lib/libssl.so ./system/lib/libandroid.so ./system/lib/libaudio.so ./system/lib/libvorbisidec.so ./system/lib/libcameraservice.so ./system/lib/libgui.so ./system/lib/libdiskconfig.so ./system/lib/libstagefright_avc_common.so ./system/lib/libsysutils.so ./system/lib/libsoundpool.so ./system/lib/libsqlite_jni.so ./system/lib/libcamera.so ./system/lib/libdrm1.so ./system/lib/libSR_AudioIn.so ./system/lib/libOpenSLES.so ./system/lib/libm.so ./system/lib/invoke_mock_media_player.so ./system/lib/hw/ ./system/lib/hw/gps.goldfish.so ./system/lib/hw/copybit.emxx.so ./system/lib/hw/overlay.emxx.so ./system/lib/hw/lights.emxx.so ./system/lib/hw/gralloc.default.so ./system/lib/hw/alsa.default.so ./system/lib/hw/gralloc.emxx.so ./system/lib/hw/acoustics.default.so ./system/lib/hw/sensors.goldfish.so ./system/lib/libskia.so ./system/lib/libasound.so ./system/lib/libstdc++.so ./system/lib/libstagefright_omx.so ./system/lib/libcrypto.so ./system/lib/libstlport.so ./system/lib/libdl.so ./system/lib/libdvm.so ./system/lib/libpagemap.so ./system/lib/egl/ ./system/lib/egl/libGLES_android.so ./system/lib/libeffects.so ./system/lib/libsystem_server.so ./system/lib/liblog.so ./system/lib/libwpa_client.so ./system/lib/libaudiopolicy.so ./system/lib/libwebcore.so ./system/lib/libsensorservice.so ./system/lib/libui.so ./system/lib/libc_malloc_debug_qemu.so ./system/lib/libsqlite.so ./system/lib/libdbus.so ./system/lib/libaudioeffect_jni.so ./system/lib/libreference-cdma-sms.so ./system/lib/libGLESv2.so ./system/lib/libemoji.so ./system/lib/libacc.so ./system/lib/libcutils.so ./system/lib/librs_jni.so ./system/lib/libstagefright_enc_common.so ./system/lib/libsurfaceflinger.so ./system/lib/libaudioflinger.so ./system/lib/libz.so ./system/lib/libGLESv1_CM.so ./system/lib/libmock_ril.so ./system/lib/libjni_pinyinime.so ./system/lib/libskiagl.so ./system/lib/libc.so ./system/lib/libmediaplayerservice.so ./system/lib/libc_malloc_debug_leak.so ./system/lib/libexif.so ./system/lib/libterm.so ./system/lib/libctest.so ./system/lib/libRS.so ./system/lib/libstagefright_amrnb_common.so ./system/lib/libstagefrighthw.so ./system/lib/libbinder.so ./system/lib/libFFTEm.so ./system/lib/libicui18n.so ./system/lib/libstagefright_foundation.so ./system/lib/libsurfaceflinger_client.so ./system/lib/libmedia_jni.so ./system/lib/libETC1.so ./system/lib/libnetlink.so ./system/lib/libthread_db.so ./system/lib/libnetutils.so ./system/lib/libexpat.so ./system/lib/libpixelflinger.so ./system/lib/libEGL.so ./system/lib/libdrm1_jni.so ./system/lib/libicuuc.so ./system/lib/libandroid_runtime.so ./system/lib/libutils.so ./system/lib/libjni_latinime.so ./system/lib/libril.so ./system/lib/libttspico.so ./system/lib/libjnigraphics.so ./system/lib/libhardware_legacy.so ./system/lib/libreference-ril.so ./system/lib/libsrec_jni.so ./system/lib/libnfc_ndef.so ./system/lib/libandroid_servers.so ./system/lib/libsonivox.so ./system/build.prop ./system/fonts/ ./system/fonts/DroidSansFallback.ttf ./system/fonts/DroidSerif-Bold.ttf ./system/fonts/DroidSansThai.ttf ./system/fonts/DroidSerif-BoldItalic.ttf ./system/fonts/DroidSansMono.ttf ./system/fonts/DroidSans.ttf ./system/fonts/DroidSerif-Italic.ttf ./system/fonts/Clockopia.ttf ./system/fonts/DroidSansHebrew.ttf ./system/fonts/DroidSansArabic.ttf ./system/fonts/DroidSans-Bold.ttf ./system/fonts/DroidSerif-Regular.ttf ./system/app/ ./system/app/SystemUI.apk ./system/app/VisualizationWallpapers.apk ./system/app/LiveWallpapers.apk ./system/app/MediaProvider.apk ./system/app/Launcher2.apk ./system/app/Gallery3D.apk ./system/app/PackageInstaller.apk ./system/app/DeskClock.apk ./system/app/Calendar.apk ./system/app/UserDictionaryProvider.apk ./system/app/SpeechRecorder.apk ./system/app/CertInstaller.apk ./system/app/DefaultContainerService.apk ./system/app/Term.apk ./system/app/DrmProvider.apk ./system/app/DownloadProvider.apk ./system/app/LatinIME.apk ./system/app/TtsService.apk ./system/app/LiveWallpapersPicker.apk ./system/app/Development.apk ./system/app/Mms.apk ./system/app/VpnServices.apk ./system/app/PicoTts.apk ./system/app/Email.apk ./system/app/Protips.apk ./system/app/Provision.apk ./system/app/SoundRecorder.apk ./system/app/Browser.apk ./system/app/Bluetooth.apk ./system/app/Camera.apk ./system/app/Music.apk ./system/app/Settings.apk ./system/app/SpareParts.apk ./system/app/CalendarProvider.apk ./system/app/Contacts.apk ./system/app/Phone.apk ./system/app/DownloadProviderUi.apk ./system/app/Calculator.apk ./system/app/ApplicationsProvider.apk ./system/app/AccountAndSyncSettings.apk ./system/app/TelephonyProvider.apk ./system/app/MagicSmokeWallpapers.apk ./system/app/SettingsProvider.apk ./system/app/QuickSearchBox.apk ./system/app/ContactsProvider.apk ./system/app/HTMLViewer.apk ./sbin/ ./sbin/ueventd ./sbin/adbd ./ueventd.kzm9d.rc ./init.goldfish.rc ./initlogo.rle ./init.rc ./dev/ ./lib/ ./lib/modules/ ./lib/modules/em_ave.ko ./lib/modules/pwm.ko ./lib/modules/inter_dsp.ko ./kzm9d_ts0.rle + umount /tmp/mnt umount: /tmp/mnt: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
やってることは普通。パーティション切って書いているだけ。
最後、umountに失敗してる。
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb3 1844472 110332 1640444 7% /tmp/mnt
確かに残っているね。
大丈夫かな?
まだ書いている最中にumountしようとしちゃった?
とりあえず、手動でやっておく。
$ sudo umount /tmp/mnt
ちゃんと書けているのかな?
$ sudo fdisk -l /dev/sdb Disk /dev/sdb: 1967 MB, 1967128576 bytes 61 heads, 62 sectors/track, 1015 cylinders Units = cylinders of 3782 * 512 = 1936384 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x6e693969 Device Boot Start End Blocks Id System /dev/sdb1 1 23 43462 6 FAT16 /dev/sdb2 24 24 1891 83 Linux /dev/sdb3 25 1015 1873981 83 Linux
何が書かれたか見る。
$ sudo mount /dev/sdb1 /media kinneko@BuildSV:~/KZM9D/20111018$ ls -l /media total 4162 -rwxr-xr-x 1 root root 8192 Jun 14 12:02 sdboot.bin -rwxr-xr-x 1 root root 4128768 Jun 14 12:02 uImage -rwxr-xr-x 1 root root 123232 Jun 14 12:02 uboot-sd.bin kinneko@BuildSV:~/KZM9D/20111018$ sudo umount /media kinneko@BuildSV:~/KZM9D/20111018$ sudo mount /dev/sdb2 /media mount: you must specify the filesystem type kinneko@BuildSV:~/KZM9D/20111018$ sudo mount /dev/sdb3 /media kinneko@BuildSV:~/KZM9D/20111018$ ls -l /media total 228 drwxr-xr-x 2 kinneko kinneko 4096 Oct 18 2011 data -rw-r--r-- 1 kinneko kinneko 118 Oct 18 2011 default.prop drwxr-xr-x 2 kinneko kinneko 4096 Oct 18 2011 dev -rwxr-xr-x 1 kinneko kinneko 94252 Oct 18 2011 init -rw-r--r-- 1 kinneko kinneko 1677 Dec 18 2010 init.goldfish.rc -rw-r--r-- 1 kinneko kinneko 300 Sep 14 2011 init.kzm9d.rc -rw-r--r-- 1 kinneko kinneko 13806 Dec 20 2010 init.rc -rw-r--r-- 1 kinneko kinneko 23164 Aug 24 2011 initlogo.rle -rw-r--r-- 1 kinneko kinneko 22184 Sep 14 2011 kzm9d_ts0.rle drwxr-xr-x 3 kinneko kinneko 4096 Oct 18 2011 lib drwx------ 2 root root 16384 Jun 14 12:01 lost+found drwxr-xr-x 2 kinneko kinneko 4096 Oct 18 2011 proc drwxr-xr-x 2 kinneko kinneko 4096 Oct 18 2011 sbin drwxr-xr-x 2 kinneko kinneko 4096 Oct 18 2011 sys drwxr-xr-x 12 kinneko kinneko 4096 Oct 18 2011 system -rw-r--r-- 1 kinneko kinneko 0 Dec 18 2010 ueventd.goldfish.rc -rw-r--r-- 1 kinneko kinneko 373 Feb 22 2011 ueventd.kzm9d.rc -rw-r--r-- 1 kinneko kinneko 3882 May 2 2011 ueventd.rc kinneko@BuildSV:~/KZM9D/20111018$ sudo umount /media
ログ見ても、sdb2(ext3)はmkfsされた気配がないね。
スクリプトの中みても使ってない。
mkfs.msdos ${DRIVE}1 mkfs.ext3 ${DRIVE}3
どういう意図かな?
サイズも256Kしかないし。
謎。
とりあえず、これで起動してみる。
ターゲットの電源を引っこ抜いて、DIPSWを切り替える。
正面右下に、2つのピアノスイッチがある。4つと8つの。
"KZM-A9-Dual_first_guide.pdf"によると、8つのがDSW1のようだ。
デフォルトの内蔵eMMCからの起動モードは以下。
DSW1-1: OFF
DSW1-2: OFF
DSW1-3: ON
DSW1-4: OFF
DSW1-5: ON
DSW1-6: ON
DSW1-7: OFF
DSW1-8: OFF
左から1かな。
爪楊枝で、3,4を反転する。
作ったSDを基板上側に差し込み、ACを入れる。
キャリブレーション画面が上がってきたので、SDから起動している模様。
このデータは、どこに保管しているんだろう?
なんか、タッチしても動かない。
適当にクリックしたら、起動してきたけど、SDからの起動は遅いな...
やっぱ、キャリブレーションに失敗してたので、タッチが効かない。
ガチャ切りして再起動。
どっかに書かれていれば無駄だけど... 無駄だったようだ。
さっきはホームアプリで上がってきたけど、こんどはアンロック画面で上がってきた。
なんだなんだ?
"kzm9d_ts0.rle"って最初からあったかな?
あったみたい。
キャリブレーションデータはどこに保管しているんだろう...
しょうがないので、SDもう一回書いて起動。
再度キャリブレーション。
数字の+を順番に押していく。
ちゃんと動いた...
たしかにスリープしたら起きられないですね。
二回目からアンロックになるのも同じだな。
App-StayWakeと、Disp-timeoutを30分にする。
never timeout拡張したらいいのに。
キャリブレーションは指ではイマイチだったようで、操作少しズレる。
キャリブレーションの設定については、"How_to_build.txt"の最後に書いてあった。
/data/property/persist.kzm9d.tsに保存されるそうだ。
tslibでやっているのかな?
数字の+を順にタップしていくという操作も間違いないようだ。