Hello, L4 hackers.

I have questions about booting "Hello world" on myboard.
Please help me.

I'm try to boot "Hello world + L4re + fiasco" on my board of which name is 'freescale i.MX6 Quad SABRE SD'(Cortex-A9,ARMv7).
I built L4re and Fiasco. So, i got L4 build tree and fiasco image.
Although i have built uimage file by "make uimage" and and i try to "make qemu", i was not able to run "hello world".
(For reference,i have run original linux of which name is Linux/ARM, OS Kernel ,Linux-3.0.35-2508-g54750ff on my board(Freescale imx6q_sabre_sd))

<1. Result of the try booting on my board after "make uimage">
========================================================================
MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK 
## Booting kernel from Legacy Image at 10800000 ...   
   Image Name:   L4 Image #3
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1224704 Bytes =  1.2 MB  
   Load Address: 11000000 
   Entry Point:  11000000 
   Verifying Checksum ... OK 
   Loading Kernel Image ... OK
OK  

Starting kernel ...
========================================================================

<1-1. My Question >
Why stop at "Starting kernel..." ?
Is wrong my environment variables in u-boot ?
(If it is the problem, how fix u-boot environment variables from '1-4'? )
Or, my toolchains(linaro gcc 4.6 (64bit) ) are a wrong choice ?

<1-2. Fiasco : What i configured for myboard >
========================================================================
Target configuration  --->    Architecture (ARM processor family)
                                             Platform (Freescale i.MX)
                                             Freescale i.MX (i.MX6)
                                             CPU (ARM Cortex-A9 CPU)

                                             [ ] Enable alignment check (NEW)
                                             [ ]Execution Model (Standard mode)
                                             [ ] Enable the deprecated 'swp' instruction (NEW)
                                             [*] Enable L2 Cache
                                             [ ] Enable FPU co-processor
                                             [ ] Enable CPU errata workarounds (NEW)

Kernel options  --->
            [*] Enable multi processor support
            (4)   Maximal supported number of CPUs (NEW)
            [*] Fine-grained CPU time
            Scheduler (Fixed priority scheduler)
========================================================================

<1-3. L4 re : What i configured for myboard>
========================================================================
Target Architecture
  3. ARM architecture (BUILD_ARCH_arm) (NEW)

CPU variant
  9. ARMv7A type CPU (CPU_ARM_ARMV7A) (NEW)

Platform Selection
  7. Freescale i.MX6 (PLATFORM_TYPE_imx6) (NEW)

Automatically determine internal gcc preprocessor names (INT_CPP_NAME_SWITCH) [Y/n] (NEW) Y
Automatically determine internal ld names (INT_LD_NAME_SWITCH) [Y/n] (NEW) Y
Strip binaries on install (BID_STRIP_PROGS) [N/y/?] (NEW) N
GCC: Omit Frame-pointers (BID_GCC_OMIT_FP) [N/y/?] (NEW) N
Build doc directories (BID_BUILD_DOC) [N/y/?] (NEW) N
Enable RELEASE flag (RELEASE_MODE) [N/y/?] (NEW) N

========================================================================

<1-4. U-boot : what i set environment variable for my board> (u-boot-mx6q-sabresd.bin is supported from freescale home page.)
========================================================================
MX6Q SABRESD U-Boot > setenv loadaddr 0x10800000                                                                                                                                                                     ;                
MX6Q SABRESD U-Boot > setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'                                                                                                                                                 
MX6Q SABRESD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'                                         
MX6Q SABRESD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x2000;bootm'                                                                                                         
MX6Q SABRESD U-Boot > setenv bootcmd 'run bootcmd_mmc'                                                                                                                                                                   &nb sp;          
MX6Q SABRESD U-Boot > saveenv                                                                                                                                                                    &n bsp;                                  
Saving Environment to MMC...                                                                                                                                                                    &nb sp;                                   
Writing to MMC(2)... done                                                                                                                                                                      ;                                      
MX6Q SABRESD U-Boot > run bootcmd 
========================================================================



<2. Result of the second try "make qemu">
========================================================================
root@taeung-MS-7798:/path/to/obj2/tudos# make qemu E=hello-cfg MODULE_SEARCH_PATH=/path/to/obj2/fiasco/
make[1]: Entering directory `/home/taeung/Hello_test_l4/src/l4'
  ... Generating bootstrap.ld
Building entry "hello-cfg".
Merging image /path/to/obj2/fiasco//fiasco to mod00 [360kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/sigma0 to mod01 [351kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/moe to mod02 [2365kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/l4re to mod03 [1228kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/ned to mod04 [2387kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/hello.cfg to mod05 [1kB]
Merging image /path/to/obj2/tudos/bin/arm_armv7a/l4f/hello to mod06 [896kB]
  ... Compiling exec.o
  ... Compiling module.o
  ... Compiling ARCH-arm/crt0.o
  ... Compiling region.o
  ... Compiling startup.o
  ... Compiling init_kip_v2.o
  ... Compiling init_kip_v4.o
  ... Compiling libc_support+.o
  ... Compiling patch.o
  ... Compiling koptions.o
  ... Compiling platform/imx.o
  ... Compiling loader_mbi.o
  ... Compiling ARCH-arm/reboot.o
  ==> Linking bootstrap.elf
  ==> Post-processing bootstrap.elf
  ==> "bootstrap.elf" built
  ==> Installing bootstrap.elf in image directory
  ==> Installing bootstrap_hello-cfg in image directory
  ==> Installing bootstrap_hello-cfg.elf in image directory
  Image size(s) in bytes:
        bootstrap_hello-cfg.elf:  1257856
  Start address: 0x11000000
  --> Build-Nr: 4
  ==> Installing bootstrap.elf to local build-tree
  ==> Installing bootstrap_hello-cfg to local build-tree
  ==> Installing bootstrap_hello-cfg.elf to local build-tree
QEmu-cmd: qemu-system-arm -kernel /path/to/obj2/tudos/images/bootstrap.elf
qemu: fatal: Trying to execute code outside RAM or ROM at 0x11000000

R00=00000000 R01=00000000 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=11000000
PSR=400001d3 -Z-- A svc32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
FPSCR: 00000000
bash: line 3:  5158 Aborted                 (core dumped) $qemu -kernel /path/to/obj2/tudos/images/bootstrap.elf
make[1]: *** [qemu] Error 134
make[1]: Leaving directory `/home/taeung/Hello_test_l4/src/l4'
make: *** [qemu] Error 2
========================================================================

<2-1. My Question >

Qemu support cpu such as cortex-A9 and ARMv7.
But it not support mahine information for Freescale i.MX6 quad sabre sd.

Because this is the reason, Can't boot "Helloworld + L4re+Fiasco" by qemu ?
Or Is there other reason ?

Thank you, if you help whatever.

Regards,

Taeung Song | Student of Computer Engineering
Hansung University.