Hi Waldemar, On 25/08/16 07:34, Waldemar Brodkorb wrote: > Hi Greg, > Greg Ungerer wrote, > >> Hi Waldemar, >> >> Waldemar Brodkorb wbx at openadk.org wrote: >>> Greg Ungerer wrote, >>>> Hi Waldemar, >>>> On 23/04/16 08:50, Waldemar Brodkorb wrote: >>>>> Hi Greg, >>>>> Greg Ungerer wrote, >>>>> >>>>>>> How could I generate the information for you? Do you have >>>>>>> a kernel patch I would need to apply? I can bootup a kernel >>>>>>> and execute code, I just can't type anything into the serial >>>>>> >>>>>> Attached is a kernel patch that modifies binfmt_flat to print >>>>>> out the reloc number along with the reloc error. That way we can >>>>>> map that back to the reloc entry number printed out in the verbose >>>>>> output from elf2flt at compile time. >>>>> >>>>> Thanks for the patch, will try it. >>>>> >>>>>>> I am not sure any Qemu Cortex-M3/4 system emulation is >>>>>>> available. >>>>>> >>>>>> Do you know of any qemu target machines that work out-of-the-box >>>>>> with a stock linux kernel with MMU disabled? >>>>> >>>>> No. >>>>> >>>>>> I used to use the gdb/ARMulator many years ago, but the kernel >>>>>> target machine (Atmel/at91eb01) is long gone in modern kernel >>>>>> version. >>>>> >>>>> I tried three different qemu forks, but they all only provide >>>>> system level emulation for bare-metal apps. Skyeye crashes for me >>>>> and recent GDB doesn't contain the old Armulator stuff. >>>>> >>>>> I tried Qemu mainline to bootup versatilepb/vexpress Linux kernel >>>>> without MMU, but get no output. >>>> >>>> Looking into the other ARM flat problem, I figured we need to get >>>> this problem solved as well. >>>> >>>> Turns out it is not too hard to get a Versatile target built >>>> and running on qemu in no-MMU mode. The only real change required >>>> is the attached patch - which fixes the IO device addressing problem. >>>> >>>> With this patch and starting with the versatile_defconfig you >>>> only need a couple of config changes and it will run on the >>>> versatile target in qemu. You need to disable CONFIG_MMU >>>> and set the DRAM sizing (base at 0, size 128MB). >>>> >>>> This patch is against a linux-4.4 kernel, and it looks like the >>>> versatile target has gone device tree from 4.5 and newer - so >>>> this patch won't apply or work on them as is. >>> >>> Can you show us the commandline you use? What -cpu do you use? >> >> To run qemu I use: >> >> qemu-system-arm -M versatilepb -nographic -kernel images/zImage -append >> "console=ttyAMA0,115200" >> >> The running system reports: >> >> CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00091176 >> CPU: VIVT data cache, VIVT instruction cache >> Machine: ARM-Versatile PB >> >> So its an ARM926 - but I didn't specify any CPU to qemu, I just >> let it default to whatever is the versatilepb qemu default. >> >> Attached is the linux kernel config I used to generate kernel. >> >> Note that I have had to make a couple of changes to elf2flt to get >> apps working. I'll send some emails about those soon. But that >> doesn't affect getting the kernel running on qemu. > > I can't get it working. > Can you explain what toolchain do you use?
My own manually compiled toolchain. > gcc version? binutils version? soft-float toolchain? gcc-5.4.0 binutils-2.26 Toolchain targeted at arm-uclinuxeabi using hard-float (as in --with-float=hard gcc configuration) > Are you using arm or thumb instructions? ARM only. > Can you show me gcc -v of your cross-compiler? Using built-in specs. COLLECT_GCC=arm-uclinuxeabi-gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/arm-uclinuxeabi/5.4.0/lto-wrapper Target: arm-uclinuxeabi Configured with: ../configure --target=arm-uclinuxeabi --with-float=hard --enable-multilib --with-system-zlib --disable-libsanitizer --enable-languages=c,c++ --prefix=/usr/local Thread model: single gcc version 5.4.0 (GCC) Kernel is a pristine linux-4.4 with only the hardware IO patch listed earlier in the thread applied. In the end I didn't need to modify elf2flt to get a working system using an arm-uclinuxeabi toolchain. Regards Greg _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev