
On 13 April 2014 13:25, Robert Brown <rebrown@exemail.com.au> wrote:
Thanks for your suggestions Erik.
I see that the current BDI3000 device is worth more than the combined hardware cost of what I am working with. I am no developer and I guess I am really just hoping some-one can tell me a) if my cross-compile method is flawed or b) if there is a way of accessing the u-boot prompt (keystroke?) on the (HDMI connected) screen the MK802II plugs into or c) if trying to compile a kernel 3.10 or later for this device is fundamentally problematic or
That, in a nutshell. Just about all these (Allwinner, Rockchip, etc) type of devices are stuck on 3.2 or 3.4 kernels at best, and many are still on 3.0. Usually the actual CPU itself is supported and will start booting a recent kernel, but the drivers to access the NAND, SD card, video (and other vital features) are only available as binary blobs (compiled for the old kernels) without source code. (Despite GPL requirements)
d) how to compile the rtl2832u.ko module for a 3.4.67 kernel where source files don't seem to natively exist.
If it exists for a later kernel, then you can attempt to backport it yourself, but this is very hard unless you're familiar with developing Linux drivers already.
This DVB-T device is quite common so I am surprised at the struggle I am having making progress on any of the above for the armv7 architecture. Further details below.
To be fair, it's not the ARMv7 architecture that is the problem here.
On 11/04/14 15:33, Erik Christiansen wrote:
On 10.04.14 18:28, Robert Brown wrote:
Following some research on the later kernels and the role of u-boot and dtsb I have used the following - but again without a successful boot:
...
When it fails to boot there's not much chance of troubleshooting as I have not been able to get to the uboot prompt. Anyone got any thoughts?
The one time I set out to port linux to an embedded platform (PPC in that case), I made sure I had a BDI2000 debugger before starting. It's good for u-boot or kernel debugging, not so good for user-space processes, because it supports only one contiguous memory space. In particular the bdiGDB system for the BDI2000 supports Linux kernel debugging including when the MMU is enabled. I found it invaluable while struggling to get to the uboot prompt. (More than half a decade ago, now.)
In its absence, I would only expect to make progress given logging (e.g. on a serial port) from uboot and the kernel. While most of my quarter of a century of embedded systems development used In-Circuit Emulators, good progress can be made with nothing more than strategically sprinkled printf statements and a good helping of persistence.
Are you using your own Board Support Package, or relying on someone else's work there? (I.e. Is that, at least, tested?)
Erik
Following some research on the later kernels and the role of u-boot and dtsb I have used the following - but again without a successful boot:
make -j5 ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- menuconfig make -j5 ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- LOADADDR=0x40008000 uImage dtbs make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -j5 INSTALL_MOD_PATH=output modules make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- -j5 INSTALL_MOD_PATH=output modules_install
put a copy of the created uImage and arch/arm/boot/sun4i-a10-a1000.dtb into the boot partition of the sdcard copy the created modules to the /lib/modules on the rootfs partition
In case the existing boot.scr has some inconsistency I save this to boot.cmd:
setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootwait ro earlyprintk debug ext2load mmc 0 0x46000000 uImage ext2load mmc 0 0x49000000 sun4i-a10-a1000.dtb env set fdt_high ffffffff bootm 0x46000000 - 0x49000000
and run: mkimage -C none -A arm -T script -d boot.cmd boot.scr
copy this boot.scr to the boot partition of the sdcard When it fails to boot there's not much chance of troubleshooting as I have not been able to get to the uboot prompt. Anyone got any thoughts?
Thanks Rob
-------- Original Message -------- Subject: Fwd: Cross-Compiling for Armv7 Date: Sat, 22 Mar 2014 11:02:26 +1100 From: Robert Brown <rebrown@exemail.com.au> <rebrown@exemail.com.au> To: luv-beginners@luv.asn.au
Do I need to use u-boot to start uImage or can I just put a copy of it in the boot partition? Maybe that is where the failure to boot arises.
Thanks
-------- Original Message -------- Subject: Cross-Compiling for Armv7 Date: Thu, 20 Mar 2014 21:46:03 +1100 From: Robert Brown <rebrown@exemail.com.au> <rebrown@exemail.com.au> To: luv-beginners@luv.asn.au
Hi Is anyone able to offer helpful tips or new directions with this: I am wanting to use a usb device with ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T on a MK802II mini pc using the Allwinner A10 cpu.
This device requires modules rtl2830.ko, rtl2832.ko and dvb_usb_rtl28xxu. The second of these modules does not seem to exist without patches on kernel 3.4 but on a raspberry pi I have been successful using kernel 3.10.25+.
Here is the relevant lsmod from the pi: r820t 16279 1 rtl2832 8020 1 dvb_usb_rtl28xxu 14333 1 dvb_usb_v2 14860 1 dvb_usb_rtl28xxu rc_core 16313 3 dvb_usb_rtl28xxu,dvb_usb_v2 rtl2830 7378 1 dvb_usb_rtl28xxu dvb_core 92797 3 rtl2830,rtl2832,dvb_usb_v2
However when I try to compile a kernel for the A10 with 3.10.25+ I have no success.
If I use the raspi sources for the cross-compile:https://github.com/raspberrypi/linux/archive/rpi-3.10.y.tar.gz I get errors that seem unresolvable: e.g.: undefined reference to `v6wbi_flush_kern_tlb_range'
If I use the sunxi kernel source:https://github.com/linux-sunxi/linux-sunxi/tree/reference-3.10 the compile completes without error and I get modules and a uImage file but the device won't boot
I am using this as a guide: http://jas-hacks.blogspot.com.au/2012/10/hackberry-a10-compiling-kernel-armh...
I have tried using various .config files as a starting point including the pi and from the earlier 3.4 kernel without success
Does anyone have any experience in this area? Any help would be much appreciated.
Thanks Rob
_______________________________________________ luv-main mailing list luv-main@luv.asn.au http://lists.luv.asn.au/listinfo/luv-main
-- Turning and turning in the widening gyre The falcon cannot hear the falconer Things fall apart; the center cannot hold Mere anarchy is loosed upon the world