
Building kernels for these budget consumer types of ARM devices is a nightmare. The manufacturers have almost never released decent source code to them, so what you end up using to build them is often semi-reverse-engineered extensions to an accidentally-leaked linux source tree from years back, and there's usually some secret sauce you have to add in order to get it all to work. The linux-sunxi source tree is a good place to start, but you'll need to research the correct branch or tag to use to build off, and also the correct config options to use. Your actual commands to cross-compile the kernel look correct to me. In order to debug the problem, you'll need to get a serial adaptor that works at the board's logic level, and solder the ends of it onto the device. They almost always have a serial output on the board somewhere, but it's usually unidentified, so you'll have to hope someone else has figured it out and posted it online. My advice to you is that it generally isn't worth the time and effort to do all this -- just hunt around for someone else who's already build a full image that is known to work, and flash that on. I say this as someone who *has* spent a lot of time building kernel images for these types of devices, so I understand that if you want to do this to learn how it works, that's fine.. but if you want it to "just work" then I suggest avoiding further adventures in this direction. On 10 April 2014 18:28, Robert Brown <rebrown@exemail.com.au> wrote:
-------- Original Message -------- Subject: Fwd: Fwd: Cross-Compiling for Armv7 Date: Wed, 09 Apr 2014 22:15:14 +1000 From: Robert Brown <rebrown@exemail.com.au> <rebrown@exemail.com.au> To: luv-beginners@luv.asn.au
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