[meta-freescale] Problem booting linux-boundary on nitrogen6x - suspect GCC 4.8.1 issue

Erik Botö erik.boto at pelagicore.com
Tue Jul 9 05:39:05 PDT 2013


On Tue, Jul 9, 2013 at 1:17 PM, Gary Thomas <gary at mlbassoc.com> wrote:

> On 2013-07-09 03:19, Erik Botö wrote:
>
>> Update:
>>
>> I added the following two lines to local.conf and rebuilt the kernel, now
>> it boots ok.
>>
>> PREFERRED_VERSION_gcc = "4.7.2"
>> PREFERRED_VERSION_gcc-cross = "4.7.2"
>>
>> So it seems we have an issue here with GCC 4.8.1, though I'm not really
>> sure what the best way to approach this is.
>>
>
> There are known problems with the ARM kernel and GCC 4.8.  The Yocto kernel
> has a set of patches that they've incorporated to make this work.  I
> suspect
> that these need to be applied to the FreeScale kernels as well.  Until that
> happens, I'd stay with the GCC 4.7 compiler.
>

I took a look at the patches that was applied to linux-yocto-3.8 to fix
this issue. Seems like it's two patches to memset.S, and both applied
cleanly to linux-boundary as well and leads to a booting kernel. These
patches are also available upstream [1]. Before this memset.S hasn't been
touched since November -08, so I suspect they're totally safe to include in
linux-boundary as well.

[1] See the two latest commits at
https://github.com/torvalds/linux/commits/master/arch/arm/lib/memset.S

Cheers,
Erik


>
>  On Tue, Jul 9, 2013 at 9:58 AM, Erik Botö <erik.boto at pelagicore.com<mailto:
>> erik.boto at pelagicore.**com <erik.boto at pelagicore.com>>> wrote:
>>
>>     Hi,
>>
>>     Has anyone built (and verified boot) linux-boundary using GCC 4.8.1?
>> I have a build that's a couple of days old (using gcc-4.7.2-r20) that
>> works, and one more recent
>>     (gcc-4.8.1-r0) that doesn't boot. The same sources for linux-boundary
>> are used in both cases.
>>
>>     I'll see if I can step down to GCC 4.7.2 and keep everything else
>> equal to see if it's really the GCC version that breaks it. If anyone else
>> has ideas or input I'll be happy to
>>     hear!
>>
>>     Cheers,
>>     Erik Botö
>>
>>     The error:
>>
>>     Uncompressing Linux... done, booting the kernel.
>>     [    0.000000] Initializing cgroup subsys cpuset
>>     [    0.000000] Initializing cgroup subsys cpu
>>     [    0.000000] Linux version 3.0.35-4.0.0+ge6e1b5a (erbo at yocto-build)
>> (gcc version 4.8.1 (GCC) ) #1 SMP PREEMPT Tue Jul 9 08:51:39 CEST 2013
>>     [    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7),
>> cr=10c53c7d
>>     [    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing
>> instruction cache
>>     [    0.000000] Machine: Boundary Devices Nitrogen6X/SABRE Lite Board
>>     [    0.000000] Memory policy: ECC disabled, Data cache writealloc
>>     [    0.000000] CPU identified as i.MX6Q, silicon rev 1.2
>>     [    0.000000] PERCPU: Embedded 7 pages/cpu @8c008000 s5504 r8192
>> d14976 u32768
>>     [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
>>  Total pages: 227328
>>     [    0.000000] Kernel command line: enable_wait_mode=off
>> video=mxcfb0:fbpix=BGR32 video=mxcfb1:off video=mxcfb2:off fbmem=10M
>> vt.global_cursor_default=0 console=0
>>     [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
>>     [    0.000000] Dentry cache hash table entries: 131072 (order: 7,
>> 524288 bytes)
>>     [    0.000000] Inode-cache hash table entries: 65536 (order: 6,
>> 262144 bytes)
>>     [    0.000000] Memory: 640MB 256MB = 896MB total
>>     [    0.000000] Memory: 901044k/901044k available, 147532k reserved,
>> 0K highmem
>>     [    0.000000] Virtual kernel memory layout:
>>     [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
>>     [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
>>     [    0.000000]     DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
>>     [    0.000000]     vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)
>>     [    0.000000]     lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
>>     [    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
>>     [    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
>>     [    0.000000]       .init : 0x80008000 - 0x80035000   ( 180 kB)
>>     [    0.000000]       .text : 0x80035000 - 0x806836dc   (6458 kB)
>>     [    0.000000]       .data : 0x80684000 - 0x806db1e0   ( 349 kB)
>>     [    0.000000]        .bss : 0x806db204 - 0x80725958   ( 298 kB)
>>     [    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3,
>> MinObjects=0, CPUs=4, Nodes=1
>>     [    0.000000] Preemptible hierarchical RCU implementation.
>>     [    0.000000] NR_IRQS:624
>>     [    0.000000] MXC GPIO hardware
>>     [    0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns,
>> wraps every 1431655ms
>>     [    0.000000] arm_max_freq=1GHz
>>     [    0.000000] MXC_Early serial console at MMIO 0x21e8000 (options
>> '115200')
>>     [    0.000000] bootconsole [ttymxc1] enabled
>>     [    0.000000] Console: colour dummy device 80x30
>>     [    0.230828] Calibrating delay loop... 1581.05 BogoMIPS
>> (lpj=7905280)
>>     [    0.319158] pid_max: default: 32768 minimum: 301
>>     [    0.324128] Mount-cache hash table entries: 512
>>     [    0.329539] Initializing cgroup subsys blkio
>>     [    0.333874] CPU: Testing write buffer coherency: ok
>>     [    0.339064] hw perfevents: enabled with ARMv7 Cortex-A9 PMU
>> driver, 7 counters available
>>     [    0.439583] CPU1: Booted secondary processor
>>     [    0.519586] CPU2: Booted secondary processor
>>     [    0.599594] CPU3: Booted secondary processor
>>     [    0.639097] Brought up 4 CPUs
>>     [    0.654922] SMP: Total of 4 processors activated (6324.22
>> BogoMIPS).
>>     [    0.661862] devtmpfs: initialized
>>     [    0.682812] print_constraints: dummy:
>>     [    0.686834] NET: Registered protocol family 16
>>     [    0.695678] print_constraints: vddpu: 725 <--> 1300 mV at 1100 mV
>> fast normal
>>     [    0.703251] print_constraints: vddcore: 725 <--> 1300 mV at 1100
>> mV fast normal
>>     [    0.710993] print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV
>> fast normal
>>     [    0.718671] print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400
>> mV fast normal
>>     [    0.726442] print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV
>> fast normal
>>     [    0.734100] print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000
>> mV fast normal
>>     [    0.743198] ------------ Board type Nitrogen6X/W
>>     [    0.756891] imx_add_mxc_pwm:pdata=  (null)
>>     [    0.761282] imx_add_mxc_pwm:pdata=  (null)
>>     [    0.765640] imx_add_mxc_pwm:pdata=806a6da0
>>     [    0.770048] imx_add_mxc_pwm:pdata=  (null)
>>     [    0.777205] Flexcan NXP tja1040
>>     [    0.785250] hw-breakpoint: found 6 breakpoint and 1 watchpoint
>> registers.
>>     [    0.792084] hw-breakpoint: 1 breakpoint(s) reserved for watchpoint
>> single-step.
>>     [    0.799440] hw-breakpoint: maximum watchpoint size is 4 bytes.
>>     [    0.805325] L310 cache controller enabled
>>     [    0.809365] l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL
>> 0x02070000, Cache size: 1048576 B
>>     [    0.839010] bio: create slab <bio-0> at 0
>>     [    0.844014] print_constraints: VDDA: 2500 mV
>>     [    0.848587] print_constraints: VDDIO: 3300 mV
>>     [    0.853268] machine_constraints_voltage: VDDD: unsupportable
>> voltage constraints
>>     [    0.860834] reg-fixed-voltage reg-fixed-voltage.2: Failed to
>> register regulator: -22
>>     [    0.868606] reg-fixed-voltage: probe of reg-fixed-voltage.2 failed
>> with error -22
>>     [    0.876297] print_constraints: vmmc: 3300 mV
>>     [    0.880912] print_constraints: VDD_1.8V: 1800 mV
>>     [    0.886045] vgaarb: loaded
>>     [    0.889487] SCSI subsystem initialized
>>     [    0.893687] spi_imx imx6q-ecspi.0: probed
>>     [    0.898454] usbcore: registered new interface driver usbfs
>>     [    0.904110] usbcore: registered new interface driver hub
>>     [    0.909598] usbcore: registered new device driver usb
>>     [    0.914667] Freescale USB OTG Driver loaded, $Revision: 1.55 $
>>     [    0.939093] imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1),
>> 5B(4,5), 5F(6,7)
>>     [    0.959087] imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1),
>> 5B(4,5), 5F(6,7)
>>     [    0.966934] mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver
>> probed
>>     [    0.973412] mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy
>> version is 0x3130302a
>>     [    0.981146] MIPI CSI2 driver module loaded
>>     [    0.985474] Advanced Linux Sound Architecture Driver Version
>> 1.0.24.
>>     [    0.993155] cfg80211: Calling CRDA to update world regulatory
>> domain
>>     [    1.000556] Switching to clocksource mxc_timer1
>>     [    1.018685] Unable to handle kernel paging request at virtual
>> address ef00e0bf
>>     [    1.025930] pgd = 80004000
>>     [    1.028646] [ef00e0bf] *pgd=00000000
>>     [    1.032250] Internal error: Oops: 5 [#1] PREEMPT SMP
>>     [    1.037230] Modules linked in:
>>     [    1.040313] CPU: 0    Not tainted  (3.0.35-4.0.0+ge6e1b5a #1)
>>     [    1.046094] PC is at kmem_cache_alloc+0xa8/0x100
>>     [    1.050737] LR is at con_insert_unipair+0xb8/0x104
>>     [    1.055546] pc : [<800f149c>]    lr : [<8027cb5c>]    psr: 60000093
>>     [    1.055550] sp : bff8bed0  ip : 800365e0  fp : 00000000
>>     [    1.067067] r10: 00000001  r9 : 80699cd0  r8 : 000000d0
>>     [    1.072307] r7 : 0bfd5000  r6 : bff8a000  r5 : bfff9300  r4 :
>> ef00e0bf
>>     [    1.078854] r3 : 80699cd0  r2 : 8027cb5c  r1 : 0000253c  r0 :
>> a0000013
>>     [    1.085403] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM
>>  Segment kernel
>>     [    1.092821] Control: 10c53c7d  Table: 1000404a  DAC: 00000015
>>     [    1.098584] Process swapper (pid: 1, stack limit = 0xbff8a2f0)
>>     [    1.104435] Stack: (0xbff8bed0 to 0xbff8c000)
>>     [    1.108811] bec0:                                     806ea4e8
>> 0000fffd bfe3d900 000000fe
>>     [    1.117014] bee0: bfefd0fc 806bb48c 806bb488 000000fe 00000002
>> 8027cb5c 806bb490 00000000
>>     [    1.125218] bf00: 00000001 bfe3d900 000000fe 8027d78c 806f8158
>> 806bb490 806f8338 bfff0000
>>     [    1.133421] bf20: 00000000 00000001 00000014 806f855c 00000002
>> 00000004 00000000 8001f528
>>     [    1.141624] bf40: 00000000 8001ea4c 00000000 806f8438 00000001
>> 8001ef44 805f9618 80144bf8
>>     [    1.149827] bf60: 806f7f34 00000000 bff8a000 00000001 806db220
>> 8001e390 805c8d80 00000001
>>     [    1.158030] bf80: 8002b4a0 8002b4a0 8002b894 800355c0 800b0ef8
>> 806e4f5c 80695080 bff8a010
>>     [    1.166234] bfa0: 000001df 00000001 00000000 3734d6a8 00000039
>> 00000000 00000270 8002b4a0
>>     [    1.174437] bfc0: 8002b894 bff8a000 00000001 00000000 00000000
>> 00000000 00000000 800089c0
>>     [    1.182640] bfe0: 00000000 00000000 800088d0 8003ba7c 00000013
>> 8003ba7c e92d40f7 e1a04000
>>     [    1.190857] [<800f149c>] (kmem_cache_alloc+0xa8/0x100) from
>> [<8027cb5c>] (con_insert_unipair+0xb8/**0x104)
>>     [    1.200377] [<8027cb5c>] (con_insert_unipair+0xb8/**0x104) from
>> [<8027d78c>] (con_set_default_unimap+0xe4/**0x16c)
>>     [    1.210421] [<8027d78c>] (con_set_default_unimap+0xe4/**0x16c)
>> from [<8001ea4c>] (console_map_init+0x44/0x50)
>>     [    1.220197] [<8001ea4c>] (console_map_init+0x44/0x50) from
>> [<8001ef44>] (vty_init+0x18c/0x19c)
>>     [    1.228838] [<8001ef44>] (vty_init+0x18c/0x19c) from [<8001e390>]
>> (tty_init+0x12c/0x144)
>>     [    1.236969] [<8001e390>] (tty_init+0x12c/0x144) from [<800355c0>]
>> (do_one_initcall+0x11c/0x174)
>>     [    1.245702] [<800355c0>] (do_one_initcall+0x11c/0x174) from
>> [<800089c0>] (kernel_init+0xf0/0x174)
>>     [    1.254612] [<800089c0>] (kernel_init+0xf0/0x174) from
>> [<8003ba7c>] (kernel_thread_exit+0x0/0x8)
>>     [    1.263427] Code: 1afffff3 e595b014 e2811004 e3a0a001 (e794b00b)
>>     [    1.269583] ---[ end trace 60f60b23e6fa95d6 ]---
>>     [    1.274228] Kernel panic - not syncing: Attempted to kill init!
>>     [    1.280198] [<80041ee4>] (unwind_backtrace+0x0/0xf4) from
>> [<804d55bc>] (panic+0x84/0x198)
>>     [    1.288431] [<804d55bc>] (panic+0x84/0x198) from [<800733dc>]
>> (complete_and_exit+0x0/0x1c)
>>     [    1.296739] [<800733dc>] (complete_and_exit+0x0/0x1c) from
>> [<bff8bd00>] (0xbff8bd00)
>>     [    1.304508] CPU1: stopping
>>     [    1.307242] [<80041ee4>] (unwind_backtrace+0x0/0xf4) from
>> [<80035338>] (do_IPI+0x144/0x154)
>>     [    1.315628] [<80035338>] (do_IPI+0x144/0x154) from [<8003a9cc>]
>> (__irq_svc+0x4c/0xe8)
>>     [    1.323481] Exception stack(0xbffadf90 to 0xbffadfd8)
>>     [    1.328550] df80:                                     00000000
>> 806e27fc bffac000 00000006
>>     [    1.336753] dfa0: bffac000 8069d0ec 806db2c4 804df9e0 1000406a
>> 412fc09a 00000000 00000000
>>     [    1.344955] dfc0: 60000013 bffadfd8 80049e98 8003bb5c 80000013
>> ffffffff
>>     [    1.351597] [<8003a9cc>] (__irq_svc+0x4c/0xe8) from [<8003bb5c>]
>> (default_idle+0x24/0x28)
>>     [    1.359805] [<8003bb5c>] (default_idle+0x24/0x28) from
>> [<8003bcb8>] (cpu_idle+0xa0/0x104)
>>     [    1.368010] [<8003bcb8>] (cpu_idle+0xa0/0x104) from [<104d1f14>]
>> (0x104d1f14)
>>     [    1.375168] CPU2: stopping
>>     [    1.377902] [<80041ee4>] (unwind_backtrace+0x0/0xf4) from
>> [<80035338>] (do_IPI+0x144/0x154)
>>     [    1.386286] [<80035338>] (do_IPI+0x144/0x154) from [<8003a9cc>]
>> (__irq_svc+0x4c/0xe8)
>>     [    1.394137] Exception stack(0xbffb5f90 to 0xbffb5fd8)
>>     [    1.399205] 5f80:                                     00000000
>> 806e27fc bffb4000 00000006
>>     [    1.407409] 5fa0: bffb4000 8069d0ec 806db2c4 804df9e0 1000406a
>> 412fc09a 00000000 00000000
>>     [    1.415611] 5fc0: 60000013 bffb5fd8 80049e98 8003bb5c 80000013
>> ffffffff
>>     [    1.422251] [<8003a9cc>] (__irq_svc+0x4c/0xe8) from [<8003bb5c>]
>> (default_idle+0x24/0x28)
>>     [    1.430458] [<8003bb5c>] (default_idle+0x24/0x28) from
>> [<8003bcb8>] (cpu_idle+0xa0/0x104)
>>     [    1.438663] [<8003bcb8>] (cpu_idle+0xa0/0x104) from [<104d1f14>]
>> (0x104d1f14)
>>     [    1.445820] CPU3: stopping
>>     [    1.448552] [<80041ee4>] (unwind_backtrace+0x0/0xf4) from
>> [<80035338>] (do_IPI+0x144/0x154)
>>     [    1.456934] [<80035338>] (do_IPI+0x144/0x154) from [<8003a9cc>]
>> (__irq_svc+0x4c/0xe8)
>>     [    1.464786] Exception stack(0xbff01f90 to 0xbff01fd8)
>>     [    1.469855] 1f80:                                     00000000
>> 806e27fc bff00000 00000006
>>     [    1.478058] 1fa0: bff00000 8069d0ec 806db2c4 804df9e0 1000406a
>> 412fc09a 00000000 00000000
>>     [    1.486260] 1fc0: 00000000 bff01fd8 80049e98 8003bb5c 80000013
>> ffffffff
>>     [    1.492899] [<8003a9cc>] (__irq_svc+0x4c/0xe8) from [<8003bb5c>]
>> (default_idle+0x24/0x28)
>>     [    1.501105] [<8003bb5c>] (default_idle+0x24/0x28) from
>> [<8003bcb8>] (cpu_idle+0xa0/0x104)
>>     [    1.509309] [<8003bcb8>] (cpu_idle+0xa0/0x104) from [<104d1f14>]
>> (0x104d1f14)
>>
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> meta-freescale mailing list
>> meta-freescale at yoctoproject.**org <meta-freescale at yoctoproject.org>
>> https://lists.yoctoproject.**org/listinfo/meta-freescale<https://lists.yoctoproject.org/listinfo/meta-freescale>
>>
>>
> --
> ------------------------------**------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> ------------------------------**------------------------------
> ______________________________**_________________
> meta-freescale mailing list
> meta-freescale at yoctoproject.**org <meta-freescale at yoctoproject.org>
> https://lists.yoctoproject.**org/listinfo/meta-freescale<https://lists.yoctoproject.org/listinfo/meta-freescale>
>



-- 
=============================================
Erik Botö
Senior Software Engineer
Pelagicore AB
Ekelundsgatan 4, 6tr, SE-411 18 Gothenburg, Sweden
Mobile: +46 (0)76 881 72 03
E-Mail: erik.boto at pelagicore.com
=============================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20130709/ba4c5c10/attachment.html>


More information about the meta-freescale mailing list