Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Kobo Reader > Kobo Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 07-28-2014, 11:37 PM   #1
android4kobomini
Junior Member
android4kobomini began at the beginning.
 
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,
android4kobomini is offline   Reply With Quote
Old 08-06-2014, 01:13 PM   #2
MarekGibek
Zealot
MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.
 
MarekGibek's Avatar
 
Posts: 126
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:
http://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.
MarekGibek is offline   Reply With Quote
Old 05-01-2015, 12:28 PM   #3
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
Cool Kobo Mini - Android image boot progress

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.
So it looks like the mmc hang is because we are missing something kobo-mini specific on the MMC HW side in the kernel build :-(

Regards,

Mike
bluearcus is offline   Reply With Quote
Old 05-02-2015, 10:42 AM   #4
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
Karma: 10
Join Date: May 2015
Device: NookST, Kobo Mini
Unhappy Source differences...

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
My primitive attempts to merge across the obvious change unfortunately just seem to cause a page fault :-(

Probably stuck for the moment.

Last edited by bluearcus; 05-04-2015 at 03:38 PM.
bluearcus is offline   Reply With Quote
Old 05-08-2015, 10:19 AM   #5
MarekGibek
Zealot
MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.MarekGibek is out to avenge the death of his or her father, Domingo Montoya.
 
MarekGibek's Avatar
 
Posts: 126
Karma: 34471
Join Date: Aug 2013
Location: Cracow, Poland
Device: Kobo Touch N905C
Quote:
Originally Posted by bluearcus View Post
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.
So it looks like the mmc hang is because we are missing something kobo-mini specific on the MMC HW side in the kernel build :-(

Regards,

Mike
Hi Mike!

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
MarekGibek is offline   Reply With Quote
Old 05-08-2015, 12:40 PM   #6
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
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...
bluearcus is offline   Reply With Quote
Old 05-08-2015, 12:42 PM   #7
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
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...
bluearcus is offline   Reply With Quote
Old 05-12-2015, 05:23 PM   #8
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
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.
bluearcus is offline   Reply With Quote
Old 05-24-2015, 06:42 AM   #9
agent725
Junior Member
agent725 began at the beginning.
 
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 :)
agent725 is offline   Reply With Quote
Old 05-25-2015, 05:28 PM   #10
bluearcus
Junior Member
bluearcus began at the beginning.
 
Posts: 6
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
bluearcus is offline   Reply With Quote
Old 10-27-2015, 10:56 AM   #11
idoit
hub
idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.idoit ought to be getting tired of karma fortunes by now.
 
idoit's Avatar
 
Posts: 709
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 idoit; 11-26-2015 at 12:33 AM.
idoit is offline   Reply With Quote
Reply

Tags
android, kobo, kobo mini, mini

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
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


All times are GMT -4. The time now is 06:51 AM.


MobileRead.com is a privately owned, operated and funded community.