|
![]() |
|
Thread Tools | Search this Thread |
![]() |
#1 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: Nov 2013
Device: Kobo Mini Model# N705
|
Is there a reason why we currently cannot run Android on the Kobo Mini?
The Kobo glo, touch, and Aura HD have versions of Android, so what I'm wondering is why hasn't anyone been able to run it on the Kobo Mini? I'm actually surprised no one has got it to work on the Mini, considering its similarity to the Kobo Touch. Does anyone have any tips on how to get it to work on the Mini? I would appreciate anyone's help to making this work,
|
![]() |
![]() |
![]() |
#2 |
Zealot
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 129
Karma: 34471
Join Date: Aug 2013
Location: Cracow, Poland
Device: Kobo Touch N905C
|
Hi!
I prepared a short description how to (theoretically) try to port Android to Kobo Mini. I suppose it is much easier to do than Aura HD port so the problem is with lacking the right person. Who wants to be a hero and do it?? -- To be successful you must know the structure of the SD image: offset 0 (0x000000) - MBR (446 bytes) offset 446 (0x0001BE) - partition table (64 bajty) offset 510 (0x0001FE) - boot signature (2 bajty: 0x55, 0xAA) offset 512 (0x000200) - serial number offset 1024 (0x000400) - u-boot offset 524288 (0x080000) - kernel configuration for specific kobo device offset 786432 (0x0C0000) - additional u-boot configuration (not used?) offset 917504 (0x0E0000) - ? offset 983040 (0x0F0000) - copy of 0xE0000 (?) offset 1048576 (0x100000) - uImage (kernel) offset 7340016 (0x6FFFF0) - ? (waveform data header?) offset 7340032 (0x700000) - waveform data ... .... (partitions) You only need to properly mix these parts for your device with hex editor. Start with Android image (for Kobo Touch/Glo or Tolino Shine) and move needed parts from kobo mini image. 1. MBR - use the one from kobo mini (I'm not 100% sure of this so please try with Android image, too). Or check if MBRs are the same (and there is no problem which one to choose). 2. Partition table - use the one from the Android image. 3. u-boot - this is the most complicated change - probably it will take a few tries. You have to use the one from kobo mini but with configuration altered from Android image. Configuration is compiled inside binary block. You know C like strings. There is \0 byte at the end. We have a few strings one after the other and double \0 at the end. Only one configuration string is used (assuming you don't press any button at start). You can override not used ones ore make them shorter with the hex editor (you can even move beginning of the string by making previous one shorter). All that matters - the number of \0's must be the same. u-boot finds correct entry by counting \0's. Please refer to this description: https://www.mobileread.com/forums/sho...&postcount=162 I think you need to use partition names and other parameters from Android image but if there are any HW addresses you should try to use them from kobo mini. I'm writing from my head - I don't remeber exactly how it looks like. It could be helpful to compare config string between originial Kobo Mini and Kobo Touch/Glo images to know how Kobo mini config differs. Of course, you should read u-boot documentation carefully first to be sure you know meaning of every part of the config string before start. 4. kernel configuration - please copy the one from kobo mini (whole block - a hundreds of bytes - it should be clear where it ends) 5. additional u-boot configuration - I suppose it is not used - I haven't touched it for kobo touch. 6. uImage (kernel) - keep the one from Android image 7. waveform data - hm... do not touch this at the beginning - if you succeed to start Android but there will be something wrong with shadows of gray - you can copy this area from kobo mini. I was doing above blindly for the kobo touch and it was hard to know what's happening after boot. But you can connect to RS-232 pins on kobo's PCB and listen to boot messages on PC. It should help greatly! I believe it is possible to do it without any software recompilation. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
![]()
Hi Marek,
I've been looking into this... it looks like a kernel issue. Taking your latest Kobo Touch image, and applying the Kobo Mini Uboot, HWConfig and the required (one byte) change to the uboot strings to force /dev/mmcblk0p2 gives me the same result as dancol90 was getting, namely a hang on the rootfs availability. Which reminded me of similar hangs on desktop installations after careless kernel changes. So I took the original kobo mini kernel and pasted that into the image.... At which point everything goes swimmingly - Code:
Waiting for root device /dev/mmcblk0p2... mmc0: new high speed SDHC card at address 0002 mmcblk0: mmc0:0002 N/A 7.50 GiB mmcblk0: p1 p2 p3 EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 179:2. Freeing init memory: 112K Kernel panic - not syncing: No init found. Regards, Mike |
![]() |
![]() |
![]() |
#4 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
![]()
Right... I've done some further investigation.
Rooting around in the sources for a Mini Kernel vs the Tolino one suggests that the problem is down to either... Board setup - It looks as though the Mini uses a different port on the SoC for the internal uSDHC to other readers from in i.MX507 family... SD3. This probably needs to be reflected in the board setup stuff? There are certainly some E50610 specific bits of init code that aren't in the Tolino sourcetree. Code:
arch/arm/mach-mx5 Probably stuck for the moment. Last edited by bluearcus; 05-04-2015 at 03:38 PM. |
![]() |
![]() |
![]() |
#5 | |
Zealot
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 129
Karma: 34471
Join Date: Aug 2013
Location: Cracow, Poland
Device: Kobo Touch N905C
|
Quote:
That's cool. You were able to boot kernel. But it cannot be original kobo kernel. Android kernel needs to have applied Android patches. For example it doesn't use Linux's init boot schema (Android kernel starts different app on the start), so that's why you can see this error. What error messages do you have if you use Android kernel from here? https://github.com/marek-g/kobo-kernel-2.6.35.3-android /Marek |
|
![]() |
![]() |
Advert | |
|
![]() |
#6 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
Your latest Kernel gives the same result as the original Tolino Shine image one. A hang on /dev/mmcblk0p2 mount.
I strongly suspect that SD port 3 is not being initialised correctly in the Tolino tree. There are some other changes in the mx5 mmc_sdhc driver between the Kobo and Tolino trees, but my feeling is those are unlikely to be the problem. Trouble is I'm not an embedded hardware developer, so debugging missing board support and driver crashes that take the kernel down leaves me rather out of my depth! Here's the full bootlog for your Android Kernel... mostly I have been experimenting with builds of the original Tolino source which you've developed from. It's worth noting that I had to tweak the dithered mode support makefile in your tree - the version in the download won't build due to what looks like a typo... Code:
U-Boot 2009.08-dirty-svn ( 8��月 29 2012 - 11:15:18) 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, FSL_ESDHC: 2 *** Warning - bad CRC or MMC, using default environment In: serial Out: serial Err: serial [_get_sd_number] g_sd_number:2 MMC read: dev # 2, block # 1023, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 1024, count 1 partition # 0 ... 1 blocks read: OK zforce read 7 0 (2 bytes) zforce frame start not found ! zforce read 1 0 (2 bytes) zforce read 2 0 (2 bytes) zforce read 3 0 (2 bytes) zforce frame start not found ! PCB ID is 9 Power key released!! ram p=70000000,size=268435456 MMC read: dev # 2, block # 18431, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 18432, count 759 partition # 0 ... 759 blocks read: OK MMC read: dev # 2, block # 14335, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 14336, count 2228 partition # 0 ... 2228 blocks read: OK Kernel RAM visiable size=254M->254M init TPS65185 power ... Hit any key to stop autoboot: 0 MMC read: dev # 2, block # 2047, count 1 partition # 0 ... 1 blocks read: OK kernel size = 3347004 MMC read: dev # 2, block # 2048, count 6543 partition # 0 ... 6543 blocks read: OK hwcfg rootfstype : 2 hwcfg partition type : 2 ## Booting kernel from Legacy Image at 70800000 ... Image Name: Linux-2.6.35.3 Created: 2015-05-06 18:17:55 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3276352 Bytes = 3.1 MB Load Address: 70008000 Entry Point: 70008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Initializing cgroup subsys cpu Linux version 2.6.35.3 (mike@mongo) (gcc version 4.8.1 20130401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.04-20130417 - Linaro GCC 2013.04) )5 CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Freescale MX50 Reference Design Platform Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64516 Kernel command line: console=ttymxc0,115200 rootwait rw no_console_suspend lpj=3997696 hwcfg_p=0x7ffffe00 hwcfg_sz=512 logo_p=0x7ffa1000 logo_sz=38862 PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) allocated 1300480 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Memory: 254MB = 254MB total Memory: 246640k/246640k available, 13456k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xf9e00000 - 0xffe00000 ( 96 MB) vmalloc : 0x90000000 - 0xf4000000 (1600 MB) lowmem : 0x80000000 - 0x8fe00000 ( 254 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .init : 0x80008000 - 0x80038000 ( 192 kB) .text : 0x80038000 - 0x80882000 (8488 kB) .data : 0x808aa000 - 0x8090f740 ( 406 kB) SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:368 MXC GPIO hardware MXC IRQ initialized MXC_Early serial console at MMIO 0x53fc0000 (options '115200') bootconsole [ttymxc0] enabled Console: colour dummy device 80x30 Calibrating delay loop (skipped) preset value.. 799.53 BogoMIPS (lpj=3997696) pid_max: default: 32768 minimum: 301 Security Framework initialized Mount-cache hash table entries: 512 Initializing cgroup subsys debug Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Initializing cgroup subsys memory Initializing cgroup subsys devices Initializing cgroup subsys freezer Initializing cgroup subsys blkio CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 i.MX IRAM pool: 128 KB@0x90040000 hwcfg_size_setup() hwcfg_szie=512 hwcfg_p_setup() hwcfg_p=7ffffe00,vaddr=9006ee00,size=512 hwcfg_p_setup() pcba="E50610" !! CPU is i.MX50 Revision 1.1 [check_hardware_name-329] PCBA ID is 9 Using SDMA I.API MXC DMA API initialized IMX usb wakeup probe IMX usb wakeup probe bio: create slab <bio-0> at 0 regulator: DCDC_3V15: 3150 mV SCSI subsystem initialized CSPI: mxc_spi-2 probed Freescale USB OTG Driver loaded, $Revision: 1.55 $ usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Advanced Linux Sound Architecture Driver Version 1.0.23. Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized mc13892 Rev 0.0 FinVer 0 detected Initializing regulators for mx50 rdp. regulator: SW1: 600 <--> 1375 mV at 600 mV Device spi3.0 probed [msp430_probe-663] MSP430 firmware version B83A Switching to clocksource mxc_timer1 NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. LPMode driver module loaded Static Power Management for Freescale i.MX5 PM driver module loaded sdram autogating driver module loaded Bus freq driver module loaded mxc_dvfs_core_probe DVFS driver module loaded i.MXC CPU frequency driver DVFS PER driver module loaded ashmem: initialized msgmni has been set to 481 alg: No test for stdrng (krng) cryptodev: driver loaded. io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) By setting, SII driver will not be enabled waveform_size_setup() wf_size=1140736 waveform_p_setup() wf_p=7fe8a800,vaddr=90200800,size=1140736 logo_size_setup() logo_szie=388608 logo_p_setup() logo_p=7ffa1000,vaddr=90100000,size=388608 root_path_setup() rootdev=0,rootpart=2 [epdc_firmware_func]:fw p=90200800,size=1140736 [mxc_epdc_fb_fw_handler-3608] drivers/video/mxc/mxc_epdc_fb.c(3651):V220 FPL platform fbcvt: 1024x768@60: CVT Name - .786M3 drivers/video/mxc/mxc_epdc_fb.c ******** mxc_epdc_fb ntx_get_battery_vol: 100 fake_s1d13522_parse_epd_cmdline : epd cmdline parse already done . client0 ,addr=0x68,name=tps65185-1 TPS65185 versions : major=0x1,minor=0x2,version=0x5,RevID=0x65 Serial: MXC Internal UART driver mxcintuart.0: ttymxc0 at MMIO 0x53fc0000 (irq = 32) is a Freescale i.MX console [ttymxc0] enabled, bootconsole disabled console [ttymxc0] enabled, bootconsole disabled mxcintuart.1: ttymxc1 at MMIO 0x53fbc000 (irq = 31) is a Freescale i.MX mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 33) is a Freescale i.MX loop: module loaded MXC MTD nand Driver 3.0 i.MX GPMI NFC vcan: Virtual CAN interface driver Freescale FlexCAN Driver FEC Ethernet Driver PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered PPP MPPE Compression module registered NET: Registered protocol family 24 tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 18, io base 0x53f80000 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2 fsl-ehci fsl-ehci.1: irq 14, io base 0x53f80200 fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected usbcore: registered new interface driver cdc_acm cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial usbserial: USB Serial Driver core USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems ARC USBOTG Device Controller driver (1 August 2005) Android usb driver initialize android_usb gadget: android_usb ready fsl-usb2-udc: bind to driver android_usb android gadget: register function adb android gadget: register function usb_mass_storage android gadget: register function rndis rndis_pdata null in rndis_function_bind_config android_usb gadget: usb_mass_storage, version: 2009/09/11 android_usb gadget: Number of LUNs=2 lun0: LUN: removable file: (no medium) lun1: LUN: removable file: (no medium) mice: PS/2 mouse device common for all mice MXC keypad loaded input: mxckpd as /devices/virtual/input/input0 input: mxc_power_key as /devices/virtual/input/input1 PMIC powerkey probe [__zForce_ir_touch_init-104] zForce controller with v2 command sets. [zForce_ir_touch_probe-571] Set touch resolution 600x800 input: zForce-ir-touch as /devices/virtual/input/input2 [zForce_ir_touch_recv_data-178] command BootComplete (0)... pmic rtc probe start using rtc device, mc13892_rtc, for alarms pmic_rtc mc13892_rtc.1: rtc core: registered mc13892_rtc as rtc0 pmic rtc probe succeed i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized Linux video capture interface: v2.00 usbcore: registered new interface driver uvcvideo USB Video Class driver (v0.1.0) APM Battery Driver MXC WatchDog Driver 2.0 device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com Bluetooth: Virtual HCI driver ver 1.3 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCIATH3K protocol initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb [drivers/mxc/pmic/mc13892/pmic_battery.c-1024] pmic_battery_probe... power_supply mc13892_charger: charger status: online mxsdhci: MXC Secure Digital Host Controller Interface driver mxsdhci: MXC SDHCI Controller Driver. mmc0: SDHCI detect irq 0 irq 3 INTERNAL DMA mxsdhci: MXC SDHCI Controller Driver. [zForce_ir_touch_recv_data-203] firmware version 0001 0000 0000 0001 mmc1: SDHCI detect irq 0 irq 2 INTERNAL DMA usbcore: registered new interface driver usbhid usbhid: USB HID core driver logger: created 64K log 'log_main' logger: created 256K log 'log_events' logger: created 64K log 'log_radio' logger: created 64K log 'log_system' Cirrus Logic CS42888 ALSA SoC Codec Driver No device for DAI imx-ssi-1-0 No device for DAI imx-ssi-1-1 No device for DAI imx-ssi-2-0 No device for DAI imx-ssi-2-1 No device for DAI imx-spdif-dai ALSA device list: No soundcards found. nf_conntrack version 0.5.0 (3853 buckets, 15412 max) IPv4 over IPv4 tunneling driver GRE over IPv4 tunneling driver ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 NET: Registered protocol family 15 can: controller area network core (rev 20090105 abi 8) NET: Registered protocol family 29 can: raw protocol (rev 20090105) can: broadcast manager protocol (rev 20090105 t) [k_wait_update_complete]waitupdate ret=-22,4294937477->4294937477 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 L2TP core driver, V2.0 PPPoL2TP kernel driver, V2.0 VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2 TPS65185 temprature data = 0x12,18 [PROGRESS_BAR-2912] No progess ... read_time: 111/7/1 1:0:52 pmic_rtc mc13892_rtc.1: setting system clock to 2011-08-01 01:00:52 UTC (1312160452) Waiting for root device /dev/mmcblk0p2... |
![]() |
![]() |
![]() |
#7 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
Your latest Kernel gives the same result as the original Tolino Shine image one. A hang on /dev/mmcblk0p2 mount.
I strongly suspect that SD port 3 is not being initialised correctly in the Tolino tree. There are some other changes in the mx5 mmc_sdhc driver between the Kobo and Tolino trees, but my feeling is those are unlikely to be the problem. Trouble is I'm not an embedded hardware developer, so debugging missing board support and driver crashes that take the kernel down leaves me rather out of my depth! Here's the full bootlog for your Android Kernel... mostly I have been experimenting with builds of the original Tolino source which you've developed from. It's worth noting that I had to tweak the dithered mode support makefile in your tree - the version in the download won't build due to what looks like a typo... Code:
U-Boot 2009.08-dirty-svn ( 8��月 29 2012 - 11:15:18) 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, FSL_ESDHC: 2 *** Warning - bad CRC or MMC, using default environment In: serial Out: serial Err: serial [_get_sd_number] g_sd_number:2 MMC read: dev # 2, block # 1023, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 1024, count 1 partition # 0 ... 1 blocks read: OK zforce read 7 0 (2 bytes) zforce frame start not found ! zforce read 1 0 (2 bytes) zforce read 2 0 (2 bytes) zforce read 3 0 (2 bytes) zforce frame start not found ! PCB ID is 9 Power key released!! ram p=70000000,size=268435456 MMC read: dev # 2, block # 18431, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 18432, count 759 partition # 0 ... 759 blocks read: OK MMC read: dev # 2, block # 14335, count 1 partition # 0 ... 1 blocks read: OK MMC read: dev # 2, block # 14336, count 2228 partition # 0 ... 2228 blocks read: OK Kernel RAM visiable size=254M->254M init TPS65185 power ... Hit any key to stop autoboot: 0 MMC read: dev # 2, block # 2047, count 1 partition # 0 ... 1 blocks read: OK kernel size = 3347004 MMC read: dev # 2, block # 2048, count 6543 partition # 0 ... 6543 blocks read: OK hwcfg rootfstype : 2 hwcfg partition type : 2 ## Booting kernel from Legacy Image at 70800000 ... Image Name: Linux-2.6.35.3 Created: 2015-05-06 18:17:55 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3276352 Bytes = 3.1 MB Load Address: 70008000 Entry Point: 70008000 Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Initializing cgroup subsys cpu Linux version 2.6.35.3 (mike@mongo) (gcc version 4.8.1 20130401 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.04-20130417 - Linaro GCC 2013.04) )5 CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Freescale MX50 Reference Design Platform Memory policy: ECC disabled, Data cache writeback Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64516 Kernel command line: console=ttymxc0,115200 rootwait rw no_console_suspend lpj=3997696 hwcfg_p=0x7ffffe00 hwcfg_sz=512 logo_p=0x7ffa1000 logo_sz=38862 PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) allocated 1300480 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Memory: 254MB = 254MB total Memory: 246640k/246640k available, 13456k reserved, 0K highmem Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xf9e00000 - 0xffe00000 ( 96 MB) vmalloc : 0x90000000 - 0xf4000000 (1600 MB) lowmem : 0x80000000 - 0x8fe00000 ( 254 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .init : 0x80008000 - 0x80038000 ( 192 kB) .text : 0x80038000 - 0x80882000 (8488 kB) .data : 0x808aa000 - 0x8090f740 ( 406 kB) SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. Verbose stalled-CPUs detection is disabled. NR_IRQS:368 MXC GPIO hardware MXC IRQ initialized MXC_Early serial console at MMIO 0x53fc0000 (options '115200') bootconsole [ttymxc0] enabled Console: colour dummy device 80x30 Calibrating delay loop (skipped) preset value.. 799.53 BogoMIPS (lpj=3997696) pid_max: default: 32768 minimum: 301 Security Framework initialized Mount-cache hash table entries: 512 Initializing cgroup subsys debug Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Initializing cgroup subsys memory Initializing cgroup subsys devices Initializing cgroup subsys freezer Initializing cgroup subsys blkio CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 i.MX IRAM pool: 128 KB@0x90040000 hwcfg_size_setup() hwcfg_szie=512 hwcfg_p_setup() hwcfg_p=7ffffe00,vaddr=9006ee00,size=512 hwcfg_p_setup() pcba="E50610" !! CPU is i.MX50 Revision 1.1 [check_hardware_name-329] PCBA ID is 9 Using SDMA I.API MXC DMA API initialized IMX usb wakeup probe IMX usb wakeup probe bio: create slab <bio-0> at 0 regulator: DCDC_3V15: 3150 mV SCSI subsystem initialized CSPI: mxc_spi-2 probed Freescale USB OTG Driver loaded, $Revision: 1.55 $ usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb Advanced Linux Sound Architecture Driver Version 1.0.23. Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized mc13892 Rev 0.0 FinVer 0 detected Initializing regulators for mx50 rdp. regulator: SW1: 600 <--> 1375 mV at 600 mV Device spi3.0 probed [msp430_probe-663] MSP430 firmware version B83A Switching to clocksource mxc_timer1 NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. LPMode driver module loaded Static Power Management for Freescale i.MX5 PM driver module loaded sdram autogating driver module loaded Bus freq driver module loaded mxc_dvfs_core_probe DVFS driver module loaded i.MXC CPU frequency driver DVFS PER driver module loaded ashmem: initialized msgmni has been set to 481 alg: No test for stdrng (krng) cryptodev: driver loaded. io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) By setting, SII driver will not be enabled waveform_size_setup() wf_size=1140736 waveform_p_setup() wf_p=7fe8a800,vaddr=90200800,size=1140736 logo_size_setup() logo_szie=388608 logo_p_setup() logo_p=7ffa1000,vaddr=90100000,size=388608 root_path_setup() rootdev=0,rootpart=2 [epdc_firmware_func]:fw p=90200800,size=1140736 [mxc_epdc_fb_fw_handler-3608] drivers/video/mxc/mxc_epdc_fb.c(3651):V220 FPL platform fbcvt: 1024x768@60: CVT Name - .786M3 drivers/video/mxc/mxc_epdc_fb.c ******** mxc_epdc_fb ntx_get_battery_vol: 100 fake_s1d13522_parse_epd_cmdline : epd cmdline parse already done . client0 ,addr=0x68,name=tps65185-1 TPS65185 versions : major=0x1,minor=0x2,version=0x5,RevID=0x65 Serial: MXC Internal UART driver mxcintuart.0: ttymxc0 at MMIO 0x53fc0000 (irq = 32) is a Freescale i.MX console [ttymxc0] enabled, bootconsole disabled console [ttymxc0] enabled, bootconsole disabled mxcintuart.1: ttymxc1 at MMIO 0x53fbc000 (irq = 31) is a Freescale i.MX mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 33) is a Freescale i.MX loop: module loaded MXC MTD nand Driver 3.0 i.MX GPMI NFC vcan: Virtual CAN interface driver Freescale FlexCAN Driver FEC Ethernet Driver PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered PPP MPPE Compression module registered NET: Registered protocol family 24 tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 18, io base 0x53f80000 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2 fsl-ehci fsl-ehci.1: irq 14, io base 0x53f80200 fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected usbcore: registered new interface driver cdc_acm cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usbcore: registered new interface driver usbserial usbserial: USB Serial Driver core USB Serial support registered for GSM modem (1-port) usbcore: registered new interface driver option option: v0.7.2:USB Driver for GSM modems ARC USBOTG Device Controller driver (1 August 2005) Android usb driver initialize android_usb gadget: android_usb ready fsl-usb2-udc: bind to driver android_usb android gadget: register function adb android gadget: register function usb_mass_storage android gadget: register function rndis rndis_pdata null in rndis_function_bind_config android_usb gadget: usb_mass_storage, version: 2009/09/11 android_usb gadget: Number of LUNs=2 lun0: LUN: removable file: (no medium) lun1: LUN: removable file: (no medium) mice: PS/2 mouse device common for all mice MXC keypad loaded input: mxckpd as /devices/virtual/input/input0 input: mxc_power_key as /devices/virtual/input/input1 PMIC powerkey probe [__zForce_ir_touch_init-104] zForce controller with v2 command sets. [zForce_ir_touch_probe-571] Set touch resolution 600x800 input: zForce-ir-touch as /devices/virtual/input/input2 [zForce_ir_touch_recv_data-178] command BootComplete (0)... pmic rtc probe start using rtc device, mc13892_rtc, for alarms pmic_rtc mc13892_rtc.1: rtc core: registered mc13892_rtc as rtc0 pmic rtc probe succeed i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized Linux video capture interface: v2.00 usbcore: registered new interface driver uvcvideo USB Video Class driver (v0.1.0) APM Battery Driver MXC WatchDog Driver 2.0 device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com Bluetooth: Virtual HCI driver ver 1.3 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCIATH3K protocol initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb [drivers/mxc/pmic/mc13892/pmic_battery.c-1024] pmic_battery_probe... power_supply mc13892_charger: charger status: online mxsdhci: MXC Secure Digital Host Controller Interface driver mxsdhci: MXC SDHCI Controller Driver. mmc0: SDHCI detect irq 0 irq 3 INTERNAL DMA mxsdhci: MXC SDHCI Controller Driver. [zForce_ir_touch_recv_data-203] firmware version 0001 0000 0000 0001 mmc1: SDHCI detect irq 0 irq 2 INTERNAL DMA usbcore: registered new interface driver usbhid usbhid: USB HID core driver logger: created 64K log 'log_main' logger: created 256K log 'log_events' logger: created 64K log 'log_radio' logger: created 64K log 'log_system' Cirrus Logic CS42888 ALSA SoC Codec Driver No device for DAI imx-ssi-1-0 No device for DAI imx-ssi-1-1 No device for DAI imx-ssi-2-0 No device for DAI imx-ssi-2-1 No device for DAI imx-spdif-dai ALSA device list: No soundcards found. nf_conntrack version 0.5.0 (3853 buckets, 15412 max) IPv4 over IPv4 tunneling driver GRE over IPv4 tunneling driver ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered NET: Registered protocol family 10 IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 NET: Registered protocol family 15 can: controller area network core (rev 20090105 abi 8) NET: Registered protocol family 29 can: raw protocol (rev 20090105) can: broadcast manager protocol (rev 20090105 t) [k_wait_update_complete]waitupdate ret=-22,4294937477->4294937477 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 L2TP core driver, V2.0 PPPoL2TP kernel driver, V2.0 VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2 TPS65185 temprature data = 0x12,18 [PROGRESS_BAR-2912] No progess ... read_time: 111/7/1 1:0:52 pmic_rtc mc13892_rtc.1: setting system clock to 2011-08-01 01:00:52 UTC (1312160452) Waiting for root device /dev/mmcblk0p2... |
![]() |
![]() |
![]() |
#8 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
Progress...
It's definitely a problem in the mx5 rdp board init, making some progress though. With luck should have a working Mini android kernel shortly.
|
![]() |
![]() |
![]() |
#9 |
Junior Member
![]() Posts: 2
Karma: 10
Join Date: Jun 2013
Device: Kobo Touch 950B
|
Hi bluearcus,
Didi you get any further on tackling this problem? I have a Mini I can test things on, and have an image that works good on the Kobo Touch that only needs a proper kernel to roll on the Mini. In the past I have done some kernel-compiling myself, so maybe I can help there. Never done a cross-compile though. Last edited by agent725; 05-24-2015 at 06:43 AM. Reason: another thought :) |
![]() |
![]() |
![]() |
#10 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
Progress details...
Yes and no...
I have succeeded in booting Android - I've managed to create a kernel which can mount the internal micro SD as root, and once it's done that it goes all the way to running Android. However, it's not reliable. Sometimes the kernel crashes on boot, before it gets to mounting the root filesystem. I'm not certain why, but my suspicion is that it's another driver problem, most likely to do with the E-ink specific regulator chip's driver setup and an interrupt being generated early in the kernel boot which is not handled properly. I haven't had time to start looking into that seriously, but there's a huge amount of change in the kernel trees between the two regulator drivers. Could be a tricky one to track down. The other thing is that the zforce driver's wonky... there's some X/Y rotation and mirroring going on. I started looking into this (and again, the driver trees are violently different between the Kobo and Tolino trees) but then my Kobo mini got into a state where it would hardly ever boot the Android setup, it just kept showing the early boot page fault problem which I suspect is the regulator. Will see if I can look further into the page fault blocker this week. Not proving to be as straightforward as I'd hoped this! Kind regards, Mike |
![]() |
![]() |
![]() |
#11 |
hub
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 715
Karma: 2151032
Join Date: Jan 2012
Location: Iranian in Canada
Device: K3G, DXG, Kobo mini
|
Just shoved a nice 64GB SanDisk in my Kobo Mini. If I get time, I'll pursue porting Android on it further.
@bluearcus: Can you please provide us with a bit more detail of your results? Thanks. Last edited by thatworkshop; 11-26-2015 at 12:33 AM. |
![]() |
![]() |
![]() |
#12 |
Junior Member
![]() Posts: 1
Karma: 10
Join Date: May 2016
Location: Canada
Device: kobo mini
|
Has Android on a Kobo mini been advanced at all since the last post on this thread about a year ago?
|
![]() |
![]() |
![]() |
#13 |
hub
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 715
Karma: 2151032
Join Date: Jan 2012
Location: Iranian in Canada
Device: K3G, DXG, Kobo mini
|
I'm really interested too. @bluearcus
|
![]() |
![]() |
![]() |
#14 |
Addict
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 250
Karma: 2731310
Join Date: Jan 2013
Device: Kobo Aura
|
Would this be too risky on a Kobo Aura?
|
![]() |
![]() |
![]() |
#15 |
Junior Member
![]() Posts: 7
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
|
Hi all,
I'm afraid I've not really looked any further into this after the initial experiments detailed above. The changes necessary to the tolino kernel to get the microSD card mounting were reasonably straightforward. The next part though... to make the setup stable so it boots reliably every time is beyond me and requires a good kernel developer, most likely with some experience on this iMX platform. If anyone wants to step up on that front, I'll see if I can dig out a set of diffs for the changes I applied to (sometimes) get past the microSD boot and into the next set of kernel level problems... Mike |
![]() |
![]() |
![]() |
Tags |
android, kobo, kobo mini, mini |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Mini Is it Possible: Android on Kobo Mini | android4kobomini | Kobo Developer's Corner | 2 | 05-12-2014 05:27 AM |
Which Kobo's can run Android / rooted linux? | Rizla | Kobo Developer's Corner | 6 | 05-10-2014 05:18 PM |
Mini Can I get Android on Kobo Mini | Skytribe | Kobo Developer's Corner | 3 | 10-22-2013 11:25 AM |
Synch Reading between Kobo Mini, PC and Android | cwiebe | Kobo Tablets | 5 | 06-14-2013 04:39 PM |
Glo Can kobo glo run android app such as nook glo? | suspect | Kobo Developer's Corner | 1 | 12-28-2012 11:25 PM |