* Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
@ 2012-07-31 17:27 Elvis Dowson
2012-08-03 20:59 ` Elvis Dowson
2012-08-08 13:44 ` Bob Cochran
0 siblings, 2 replies; 49+ messages in thread
From: Elvis Dowson @ 2012-07-31 17:27 UTC (permalink / raw)
To: Yocto Discussion Mailing List
[-- Attachment #1: Type: text/plain, Size: 8715 bytes --]
Hi,
I am unable to get a serial console login prompt using yocto generate rootfilesystem (core-image-minimal), for a PowerPC 440 target.
I saw on another thread that even for the pandaboard, a similar situation exists:
> On 2012-07-30 13:11, Gary Thomas wrote:
>> On 2012-07-30 12:49, Jim Abernathy wrote:
>>> On 07/30/2012 01:16 PM, Gary Thomas wrote:
>>> I got core-image-minimal built without errors, Thanks, now I need to ask some questions about booting that image. I'm assuming that I can follow the instructions on pandaboard.org
>>> for creating the SD card format and just copy the deploy/image/ u-boot, MLO, uImage, and rootfs to the right places and boot the sdcard in the pandaboard. Anyway, that's what I
>>> tried. I'm connected to the panadboard via serial port and the U-Boot works and the uImage seems to be found, but I don't get a login console on the serial port:
>>>
>>> U-Boot SPL 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>> Texas Instruments OMAP4430 ES2.1
>>> OMAP SD/MMC: 0
>>> reading u-boot.img
>>> reading u-boot.img
>>>
>>>
>>> U-Boot 2011.12-dirty (Jul 30 2012 - 13:44:03)
>>>
>>> CPU : OMAP4430 ES2.1
>>> Board: OMAP4 Panda
>>> I2C: ready
>>> DRAM: 1 GiB
>>> MMC: OMAP SD/MMC: 0
>>> Using default environment
>>>
>>> In: serial
>>> Out: serial
>>> Err: serial
>>> Hit any key to stop autoboot: 0
>>> reading boot.scr
>>>
>>> ** Unable to read "boot.scr" from mmc 0:1 **
>>> reading uImage
>>>
>>> 4176404 bytes read
>>> Booting from mmc0 ...
>>> ## Booting kernel from Legacy Image at 82000000 ...
>>> Image Name: Linux-3.1.0
>>> Image Type: ARM Linux Kernel Image (uncompressed)
>>> Data Size: 4176340 Bytes = 4 MiB
>>> Load Address: 80008000
>>> Entry Point: 80008000
>>> Verifying Checksum ... OK
>>> Loading Kernel Image ... OK
>>> OK
>>>
>>> Starting kernel ...
>>>
>>> Uncompressing Linux... done, booting the kernel.
>>
>> Start with the obvious - check the bootparams in U-Boot. Break into
>> the boot process and run the 'printenv' command. What's the value of
>> the "console" variable?
>>
>> n.b. I've not tried this exact setup on the PandaBoard. I may have time
>> later today to do so.
>>
>
> I've just verified that this does fail when using yocto:master I'm pretty
> sure that the problem is related to the use of GCC 4.7.1 - I've had similar
> problems with ARM kernels & GCC 4.7.1 in the past.
Can someone confirm?
Any suggestions on how to get past this issue? Is serial console login prompt broken on yocto for targets other than Intel? Does it work on ARM or PowerPC at the moment, with the latest yocto updates as of today?
My /etc/inittab looks like this:
S:2345:respawn:/sbin/getty 9600 ttyS0
Here is the output of my kernel boot screen:
zImage starting: loaded at 0x00800000 (sp: 0x00d71fb0)
Allocating 0x4cea6c bytes for kernel ...
gunzipping (0x00000000 <- 0x0080f000:0x009ddcf9)...done 0x3b15c0 bytes
Attached initrd image at 0x009de000-0x00d7088a
initrd head: 0x1f8b0808
Linux/PowerPC load: console=ttyS0 ip=off root=/dev/ram rw\x1f
Finalizing device tree... flat tree at 0xd7e0e0
[ 0.000000] Using Xilinx Virtex440 machine description
[ 0.000000] Linux version 3.3.0-14.2-build1+ (elvis@eos) (gcc version 4.7.2 20120706 (prerelease) (GCC) ) #37 PREEMPT Tue Jul 31 21:12:34 GST 2012
[ 0.000000] Found initrd at 0xc09de000:0xc0d7088a
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000000 -> 0x00010000
[ 0.000000] Normal empty
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] Early memory PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00010000
[ 0.000000] MMU: Allocated 1088 bytes of context maps for 255 contexts
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyS0 ip=off root=/dev/ram rw\x1f
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 251200k/262144k available (3596k kernel code, 10944k reserved, 188k data, 1138k bss, 148k init)
[ 0.000000] Kernel virtual memory layout:
[ 0.000000] * 0xfffdf000..0xfffff000 : fixmap
[ 0.000000] * 0xfde00000..0xfe000000 : consistent mem
[ 0.000000] * 0xfde00000..0xfde00000 : early ioremap
[ 0.000000] * 0xd1000000..0xfde00000 : vmalloc & ioremap
[ 0.000000] NR_IRQS:512
[ 0.000000] clocksource: timebase mult[2800000] shift[24] registered
[ 0.000000] Console: colour dummy device 80x25
[ 0.000455] pid_max: default: 32768 minimum: 301
[ 0.000815] Mount-cache hash table entries: 512
[ 0.008275] NET: Registered protocol family 16
[ 0.014106] PCI: Probing PCI hardware
[ 0.041141] bio: create slab <bio-0> at 0
[ 0.042516] gpiochip_add: registered GPIOs 248 to 255 on device: /plb@0/gpio@81460000
[ 0.043034] gpiochip_add: registered GPIOs 240 to 247 on device: /plb@0/gpio@81440000
[ 0.043625] gpiochip_add: registered GPIOs 235 to 239 on device: /plb@0/gpio@81420000
[ 0.044150] gpiochip_add: registered GPIOs 230 to 234 on device: /plb@0/gpio@81400000
[ 0.045659] vgaarb: loaded
[ 0.049556] Switching to clocksource timebase
[ 0.088781] NET: Registered protocol family 2
[ 0.089206] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.090770] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.091141] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.091343] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.091361] TCP reno registered
[ 0.091381] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.091425] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.092019] NET: Registered protocol family 1
[ 0.092849] RPC: Registered named UNIX socket transport module.
[ 0.092879] RPC: Registered udp transport module.
[ 0.092892] RPC: Registered tcp transport module.
[ 0.092906] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.093223] Trying to unpack rootfs image as initramfs...
[ 0.095276] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 0.128489] Freeing initrd memory: 3660k freed
[ 0.145577] ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.146291] msgmni has been set to 499
[ 0.147734] io scheduler noop registered
[ 0.147760] io scheduler deadline registered
[ 0.147911] io scheduler cfq registered (default)
[ 0.180521] Console: switching to colour frame buffer device 80x30
[ 0.444482] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.450055] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550
[ 4.334314] console [ttyS0] enabled
[ 4.395802] brd: module loaded
[ 4.441798] loop: module loaded
[ 4.478911] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12
[ 4.555785] xsysace 83600000.sysace: No CF in slot
[ 4.614718] Xilinx SystemACE device driver, major=254
[ 4.675508] xilinx_emaclite 81000000.ethernet: Device Tree Probing
[ 4.749052] xilinx_emaclite 81000000.ethernet: error registering MDIO bus
[ 4.830133] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00
[ 4.923700] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17
[ 5.038540] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2'
[ 5.107812] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22
[ 5.207016] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2'
[ 5.276713] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23
[ 5.377147] mousedev: PS/2 mouse device common for all mice
[ 5.444373] i2c /dev entries driver
[ 5.485910] Device Tree Probing 'i2c'
[ 5.530167] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18
[ 5.607687] TCP cubic registered
[ 5.645541] NET: Registered protocol family 17
[ 6.441625] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000
[ 6.925869] RAMDISK: gzip image found at block 0
[ 7.449824] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0
[ 7.834586] VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
[ 7.914175] Freeing unused kernel memory: 148k freed
Best regards,
Elvis Dowson
[-- Attachment #2: Type: text/html, Size: 22875 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson @ 2012-08-03 20:59 ` Elvis Dowson 2012-08-03 21:30 ` Elvis Dowson 2012-08-08 13:44 ` Bob Cochran 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-03 20:59 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3076 bytes --] Hi, On Jul 31, 2012, at 9:27 PM, Elvis Dowson wrote: > I am unable to get a serial console login prompt using yocto generate rootfilesystem (core-image-minimal), for a PowerPC 440 target. I'm now starting the process of debugging the init process step by step. I've just updated to the latest gcc-4.7.2 commit, as of today SRCREV = "1653160670db186c6243997447ecbe6ce5056648" I've created a simple hello world program, and used that as init, and I get an output as expected: zImage starting: loaded at 0x00800000 (sp: 0x00d7bfb0) Allocating 0x540e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a17dda)...done 0x4235c0 bytes Attached initrd image at 0x00a18000-0x00d7a3e1 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/init Finalizing device tree... flat tree at 0xd880e0 PM: Adding info for No Bus:ttyv9 [ 0.476678] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.481983] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.677477] console [ttyS0] enabled [ 0.741448] brd: module loaded [ 0.788283] loop: module loaded [ 0.825575] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.902300] xsysace 83600000.sysace: No CF in slot [ 0.961302] Xilinx SystemACE device driver, major=254 [ 1.022246] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.095778] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.176850] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.270544] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.385416] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.454651] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.554024] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.623705] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.724252] mousedev: PS/2 mouse device common for all mice [ 1.791648] i2c /dev entries driver [ 1.833441] Device Tree Probing 'i2c' [ 1.877646] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 1.955298] TCP cubic registered [ 1.993143] NET: Registered protocol family 17 [ 2.790356] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.274628] RAMDISK: gzip image found at block 0 [ 3.798553] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 4.178791] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 4.248993] Freeing unused kernel memory: 152k freed Hello world from myinit.c! Inside the ramdisk, I just have a /dev folder, and it has nodes for console and ttyS0. So this means that the Xilinx hardware project using xps_uart16550_v3_00_a and the kernel drivers, etc, are all working. Now to try to debug the init process. Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 6895 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-03 20:59 ` Elvis Dowson @ 2012-08-03 21:30 ` Elvis Dowson 2012-08-03 22:05 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-03 21:30 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3352 bytes --] Hi, On Aug 4, 2012, at 12:59 AM, Elvis Dowson wrote: > Now to try to debug the init process. I compiled bash statically by making the following changes: diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc index 3684191..071d79e 100644 --- a/meta/recipes-extended/bash/bash.inc +++ b/meta/recipes-extended/bash/bash.inc @@ -11,7 +11,7 @@ inherit autotools gettext update-alternatives PARALLEL_MAKE = "" -EXTRA_OECONF = "--enable-job-control" +EXTRA_OECONF = "--enable-job-control --without-gnu-malloc --enable-static-link" export CC_FOR_BUILD = "${BUILD_CC}" ALTERNATIVE_${PN} = "sh" That seems to be working! zImage starting: loaded at 0x00800000 (sp: 0x00d38fb0) Allocating 0x540e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes Attached initrd image at 0x00a18000-0x00d3797b initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bash Finalizing device tree... flat tree at 0xd450e0 PM: Adding info for No Bus:ttyv9 [ 0.473944] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.479429] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.674847] console [ttyS0] enabled [ 0.738939] brd: module loaded [ 0.785690] loop: module loaded [ 0.823018] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.899716] xsysace 83600000.sysace: No CF in slot [ 0.958789] Xilinx SystemACE device driver, major=254 [ 1.019641] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.093183] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.174263] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.267929] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.382861] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.452151] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.551544] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.621222] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.721705] mousedev: PS/2 mouse device common for all mice [ 1.789048] i2c /dev entries driver [ 1.830824] Device Tree Probing 'i2c' [ 1.874996] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 1.952627] TCP cubic registered [ 1.990531] NET: Registered protocol family 17 [ 2.786413] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.270686] RAMDISK: gzip image found at block 0 [ 3.794609] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 4.158841] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 4.229004] Freeing unused kernel memory: 152k freed bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell bash-4.2# I get a bash shell prompt with no issues. Not sure at this moment, if it was the updates to gcc-4.7.2 that fixed the problem or if there is still a problem with the init scripts. I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again. Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 8716 bytes --] ^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-03 21:30 ` Elvis Dowson @ 2012-08-03 22:05 ` Elvis Dowson 2012-08-03 23:50 ` Tim Bird 2012-08-04 2:24 ` Khem Raj 0 siblings, 2 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-03 22:05 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3025 bytes --] Hi, On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote: > I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again. Switching back to the core-image-default non-static bash version, didn't work. I get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0) Allocating 0x540e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes Attached initrd image at 0x00a18000-0x00dab775 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0xdb90e0 PM: Adding info for No Bus:ttyv9 [ 0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.679634] console [ttyS0] enabled [ 0.743646] brd: module loaded [ 0.790371] loop: module loaded [ 0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.904387] xsysace 83600000.sysace: No CF in slot [ 0.963434] Xilinx SystemACE device driver, major=254 [ 1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.726276] mousedev: PS/2 mouse device common for all mice [ 1.793618] i2c /dev entries driver [ 1.835429] Device Tree Probing 'i2c' [ 1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 1.957193] TCP cubic registered [ 1.995099] NET: Registered protocol family 17 [ 2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.274705] RAMDISK: gzip image found at block 0 [ 3.681850] atkbd serio1: Frame/parity error: 02 [ 3.858630] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 4.313049] Freeing unused kernel memory: 152k freed What should I do now to debug this issue further? I have disabled image-prelink by not including it in my local.conf as follows: # Remove image-prelink for PowerPC 32-bit and 64-bit targets. USER_CLASSES ?= "buildstats image-mklibs" Any thoughts on what I can try to do next, to narrow down the issue, with bash working statically, but not when linked with shared libraries? Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 6606 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-03 22:05 ` Elvis Dowson @ 2012-08-03 23:50 ` Tim Bird 2012-08-04 2:24 ` Khem Raj 1 sibling, 0 replies; 49+ messages in thread From: Tim Bird @ 2012-08-03 23:50 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On 08/03/2012 03:05 PM, Elvis Dowson wrote: > Hi, > > On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote: > >> I'll try to switch back to a non-static bash, and try booting the >> core-image-minimal filesystem once again. > > Switching back to the core-image-default non-static bash version, didn't work. I > get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs > > zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0) > Allocating 0x540e0c bytes for kernel ... > gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes > Attached initrd image at 0x00a18000-0x00dab775 > initrd head: 0x1f8b0808 > > Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait > init=/bin/sh > Finalizing device tree... flat tree at 0xdb90e0 > PM: Adding info for No Bus:ttyv9 > [ 0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled > [ 0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 > [ 0.679634] console [ttyS0] enabled > [ 0.743646] brd: module loaded > [ 0.790371] loop: module loaded > [ 0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 > [ 0.904387] xsysace 83600000.sysace: No CF in slot > [ 0.963434] Xilinx SystemACE device driver, major=254 > [ 1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing > [ 1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus > [ 1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now > 00:0a:35:b7:78:00 > [ 1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 > mapped to 0xD10A0000, irq=17 > [ 1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' > [ 1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to > 0xd1036000, irq=22 > [ 1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' > [ 1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to > 0xd1038000, irq=23 > [ 1.726276] mousedev: PS/2 mouse device common for all mice > [ 1.793618] i2c /dev entries driver > [ 1.835429] Device Tree Probing 'i2c' > [ 1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 > [ 1.957193] TCP cubic registered > [ 1.995099] NET: Registered protocol family 17 > [ 2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 > [ 3.274705] RAMDISK: gzip image found at block 0 > [ 3.681850] atkbd serio1: Frame/parity error: 02 > [ 3.858630] input: AT Raw Set 2 keyboard as > /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 > [ 4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0. > [ 4.313049] Freeing unused kernel memory: 152k freed > > What should I do now to debug this issue further? > > I have disabled image-prelink by not including it in my local.conf as follows: > > # Remove image-prelink for PowerPC 32-bit and 64-bit targets. > USER_CLASSES ?= "buildstats image-mklibs" > > Any thoughts on what I can try to do next, to narrow down the issue, with bash > working statically, but not when linked with shared libraries? I haven't debugged a static vs. dynamic boot-time issue for some years, but here are a few ideas off the top of my head. First, use readelf or objdump to validate where the binary is expecting to load the dynamic linker from (that is, what directory path). Check that the linker and all libraries are in the proper places (in the paths as specified in the ELF headers for the program - bash in this case). Second, try instrumenting (ie adding printks to) the loader path, and see if the kernel knows what is failing. The way dynamic linking works is that the kernel loads the program image (ELF file), and treats the dynamic linker (ldlinux.so) as it's "interpreter". If you're not seeing an attempt to load the interpreter, then something is going wrong. You could instrument the kernel "open" path to see all the files that are being opened during the boot. ldlinux.so should be one of them. The linker should then be trying to load the other libraries needed by the program. This should also result in open calls (or possibly mmap calls). Good luck. -- Tim ============================= Tim Bird Architecture Group Chair, CE Workgroup of the Linux Foundation Senior Staff Engineer, Sony Network Entertainment ============================= ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-03 22:05 ` Elvis Dowson 2012-08-03 23:50 ` Tim Bird @ 2012-08-04 2:24 ` Khem Raj 2012-08-04 13:56 ` Elvis Dowson 1 sibling, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-04 2:24 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 4008 bytes --] On Aug 3, 2012, at 3:05 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi, > > On Aug 4, 2012, at 1:30 AM, Elvis Dowson wrote: > >> I'll try to switch back to a non-static bash, and try booting the core-image-minimal filesystem once again. > > Switching back to the core-image-default non-static bash version, didn't work. I get no bash prompt, even through I specified init=/bin/sh for the kernel bootargs > > zImage starting: loaded at 0x00800000 (sp: 0x00dacfb0) > Allocating 0x540e0c bytes for kernel ... > gunzipping (0x00000000 <- 0x0080f000:0x00a17ddd)...done 0x4235c0 bytes > Attached initrd image at 0x00a18000-0x00dab775 > initrd head: 0x1f8b0808 > > Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh > Finalizing device tree... flat tree at 0xdb90e0 > PM: Adding info for No Bus:ttyv9 > [ 0.478914] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled > [ 0.484189] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 > [ 0.679634] console [ttyS0] enabled > [ 0.743646] brd: module loaded > [ 0.790371] loop: module loaded > [ 0.827695] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 > [ 0.904387] xsysace 83600000.sysace: No CF in slot > [ 0.963434] Xilinx SystemACE device driver, major=254 > [ 1.024322] xilinx_emaclite 81000000.ethernet: Device Tree Probing > [ 1.097851] xilinx_emaclite 81000000.ethernet: error registering MDIO bus > [ 1.178937] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 > [ 1.272553] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 > [ 1.387465] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' > [ 1.456732] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 > [ 1.556112] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' > [ 1.625786] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 > [ 1.726276] mousedev: PS/2 mouse device common for all mice > [ 1.793618] i2c /dev entries driver > [ 1.835429] Device Tree Probing 'i2c' > [ 1.879626] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 > [ 1.957193] TCP cubic registered > [ 1.995099] NET: Registered protocol family 17 > [ 2.790435] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 > [ 3.274705] RAMDISK: gzip image found at block 0 > [ 3.681850] atkbd serio1: Frame/parity error: 02 > [ 3.858630] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 > [ 4.242871] VFS: Mounted root (ext2 filesystem) on device 1:0. > [ 4.313049] Freeing unused kernel memory: 152k freed > > What should I do now to debug this issue further? > > I have disabled image-prelink by not including it in my local.conf as follows: > > # Remove image-prelink for PowerPC 32-bit and 64-bit targets. > USER_CLASSES ?= "buildstats image-mklibs" > > Any thoughts on what I can try to do next, to narrow down the issue, with bash working statically, but not when linked with shared libraries? > OK couple of things. You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps. then boot into this static shell and try to run the dynamically linked hello world. Does that work ? if not we have a dynamic linking issue. Then you can go a step deeper and see whats going on. Many a times interpreter is specified wrongly in the elf file. and there could be dynamic linker issues too. But step at a time. > Best regards, > > Elvis Dowson > > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto [-- Attachment #2: Type: text/html, Size: 8099 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 2:24 ` Khem Raj @ 2012-08-04 13:56 ` Elvis Dowson 2012-08-04 15:12 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-04 13:56 UTC (permalink / raw) To: Khem Raj, Tim Bird; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 17857 bytes --] Hi, On Aug 4, 2012, at 6:24 AM, Khem Raj wrote: > OK couple of things. You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system > may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps. > > then boot into this static shell and try to run the dynamically linked hello world. Does that work ? > if not we have a dynamic linking issue. > > Then you can go a step deeper and see whats going on. Many a times interpreter is specified wrongly in the elf file. > and there could be dynamic linker issues too. But step at a time. I created a new 16GB ramdisk file, and put the core-image-minimal root filesystem into it. I then created a static version and a dynamic version of the helloworld program. I find that the static version of the helloworld loads okay, but the dynamic version of the helloworld program doesn't give any output. I guess this means we have a dynamic linking issue. I've attached the outputs of the readelf -h and -S commands, and the outputs of the objdump commands for the text and data sections for the helloworlddynamic program. zImage starting: loaded at 0x00800000 (sp: 0x00f37fb0) Allocating 0x540e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a17de4)...done 0x4235c0 bytes Attached initrd image at 0x00a18000-0x00f36f10 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/helloworlddynamic Finalizing device tree... flat tree at 0xf440e0 PM: Adding info for No Bus:ttyv9 [ 0.492863] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.498167] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.693672] console [ttyS0] enabled [ 0.757577] brd: module loaded [ 0.804366] loop: module loaded [ 0.841663] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.918399] xsysace 83600000.sysace: No CF in slot [ 0.977368] Xilinx SystemACE device driver, major=254 [ 1.038331] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.111862] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.192936] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.286646] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.401504] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.470737] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.570108] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.639794] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.740312] mousedev: PS/2 mouse device common for all mice [ 1.807658] i2c /dev entries driver [ 1.849416] Device Tree Probing 'i2c' [ 1.893623] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 1.971280] TCP cubic registered [ 2.009127] NET: Registered protocol family 17 [ 2.806385] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.290656] RAMDISK: gzip image found at block 0 [ 3.818580] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 4.750816] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 4.820805] Freeing unused kernel memory: 152k freed Here is the output of the readelf -h and -S commands: ${CROSS_COMPILE}readelf -h helloworlddynamic ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC Version: 0x1 Entry point address: 0x1000032c Start of program headers: 52 (bytes into file) Start of section headers: 4216 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 8 Size of section headers: 40 (bytes) Number of section headers: 36 Section header string table index: 33 ${CROSS_COMPILE}readelf -S helloworlddynamic There are 36 section headers, starting at offset 0x1078: Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 10000134 000134 00000d 00 A 0 0 1 [ 2] .note.ABI-tag NOTE 10000144 000144 000020 00 A 0 0 4 [ 3] .gnu.hash GNU_HASH 10000164 000164 000020 04 A 4 0 4 [ 4] .dynsym DYNSYM 10000184 000184 000070 10 A 5 1 4 [ 5] .dynstr STRTAB 100001f4 0001f4 000064 00 A 0 0 1 [ 6] .gnu.version VERSYM 10000258 000258 00000e 02 A 4 0 2 [ 7] .gnu.version_r VERNEED 10000268 000268 000030 00 A 5 1 4 [ 8] .rela.dyn RELA 10000298 000298 00000c 0c A 4 0 4 [ 9] .rela.plt RELA 100002a4 0002a4 00003c 0c A 4 23 4 [10] .init PROGBITS 100002e0 0002e0 00004c 00 AX 0 0 4 [11] .text PROGBITS 1000032c 00032c 000348 00 AX 0 0 4 [12] .fini PROGBITS 10000674 000674 000030 00 AX 0 0 4 [13] .rodata PROGBITS 100006a4 0006a4 000039 00 A 0 0 4 [14] .eh_frame_hdr PROGBITS 100006e0 0006e0 000014 00 A 0 0 4 [15] .eh_frame PROGBITS 100006f4 0006f4 00002c 00 A 0 0 4 [16] .ctors PROGBITS 10010720 000720 000008 00 WA 0 0 4 [17] .dtors PROGBITS 10010728 000728 000008 00 WA 0 0 4 [18] .jcr PROGBITS 10010730 000730 000004 00 WA 0 0 4 [19] .got2 PROGBITS 10010734 000734 000008 00 WA 0 0 1 [20] .dynamic DYNAMIC 1001073c 00073c 0000c8 08 WA 5 0 4 [21] .data PROGBITS 10010804 000804 000008 00 WA 0 0 4 [22] .got PROGBITS 1001080c 00080c 000014 04 WAX 0 0 4 [23] .plt NOBITS 10010820 000820 000084 00 WAX 0 0 4 [24] .bss NOBITS 100108a4 000820 000008 00 WA 0 0 4 [25] .comment PROGBITS 00000000 000820 000027 01 MS 0 0 1 [26] .debug_aranges PROGBITS 00000000 000847 000038 00 0 0 1 [27] .debug_info PROGBITS 00000000 00087f 0001d6 00 0 0 1 [28] .debug_abbrev PROGBITS 00000000 000a55 00014d 00 0 0 1 [29] .debug_line PROGBITS 00000000 000ba2 000113 00 0 0 1 [30] .debug_frame PROGBITS 00000000 000cb8 00005c 00 0 0 4 [31] .debug_str PROGBITS 00000000 000d14 000154 01 MS 0 0 1 [32] .debug_loc PROGBITS 00000000 000e68 0000cf 00 0 0 1 [33] .shstrtab STRTAB 00000000 000f37 000140 00 0 0 1 [34] .symtab SYMTAB 00000000 001618 000520 10 35 58 4 [35] .strtab STRTAB 00000000 001b38 0002d6 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) Here is the output of the objdump command: ${CROSS_COMPILE}objdump -d -j .text helloworlddynamic helloworlddynamic: file format elf32-powerpc Disassembly of section .text: 1000032c <_start>: 1000032c: 7c 29 0b 78 mr r9,r1 10000330: 54 21 00 36 rlwinm r1,r1,0,0,27 10000334: 38 00 00 00 li r0,0 10000338: 94 21 ff f0 stwu r1,-16(r1) 1000033c: 7c 08 03 a6 mtlr r0 10000340: 90 01 00 00 stw r0,0(r1) 10000344: 3d 00 10 00 lis r8,4096 10000348: 85 a8 06 a4 lwzu r13,1700(r8) 1000034c: 48 01 05 34 b 10010880 <__libc_start_main@plt> 10000350 <deregister_tm_clones>: 10000350: 3d 20 10 01 lis r9,4097 10000354: 3c 60 10 01 lis r3,4097 10000358: 39 29 08 0c addi r9,r9,2060 1000035c: 38 63 08 0c addi r3,r3,2060 10000360: 39 29 00 03 addi r9,r9,3 10000364: 7d 23 48 50 subf r9,r3,r9 10000368: 2b 89 00 06 cmplwi cr7,r9,6 1000036c: 4c bd 00 20 blelr+ cr7 10000370: 3d 20 00 00 lis r9,0 10000374: 39 29 00 00 addi r9,r9,0 10000378: 2f 89 00 00 cmpwi cr7,r9,0 1000037c: 4d 9e 00 20 beqlr cr7 10000380: 7d 29 03 a6 mtctr r9 10000384: 4e 80 04 20 bctr 10000388 <register_tm_clones>: 10000388: 3c 60 10 01 lis r3,4097 1000038c: 3d 20 10 01 lis r9,4097 10000390: 38 63 08 0c addi r3,r3,2060 10000394: 39 29 08 0c addi r9,r9,2060 10000398: 7d 23 48 50 subf r9,r3,r9 1000039c: 7d 29 16 70 srawi r9,r9,2 100003a0: 7d 24 0e 70 srawi r4,r9,1 100003a4: 7c 84 01 95 addze. r4,r4 100003a8: 4d a2 00 20 beqlr+ 100003ac: 3d 20 00 00 lis r9,0 100003b0: 39 29 00 00 addi r9,r9,0 100003b4: 2f 89 00 00 cmpwi cr7,r9,0 100003b8: 4d 9e 00 20 beqlr cr7 100003bc: 7d 29 03 a6 mtctr r9 100003c0: 4e 80 04 20 bctr 100003c4 <__do_global_dtors_aux>: 100003c4: 94 21 ff e0 stwu r1,-32(r1) 100003c8: 7c 08 02 a6 mflr r0 100003cc: 93 81 00 10 stw r28,16(r1) 100003d0: 3f 80 10 01 lis r28,4097 100003d4: 89 3c 08 a4 lbz r9,2212(r28) 100003d8: 90 01 00 24 stw r0,36(r1) 100003dc: 93 a1 00 14 stw r29,20(r1) 100003e0: 2f 89 00 00 cmpwi cr7,r9,0 100003e4: 93 c1 00 18 stw r30,24(r1) 100003e8: 93 e1 00 1c stw r31,28(r1) 100003ec: 40 9e 00 64 bne- cr7,10000450 <__do_global_dtors_aux+0x8c> 100003f0: 3f a0 10 01 lis r29,4097 100003f4: 3f c0 10 01 lis r30,4097 100003f8: 3f e0 10 01 lis r31,4097 100003fc: 3b bd 07 28 addi r29,r29,1832 10000400: 3b de 07 2c addi r30,r30,1836 10000404: 81 3f 08 a8 lwz r9,2216(r31) 10000408: 7f dd f0 50 subf r30,r29,r30 1000040c: 3b ff 08 a8 addi r31,r31,2216 10000410: 7f de 16 70 srawi r30,r30,2 10000414: 3b de ff ff addi r30,r30,-1 10000418: 7f 89 f0 40 cmplw cr7,r9,r30 1000041c: 40 9c 00 28 bge- cr7,10000444 <__do_global_dtors_aux+0x80> 10000420: 39 29 00 01 addi r9,r9,1 10000424: 55 2a 10 3a rlwinm r10,r9,2,0,29 10000428: 91 3f 00 00 stw r9,0(r31) 1000042c: 7d 3d 50 2e lwzx r9,r29,r10 10000430: 7d 29 03 a6 mtctr r9 10000434: 4e 80 04 21 bctrl 10000438: 81 3f 00 00 lwz r9,0(r31) 1000043c: 7f 89 f0 40 cmplw cr7,r9,r30 10000440: 41 9c ff e0 blt+ cr7,10000420 <__do_global_dtors_aux+0x5c> 10000444: 4b ff ff 0d bl 10000350 <deregister_tm_clones> 10000448: 39 20 00 01 li r9,1 1000044c: 99 3c 08 a4 stb r9,2212(r28) 10000450: 80 01 00 24 lwz r0,36(r1) 10000454: 83 81 00 10 lwz r28,16(r1) 10000458: 83 a1 00 14 lwz r29,20(r1) 1000045c: 7c 08 03 a6 mtlr r0 10000460: 83 c1 00 18 lwz r30,24(r1) 10000464: 83 e1 00 1c lwz r31,28(r1) 10000468: 38 21 00 20 addi r1,r1,32 1000046c: 4e 80 00 20 blr 10000470 <call___do_global_dtors_aux>: 10000470: 94 21 ff f0 stwu r1,-16(r1) 10000474: 7c 08 02 a6 mflr r0 10000478: 90 01 00 14 stw r0,20(r1) 1000047c: 80 01 00 14 lwz r0,20(r1) 10000480: 38 21 00 10 addi r1,r1,16 10000484: 7c 08 03 a6 mtlr r0 10000488: 4e 80 00 20 blr 1000048c <frame_dummy>: 1000048c: 3c 60 10 01 lis r3,4097 10000490: 81 23 07 30 lwz r9,1840(r3) 10000494: 38 63 07 30 addi r3,r3,1840 10000498: 2f 89 00 00 cmpwi cr7,r9,0 1000049c: 41 9e 00 38 beq- cr7,100004d4 <frame_dummy+0x48> 100004a0: 3d 20 00 00 lis r9,0 100004a4: 39 29 00 00 addi r9,r9,0 100004a8: 2f 89 00 00 cmpwi cr7,r9,0 100004ac: 41 9e 00 28 beq- cr7,100004d4 <frame_dummy+0x48> 100004b0: 94 21 ff f0 stwu r1,-16(r1) 100004b4: 7c 08 02 a6 mflr r0 100004b8: 7d 29 03 a6 mtctr r9 100004bc: 90 01 00 14 stw r0,20(r1) 100004c0: 4e 80 04 21 bctrl 100004c4: 80 01 00 14 lwz r0,20(r1) 100004c8: 38 21 00 10 addi r1,r1,16 100004cc: 7c 08 03 a6 mtlr r0 100004d0: 4b ff fe b8 b 10000388 <register_tm_clones> 100004d4: 4b ff fe b4 b 10000388 <register_tm_clones> 100004d8 <call_frame_dummy>: 100004d8: 94 21 ff f0 stwu r1,-16(r1) 100004dc: 7c 08 02 a6 mflr r0 100004e0: 90 01 00 14 stw r0,20(r1) 100004e4: 80 01 00 14 lwz r0,20(r1) 100004e8: 38 21 00 10 addi r1,r1,16 100004ec: 7c 08 03 a6 mtlr r0 100004f0: 4e 80 00 20 blr 100004f4 <main>: 100004f4: 94 21 ff f0 stwu r1,-16(r1) 100004f8: 7c 08 02 a6 mflr r0 100004fc: 90 01 00 14 stw r0,20(r1) 10000500: 93 e1 00 0c stw r31,12(r1) 10000504: 7c 3f 0b 78 mr r31,r1 10000508: 38 60 00 0a li r3,10 1000050c: 48 01 03 7d bl 10010888 <putchar@plt> 10000510: 3d 20 10 00 lis r9,4096 10000514: 38 69 06 b8 addi r3,r9,1720 10000518: 3d 20 10 00 lis r9,4096 1000051c: 38 89 06 d0 addi r4,r9,1744 10000520: 48 01 03 49 bl 10010868 <printf@plt> 10000524: 3d 20 3b 9a lis r9,15258 10000528: 61 23 c9 ff ori r3,r9,51711 1000052c: 48 01 03 45 bl 10010870 <sleep@plt> 10000530: 39 20 00 00 li r9,0 10000534: 7d 23 4b 78 mr r3,r9 10000538: 39 7f 00 10 addi r11,r31,16 1000053c: 80 0b 00 04 lwz r0,4(r11) 10000540: 7c 08 03 a6 mtlr r0 10000544: 83 eb ff fc lwz r31,-4(r11) 10000548: 7d 61 5b 78 mr r1,r11 1000054c: 4e 80 00 20 blr 10000550: 00 01 81 d4 .long 0x181d4 10000554 <__libc_csu_init>: 10000554: 94 21 ff d0 stwu r1,-48(r1) 10000558: 7c 08 02 a6 mflr r0 1000055c: 42 9f 00 05 bcl- 20,4*cr7+so,10000560 <__libc_csu_init+0xc> 10000560: 93 c1 00 28 stw r30,40(r1) 10000564: 7f c8 02 a6 mflr r30 10000568: 90 01 00 34 stw r0,52(r1) 1000056c: 80 1e ff f0 lwz r0,-16(r30) 10000570: 93 21 00 14 stw r25,20(r1) 10000574: 7c 79 1b 78 mr r25,r3 10000578: 93 41 00 18 stw r26,24(r1) 1000057c: 7c 9a 23 78 mr r26,r4 10000580: 7f c0 f2 14 add r30,r0,r30 10000584: 93 61 00 1c stw r27,28(r1) 10000588: 93 81 00 20 stw r28,32(r1) 1000058c: 7c bb 2b 78 mr r27,r5 10000590: 93 a1 00 24 stw r29,36(r1) 10000594: 93 e1 00 2c stw r31,44(r1) 10000598: 4b ff fd 49 bl 100002e0 <_init> 1000059c: 81 3e 80 04 lwz r9,-32764(r30) 100005a0: 3b e0 00 00 li r31,0 100005a4: 83 9e 80 00 lwz r28,-32768(r30) 100005a8: 3b a9 ff fc addi r29,r9,-4 100005ac: 7f 89 e0 50 subf r28,r9,r28 100005b0: 7f 9c 16 71 srawi. r28,r28,2 100005b4: 41 82 00 28 beq- 100005dc <__libc_csu_init+0x88> 100005b8: 85 3d 00 04 lwzu r9,4(r29) 100005bc: 7f 23 cb 78 mr r3,r25 100005c0: 7f 44 d3 78 mr r4,r26 100005c4: 7f 65 db 78 mr r5,r27 100005c8: 3b ff 00 01 addi r31,r31,1 100005cc: 7d 29 03 a6 mtctr r9 100005d0: 4e 80 04 21 bctrl 100005d4: 7f 9f e0 00 cmpw cr7,r31,r28 100005d8: 40 9e ff e0 bne+ cr7,100005b8 <__libc_csu_init+0x64> 100005dc: 80 01 00 34 lwz r0,52(r1) 100005e0: 83 21 00 14 lwz r25,20(r1) 100005e4: 83 41 00 18 lwz r26,24(r1) 100005e8: 7c 08 03 a6 mtlr r0 100005ec: 83 61 00 1c lwz r27,28(r1) 100005f0: 83 81 00 20 lwz r28,32(r1) 100005f4: 83 a1 00 24 lwz r29,36(r1) 100005f8: 83 c1 00 28 lwz r30,40(r1) 100005fc: 83 e1 00 2c lwz r31,44(r1) 10000600: 38 21 00 30 addi r1,r1,48 10000604: 4e 80 00 20 blr 10000608 <__libc_csu_fini>: 10000608: 4e 80 00 20 blr 1000060c <__do_global_ctors_aux>: 1000060c: 94 21 ff f0 stwu r1,-16(r1) 10000610: 7c 08 02 a6 mflr r0 10000614: 90 01 00 14 stw r0,20(r1) 10000618: 93 e1 00 0c stw r31,12(r1) 1000061c: 3f e0 10 01 lis r31,4097 10000620: 3b ff 07 24 addi r31,r31,1828 10000624: 85 3f ff fc lwzu r9,-4(r31) 10000628: 2f 89 ff ff cmpwi cr7,r9,-1 1000062c: 41 9e 00 18 beq- cr7,10000644 <__do_global_ctors_aux+0x38> 10000630: 7d 29 03 a6 mtctr r9 10000634: 4e 80 04 21 bctrl 10000638: 85 3f ff fc lwzu r9,-4(r31) 1000063c: 2f 89 ff ff cmpwi cr7,r9,-1 10000640: 40 9e ff f0 bne+ cr7,10000630 <__do_global_ctors_aux+0x24> 10000644: 80 01 00 14 lwz r0,20(r1) 10000648: 83 e1 00 0c lwz r31,12(r1) 1000064c: 38 21 00 10 addi r1,r1,16 10000650: 7c 08 03 a6 mtlr r0 10000654: 4e 80 00 20 blr 10000658 <call___do_global_ctors_aux>: 10000658: 94 21 ff f0 stwu r1,-16(r1) 1000065c: 7c 08 02 a6 mflr r0 10000660: 90 01 00 14 stw r0,20(r1) 10000664: 80 01 00 14 lwz r0,20(r1) 10000668: 38 21 00 10 addi r1,r1,16 1000066c: 7c 08 03 a6 mtlr r0 10000670: 4e 80 00 20 blr ${CROSS_COMPILE}objdump -d -j .data helloworlddynamic helloworlddynamic: file format elf32-powerpc Disassembly of section .data: 10010804 <__data_start>: 10010804: 00 00 00 00 .long 0x0 10010808 <__dso_handle>: 10010808: 00 00 00 00 .... I'm not sure what to infer with all this data, what should I be looking at or checking, to try to find out what's going wrong with dynamic linked programs built with gcc-4.7.2 for PowerPC440 ? Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 73844 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 13:56 ` Elvis Dowson @ 2012-08-04 15:12 ` Elvis Dowson 2012-08-04 16:31 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-04 15:12 UTC (permalink / raw) To: Khem Raj, Tim Bird; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 26203 bytes --] Hi, On Aug 4, 2012, at 5:56 PM, Elvis Dowson wrote: > On Aug 4, 2012, at 6:24 AM, Khem Raj wrote: > >> OK couple of things. You could boot into static bash thats good, keep it that way and bundle some dynamically linked programs into the root file system >> may be just a hello world which is dynamically linked. I would also compile a static version of gdb and strace but that could be next steps. >> >> then boot into this static shell and try to run the dynamically linked hello world. Does that work ? >> if not we have a dynamic linking issue. >> >> Then you can go a step deeper and see whats going on. Many a times interpreter is specified wrongly in the elf file. >> and there could be dynamic linker issues too. But step at a time. > > I created a new 16GB ramdisk file, and put the core-image-minimal root filesystem into it. I then created a static version and a dynamic version of the helloworld program. > > I find that the static version of the helloworld loads okay, but the dynamic version of the helloworld program doesn't give any output. > > I guess this means we have a dynamic linking issue. > In the objdump I see two version references for glibc, is that normal? Version References: required from libc.so.6: 0x0d696910 0x00 03 GLIBC_2.0 0x0d696914 0x00 02 GLIBC_2.4 Here is the full output of the readelf -a helloworlddynamic executable: ${CROSS_COMPILE}readelf -a helloworlddynamic ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC Version: 0x1 Entry point address: 0x1000032c Start of program headers: 52 (bytes into file) Start of section headers: 4216 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 8 Size of section headers: 40 (bytes) Number of section headers: 36 Section header string table index: 33 Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 10000134 000134 00000d 00 A 0 0 1 [ 2] .note.ABI-tag NOTE 10000144 000144 000020 00 A 0 0 4 [ 3] .gnu.hash GNU_HASH 10000164 000164 000020 04 A 4 0 4 [ 4] .dynsym DYNSYM 10000184 000184 000070 10 A 5 1 4 [ 5] .dynstr STRTAB 100001f4 0001f4 000064 00 A 0 0 1 [ 6] .gnu.version VERSYM 10000258 000258 00000e 02 A 4 0 2 [ 7] .gnu.version_r VERNEED 10000268 000268 000030 00 A 5 1 4 [ 8] .rela.dyn RELA 10000298 000298 00000c 0c A 4 0 4 [ 9] .rela.plt RELA 100002a4 0002a4 00003c 0c A 4 23 4 [10] .init PROGBITS 100002e0 0002e0 00004c 00 AX 0 0 4 [11] .text PROGBITS 1000032c 00032c 000348 00 AX 0 0 4 [12] .fini PROGBITS 10000674 000674 000030 00 AX 0 0 4 [13] .rodata PROGBITS 100006a4 0006a4 000039 00 A 0 0 4 [14] .eh_frame_hdr PROGBITS 100006e0 0006e0 000014 00 A 0 0 4 [15] .eh_frame PROGBITS 100006f4 0006f4 00002c 00 A 0 0 4 [16] .ctors PROGBITS 10010720 000720 000008 00 WA 0 0 4 [17] .dtors PROGBITS 10010728 000728 000008 00 WA 0 0 4 [18] .jcr PROGBITS 10010730 000730 000004 00 WA 0 0 4 [19] .got2 PROGBITS 10010734 000734 000008 00 WA 0 0 1 [20] .dynamic DYNAMIC 1001073c 00073c 0000c8 08 WA 5 0 4 [21] .data PROGBITS 10010804 000804 000008 00 WA 0 0 4 [22] .got PROGBITS 1001080c 00080c 000014 04 WAX 0 0 4 [23] .plt NOBITS 10010820 000820 000084 00 WAX 0 0 4 [24] .bss NOBITS 100108a4 000820 000008 00 WA 0 0 4 [25] .comment PROGBITS 00000000 000820 000027 01 MS 0 0 1 [26] .debug_aranges PROGBITS 00000000 000847 000038 00 0 0 1 [27] .debug_info PROGBITS 00000000 00087f 0001d6 00 0 0 1 [28] .debug_abbrev PROGBITS 00000000 000a55 00014d 00 0 0 1 [29] .debug_line PROGBITS 00000000 000ba2 000113 00 0 0 1 [30] .debug_frame PROGBITS 00000000 000cb8 00005c 00 0 0 4 [31] .debug_str PROGBITS 00000000 000d14 000154 01 MS 0 0 1 [32] .debug_loc PROGBITS 00000000 000e68 0000cf 00 0 0 1 [33] .shstrtab STRTAB 00000000 000f37 000140 00 0 0 1 [34] .symtab SYMTAB 00000000 001618 000520 10 35 58 4 [35] .strtab STRTAB 00000000 001b38 0002d6 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) There are no section groups in this file. Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align PHDR 0x000034 0x10000034 0x10000034 0x00100 0x00100 R E 0x4 INTERP 0x000134 0x10000134 0x10000134 0x0000d 0x0000d R 0x1 [Requesting program interpreter: /lib/ld.so.1] LOAD 0x000000 0x10000000 0x10000000 0x00720 0x00720 R E 0x10000 LOAD 0x000720 0x10010720 0x10010720 0x00100 0x0018c RWE 0x10000 DYNAMIC 0x00073c 0x1001073c 0x1001073c 0x000c8 0x000c8 RW 0x4 NOTE 0x000144 0x10000144 0x10000144 0x00020 0x00020 R 0x4 GNU_EH_FRAME 0x0006e0 0x100006e0 0x100006e0 0x00014 0x00014 R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 Section to Segment mapping: Segment Sections... 00 01 .interp 02 .interp .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame_hdr .eh_frame 03 .ctors .dtors .jcr .got2 .dynamic .data .got .plt .bss 04 .dynamic 05 .note.ABI-tag 06 .eh_frame_hdr 07 Dynamic section at offset 0x73c contains 20 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000c (INIT) 0x100002e0 0x0000000d (FINI) 0x10000674 0x6ffffef5 (GNU_HASH) 0x10000164 0x00000005 (STRTAB) 0x100001f4 0x00000006 (SYMTAB) 0x10000184 0x0000000a (STRSZ) 100 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x10010820 0x00000002 (PLTRELSZ) 60 (bytes) 0x00000014 (PLTREL) RELA 0x00000017 (JMPREL) 0x100002a4 0x00000007 (RELA) 0x10000298 0x00000008 (RELASZ) 72 (bytes) 0x00000009 (RELAENT) 12 (bytes) 0x6ffffffe (VERNEED) 0x10000268 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x10000258 0x00000000 (NULL) 0x0 Relocation section '.rela.dyn' at offset 0x298 contains 1 entries: Offset Info Type Sym.Value Sym. Name + Addend 1001080c 00000314 R_PPC_GLOB_DAT 00000000 __gmon_start__ + 0 Relocation section '.rela.plt' at offset 0x2a4 contains 5 entries: Offset Info Type Sym.Value Sym. Name + Addend 10010868 00000115 R_PPC_JMP_SLOT 00000000 printf + 0 10010870 00000215 R_PPC_JMP_SLOT 00000000 sleep + 0 10010878 00000315 R_PPC_JMP_SLOT 00000000 __gmon_start__ + 0 10010880 00000415 R_PPC_JMP_SLOT 00000000 __libc_start_main + 0 10010888 00000515 R_PPC_JMP_SLOT 00000000 putchar + 0 There are no unwind sections in this file. Symbol table '.dynsym' contains 7 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.4 (2) 2: 00000000 0 FUNC GLOBAL DEFAULT UND sleep@GLIBC_2.0 (3) 3: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 4: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (3) 5: 00000000 0 FUNC GLOBAL DEFAULT UND putchar@GLIBC_2.0 (3) 6: 100006b4 4 OBJECT GLOBAL DEFAULT 13 _IO_stdin_used Symbol table '.symtab' contains 82 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 10000134 0 SECTION LOCAL DEFAULT 1 2: 10000144 0 SECTION LOCAL DEFAULT 2 3: 10000164 0 SECTION LOCAL DEFAULT 3 4: 10000184 0 SECTION LOCAL DEFAULT 4 5: 100001f4 0 SECTION LOCAL DEFAULT 5 6: 10000258 0 SECTION LOCAL DEFAULT 6 7: 10000268 0 SECTION LOCAL DEFAULT 7 8: 10000298 0 SECTION LOCAL DEFAULT 8 9: 100002a4 0 SECTION LOCAL DEFAULT 9 10: 100002e0 0 SECTION LOCAL DEFAULT 10 11: 1000032c 0 SECTION LOCAL DEFAULT 11 12: 10000674 0 SECTION LOCAL DEFAULT 12 13: 100006a4 0 SECTION LOCAL DEFAULT 13 14: 100006e0 0 SECTION LOCAL DEFAULT 14 15: 100006f4 0 SECTION LOCAL DEFAULT 15 16: 10010720 0 SECTION LOCAL DEFAULT 16 17: 10010728 0 SECTION LOCAL DEFAULT 17 18: 10010730 0 SECTION LOCAL DEFAULT 18 19: 10010734 0 SECTION LOCAL DEFAULT 19 20: 1001073c 0 SECTION LOCAL DEFAULT 20 21: 10010804 0 SECTION LOCAL DEFAULT 21 22: 1001080c 0 SECTION LOCAL DEFAULT 22 23: 10010820 0 SECTION LOCAL DEFAULT 23 24: 100108a4 0 SECTION LOCAL DEFAULT 24 25: 00000000 0 SECTION LOCAL DEFAULT 25 26: 00000000 0 SECTION LOCAL DEFAULT 26 27: 00000000 0 SECTION LOCAL DEFAULT 27 28: 00000000 0 SECTION LOCAL DEFAULT 28 29: 00000000 0 SECTION LOCAL DEFAULT 29 30: 00000000 0 SECTION LOCAL DEFAULT 30 31: 00000000 0 SECTION LOCAL DEFAULT 31 32: 00000000 0 SECTION LOCAL DEFAULT 32 33: 00000000 0 FILE LOCAL DEFAULT ABS init.c 34: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 35: 10010720 0 OBJECT LOCAL DEFAULT 16 __CTOR_LIST__ 36: 10010728 0 OBJECT LOCAL DEFAULT 17 __DTOR_LIST__ 37: 10010730 0 OBJECT LOCAL DEFAULT 18 __JCR_LIST__ 38: 10000350 0 FUNC LOCAL DEFAULT 11 deregister_tm_clones 39: 10000388 0 FUNC LOCAL DEFAULT 11 register_tm_clones 40: 100003c4 0 FUNC LOCAL DEFAULT 11 __do_global_dtors_aux 41: 100108a4 1 OBJECT LOCAL DEFAULT 24 completed.6650 42: 100108a8 4 OBJECT LOCAL DEFAULT 24 dtor_idx.6652 43: 10000470 0 FUNC LOCAL DEFAULT 11 call___do_global_dtors_au 44: 1000048c 0 FUNC LOCAL DEFAULT 11 frame_dummy 45: 100004d8 0 FUNC LOCAL DEFAULT 11 call_frame_dummy 46: 00000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 47: 10010724 0 OBJECT LOCAL DEFAULT 16 __CTOR_END__ 48: 1000071c 0 OBJECT LOCAL DEFAULT 15 __FRAME_END__ 49: 10010730 0 OBJECT LOCAL DEFAULT 18 __JCR_END__ 50: 1000060c 0 FUNC LOCAL DEFAULT 11 __do_global_ctors_aux 51: 10000658 0 FUNC LOCAL DEFAULT 11 call___do_global_ctors_au 52: 00000000 0 FILE LOCAL DEFAULT ABS helloworld.c 53: 00000000 0 FILE LOCAL DEFAULT ABS elf-init.c 54: 10010720 0 NOTYPE LOCAL DEFAULT 16 __init_array_end 55: 1001073c 0 OBJECT LOCAL DEFAULT 20 _DYNAMIC 56: 10010720 0 NOTYPE LOCAL DEFAULT 16 __init_array_start 57: 10010814 0 OBJECT LOCAL DEFAULT 22 _GLOBAL_OFFSET_TABLE_ 58: 10000608 4 FUNC GLOBAL DEFAULT 11 __libc_csu_fini 59: 00000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab 60: 10010804 0 NOTYPE WEAK DEFAULT 21 data_start 61: 00000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.4 62: 10010820 0 NOTYPE GLOBAL DEFAULT ABS _edata 63: 00000000 0 FUNC GLOBAL DEFAULT UND sleep@@GLIBC_2.0 64: 10000674 0 FUNC GLOBAL DEFAULT 12 _fini 65: 1001072c 0 OBJECT GLOBAL HIDDEN 17 __DTOR_END__ 66: 10010804 0 NOTYPE GLOBAL DEFAULT 21 __data_start 67: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 68: 10010808 0 OBJECT GLOBAL HIDDEN 21 __dso_handle 69: 100006b4 4 OBJECT GLOBAL DEFAULT 13 _IO_stdin_used 70: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_ 71: 10000554 180 FUNC GLOBAL DEFAULT 11 __libc_csu_init 72: 10018820 0 NOTYPE GLOBAL DEFAULT 22 _SDA_BASE_ 73: 00000000 0 FUNC GLOBAL DEFAULT UND putchar@@GLIBC_2.0 74: 100108ac 0 NOTYPE GLOBAL DEFAULT ABS _end 75: 1000032c 36 FUNC GLOBAL DEFAULT 11 _start 76: 10010820 0 NOTYPE GLOBAL DEFAULT ABS __bss_start 77: 100004f4 92 FUNC GLOBAL DEFAULT 11 main 78: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 79: 1001080c 0 OBJECT GLOBAL HIDDEN 21 __TMC_END__ 80: 00000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 81: 100002e0 0 FUNC GLOBAL DEFAULT 10 _init Histogram for `.gnu.hash' bucket list length (total of 2 buckets): Length Number % of total Coverage 0 1 ( 50.0%) 1 1 ( 50.0%) 100.0% Version symbols section '.gnu.version' contains 7 entries: Addr: 0000000010000258 Offset: 0x000258 Link: 4 (.dynsym) 000: 0 (*local*) 2 (GLIBC_2.4) 3 (GLIBC_2.0) 0 (*local*) 004: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 1 (*global*) Version needs section '.gnu.version_r' contains 1 entries: Addr: 0x0000000010000268 Offset: 0x000268 Link: 5 (.dynstr) 000000: Version: 1 File: libc.so.6 Cnt: 2 0x0010: Name: GLIBC_2.0 Flags: none Version: 3 0x0020: Name: GLIBC_2.4 Flags: none Version: 2 Notes at offset 0x00000144 with length 0x00000020: Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) OS: Linux, ABI: 2.6.16 Here is the output of the objdump -x command: ${CROSS_COMPILE}objdump -x helloworlddynamic helloworlddynamic: file format elf32-powerpc helloworlddynamic architecture: powerpc:common, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x1000032c Program Header: PHDR off 0x00000034 vaddr 0x10000034 paddr 0x10000034 align 2**2 filesz 0x00000100 memsz 0x00000100 flags r-x INTERP off 0x00000134 vaddr 0x10000134 paddr 0x10000134 align 2**0 filesz 0x0000000d memsz 0x0000000d flags r-- LOAD off 0x00000000 vaddr 0x10000000 paddr 0x10000000 align 2**16 filesz 0x00000720 memsz 0x00000720 flags r-x LOAD off 0x00000720 vaddr 0x10010720 paddr 0x10010720 align 2**16 filesz 0x00000100 memsz 0x0000018c flags rwx DYNAMIC off 0x0000073c vaddr 0x1001073c paddr 0x1001073c align 2**2 filesz 0x000000c8 memsz 0x000000c8 flags rw- NOTE off 0x00000144 vaddr 0x10000144 paddr 0x10000144 align 2**2 filesz 0x00000020 memsz 0x00000020 flags r-- EH_FRAME off 0x000006e0 vaddr 0x100006e0 paddr 0x100006e0 align 2**2 filesz 0x00000014 memsz 0x00000014 flags r-- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rw- Dynamic Section: NEEDED libc.so.6 INIT 0x100002e0 FINI 0x10000674 GNU_HASH 0x10000164 STRTAB 0x100001f4 SYMTAB 0x10000184 STRSZ 0x00000064 SYMENT 0x00000010 DEBUG 0x00000000 PLTGOT 0x10010820 PLTRELSZ 0x0000003c PLTREL 0x00000007 JMPREL 0x100002a4 RELA 0x10000298 RELASZ 0x00000048 RELAENT 0x0000000c VERNEED 0x10000268 VERNEEDNUM 0x00000001 VERSYM 0x10000258 Version References: required from libc.so.6: 0x0d696910 0x00 03 GLIBC_2.0 0x0d696914 0x00 02 GLIBC_2.4 Sections: Idx Name Size VMA LMA File off Algn 0 .interp 0000000d 10000134 10000134 00000134 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .note.ABI-tag 00000020 10000144 10000144 00000144 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .gnu.hash 00000020 10000164 10000164 00000164 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .dynsym 00000070 10000184 10000184 00000184 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .dynstr 00000064 100001f4 100001f4 000001f4 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .gnu.version 0000000e 10000258 10000258 00000258 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .gnu.version_r 00000030 10000268 10000268 00000268 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .rela.dyn 0000000c 10000298 10000298 00000298 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 8 .rela.plt 0000003c 100002a4 100002a4 000002a4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 9 .init 0000004c 100002e0 100002e0 000002e0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 10 .text 00000348 1000032c 1000032c 0000032c 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 11 .fini 00000030 10000674 10000674 00000674 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 12 .rodata 00000039 100006a4 100006a4 000006a4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 13 .eh_frame_hdr 00000014 100006e0 100006e0 000006e0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 14 .eh_frame 0000002c 100006f4 100006f4 000006f4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 15 .ctors 00000008 10010720 10010720 00000720 2**2 CONTENTS, ALLOC, LOAD, DATA 16 .dtors 00000008 10010728 10010728 00000728 2**2 CONTENTS, ALLOC, LOAD, DATA 17 .jcr 00000004 10010730 10010730 00000730 2**2 CONTENTS, ALLOC, LOAD, DATA 18 .got2 00000008 10010734 10010734 00000734 2**0 CONTENTS, ALLOC, LOAD, DATA 19 .dynamic 000000c8 1001073c 1001073c 0000073c 2**2 CONTENTS, ALLOC, LOAD, DATA 20 .data 00000008 10010804 10010804 00000804 2**2 CONTENTS, ALLOC, LOAD, DATA 21 .got 00000014 1001080c 1001080c 0000080c 2**2 CONTENTS, ALLOC, LOAD, CODE 22 .plt 00000084 10010820 10010820 00000820 2**2 ALLOC, CODE 23 .bss 00000008 100108a4 100108a4 00000820 2**2 ALLOC 24 .comment 00000027 00000000 00000000 00000820 2**0 CONTENTS, READONLY 25 .debug_aranges 00000038 00000000 00000000 00000847 2**0 CONTENTS, READONLY, DEBUGGING 26 .debug_info 000001d6 00000000 00000000 0000087f 2**0 CONTENTS, READONLY, DEBUGGING 27 .debug_abbrev 0000014d 00000000 00000000 00000a55 2**0 CONTENTS, READONLY, DEBUGGING 28 .debug_line 00000113 00000000 00000000 00000ba2 2**0 CONTENTS, READONLY, DEBUGGING 29 .debug_frame 0000005c 00000000 00000000 00000cb8 2**2 CONTENTS, READONLY, DEBUGGING 30 .debug_str 00000154 00000000 00000000 00000d14 2**0 CONTENTS, READONLY, DEBUGGING 31 .debug_loc 000000cf 00000000 00000000 00000e68 2**0 CONTENTS, READONLY, DEBUGGING SYMBOL TABLE: 10000134 l d .interp 00000000 .interp 10000144 l d .note.ABI-tag 00000000 .note.ABI-tag 10000164 l d .gnu.hash 00000000 .gnu.hash 10000184 l d .dynsym 00000000 .dynsym 100001f4 l d .dynstr 00000000 .dynstr 10000258 l d .gnu.version 00000000 .gnu.version 10000268 l d .gnu.version_r 00000000 .gnu.version_r 10000298 l d .rela.dyn 00000000 .rela.dyn 100002a4 l d .rela.plt 00000000 .rela.plt 100002e0 l d .init 00000000 .init 1000032c l d .text 00000000 .text 10000674 l d .fini 00000000 .fini 100006a4 l d .rodata 00000000 .rodata 100006e0 l d .eh_frame_hdr 00000000 .eh_frame_hdr 100006f4 l d .eh_frame 00000000 .eh_frame 10010720 l d .ctors 00000000 .ctors 10010728 l d .dtors 00000000 .dtors 10010730 l d .jcr 00000000 .jcr 10010734 l d .got2 00000000 .got2 1001073c l d .dynamic 00000000 .dynamic 10010804 l d .data 00000000 .data 1001080c l d .got 00000000 .got 10010820 l d .plt 00000000 .plt 100108a4 l d .bss 00000000 .bss 00000000 l d .comment 00000000 .comment 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l df *ABS* 00000000 init.c 00000000 l df *ABS* 00000000 crtstuff.c 10010720 l O .ctors 00000000 __CTOR_LIST__ 10010728 l O .dtors 00000000 __DTOR_LIST__ 10010730 l O .jcr 00000000 __JCR_LIST__ 10000350 l F .text 00000000 deregister_tm_clones 10000388 l F .text 00000000 register_tm_clones 100003c4 l F .text 00000000 __do_global_dtors_aux 100108a4 l O .bss 00000001 completed.6650 100108a8 l O .bss 00000004 dtor_idx.6652 10000470 l F .text 00000000 call___do_global_dtors_aux 1000048c l F .text 00000000 frame_dummy 100004d8 l F .text 00000000 call_frame_dummy 00000000 l df *ABS* 00000000 crtstuff.c 10010724 l O .ctors 00000000 __CTOR_END__ 1000071c l O .eh_frame 00000000 __FRAME_END__ 10010730 l O .jcr 00000000 __JCR_END__ 1000060c l F .text 00000000 __do_global_ctors_aux 10000658 l F .text 00000000 call___do_global_ctors_aux 00000000 l df *ABS* 00000000 helloworld.c 00000000 l df *ABS* 00000000 elf-init.c 10010720 l .ctors 00000000 __init_array_end 1001073c l O .dynamic 00000000 _DYNAMIC 10010720 l .ctors 00000000 __init_array_start 10010814 l O .got 00000000 _GLOBAL_OFFSET_TABLE_ 10000608 g F .text 00000004 __libc_csu_fini 00000000 w *UND* 00000000 _ITM_deregisterTMCloneTable 10010804 w .data 00000000 data_start 00000000 F *UND* 00000000 printf@@GLIBC_2.4 10010820 g *ABS* 00000000 _edata 00000000 F *UND* 00000000 sleep@@GLIBC_2.0 10000674 g F .fini 00000000 _fini 1001072c g O .dtors 00000000 .hidden __DTOR_END__ 10010804 g .data 00000000 __data_start 00000000 w *UND* 00000000 __gmon_start__ 10010808 g O .data 00000000 .hidden __dso_handle 100006b4 g O .rodata 00000004 _IO_stdin_used 00000000 F *UND* 00000000 __libc_start_main@@GLIBC_2.0 10000554 g F .text 000000b4 __libc_csu_init 10018820 g .got 00000000 _SDA_BASE_ 00000000 F *UND* 00000000 putchar@@GLIBC_2.0 100108ac g *ABS* 00000000 _end 1000032c g F .text 00000024 _start 10010820 g *ABS* 00000000 __bss_start 100004f4 g F .text 0000005c main 00000000 w *UND* 00000000 _Jv_RegisterClasses 1001080c g O .data 00000000 .hidden __TMC_END__ 00000000 w *UND* 00000000 _ITM_registerTMCloneTable 100002e0 g F .init 00000000 _init Elvis Dowson [-- Attachment #2: Type: text/html, Size: 80635 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 15:12 ` Elvis Dowson @ 2012-08-04 16:31 ` Khem Raj 2012-08-04 16:53 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-04 16:31 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > /lib/ld.so.1 does this file exist on target ? ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 16:31 ` Khem Raj @ 2012-08-04 16:53 ` Elvis Dowson 2012-08-04 17:12 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-04 16:53 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi, On Aug 4, 2012, at 8:31 PM, Khem Raj wrote: > On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >> /lib/ld.so.1 > > does this file exist on target ? Yes, it does. It is a soft link to /lib/ld-2.16.so (136.4kb) Both files exist on the target. What should I do next? Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 16:53 ` Elvis Dowson @ 2012-08-04 17:12 ` Khem Raj 2012-08-04 19:16 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-04 17:12 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 4, 2012 at 9:53 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi, > > On Aug 4, 2012, at 8:31 PM, Khem Raj wrote: > >> On Sat, Aug 4, 2012 at 8:12 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >>> /lib/ld.so.1 >> >> does this file exist on target ? > > Yes, it does. It is a soft link to /lib/ld-2.16.so (136.4kb) > > Both files exist on the target. > > What should I do next? > Try to see if /lib/ld.so.1 runs ok ? Then try LD_DEBUG=all /lib/ld.so.1 ./helloworlddynamic and see how far it goes. > Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 17:12 ` Khem Raj @ 2012-08-04 19:16 ` Elvis Dowson 2012-08-04 19:47 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-04 19:16 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, On Aug 4, 2012, at 9:12 PM, Khem Raj wrote: > Try to see if /lib/ld.so.1 runs ok ? How can I run /lib/ld.so.1? Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 19:16 ` Elvis Dowson @ 2012-08-04 19:47 ` Khem Raj 2012-08-07 20:10 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-04 19:47 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 4, 2012 at 12:16 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi Khem, > > On Aug 4, 2012, at 9:12 PM, Khem Raj wrote: > >> Try to see if /lib/ld.so.1 runs ok ? > > How can I run /lib/ld.so.1? > /lib/ld.so.1 > Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-04 19:47 ` Khem Raj @ 2012-08-07 20:10 ` Elvis Dowson 2012-08-07 20:13 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-07 20:10 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 1306 bytes --] Hi, I decided to modify the bash and busybox recipes to build statically, and try to create a core-image-minimal root filesystem, so that I can get a sensible prompt with paths set, etc, to debug the dynamic linking issue. Just copying a static bash binary to the root of the ramdisk image and specifying init=/bash didn't work for a static bash+core-image-minimal root filesystem, it aborts with a panic. If I have only the bash executable in the ramdisk and nothing else, it displays the bash prompt. Now, I've noticed something weird during core-image-minimal image generation. When I build the static versions of bash, the size of the binary is 8MB, but when I explore the binary in the tar.gz image or extract it to my ramdisk, it shows as being only 1.6MB. How can there be a difference between the statically built bash file /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash (8MB) and in the file contained in the core-image-minimal-virtex-5.tar.gz /bin/bash (1.6MB) I'm seeing the same discrepancy for busybox /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox (8.2 MB) and in the generate rootfs image /bin/busybox (1.4MB) This shouldn't happen, right? Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 2043 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:10 ` Elvis Dowson @ 2012-08-07 20:13 ` Khem Raj 2012-08-07 20:24 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-07 20:13 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Tue, Aug 7, 2012 at 1:10 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi, > I decided to modify the bash and busybox recipes to build > statically, and try to create a core-image-minimal root filesystem, so that > I can get a sensible prompt with paths set, etc, to debug the dynamic > linking issue. > > Just copying a static bash binary to the root of the ramdisk image and > specifying init=/bash didn't work for a static bash+core-image-minimal root > filesystem, it aborts with a panic. If I have only the bash executable in > the ramdisk and nothing else, it displays the bash prompt. > > Now, I've noticed something weird during core-image-minimal image > generation. > > When I build the static versions of bash, the size of the binary is 8MB, but > when I explore the binary in the tar.gz image or extract it to my ramdisk, > it shows as being only 1.6MB. > > How can there be a difference between the statically built bash file > > /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash > (8MB) > > and in the file contained in the core-image-minimal-virtex-5.tar.gz > > /bin/bash (1.6MB) > > I'm seeing the same discrepancy for busybox > > /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox > (8.2 MB) > > and in the generate rootfs image > > /bin/busybox (1.4MB) > > This shouldn't happen, right? I assume they are stripped in case where they are smaller. > > Best regards, > > Elvis Dowson > > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:13 ` Khem Raj @ 2012-08-07 20:24 ` Elvis Dowson 2012-08-07 20:30 ` Khem Raj 2012-08-08 2:36 ` Elvis Dowson 0 siblings, 2 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-07 20:24 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 5585 bytes --] Hi, On Aug 8, 2012, at 12:13 AM, Khem Raj wrote: > On Tue, Aug 7, 2012 at 1:10 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >> Hi, >> I decided to modify the bash and busybox recipes to build >> statically, and try to create a core-image-minimal root filesystem, so that >> I can get a sensible prompt with paths set, etc, to debug the dynamic >> linking issue. >> >> Just copying a static bash binary to the root of the ramdisk image and >> specifying init=/bash didn't work for a static bash+core-image-minimal root >> filesystem, it aborts with a panic. If I have only the bash executable in >> the ramdisk and nothing else, it displays the bash prompt. >> >> Now, I've noticed something weird during core-image-minimal image >> generation. >> >> When I build the static versions of bash, the size of the binary is 8MB, but >> when I explore the binary in the tar.gz image or extract it to my ramdisk, >> it shows as being only 1.6MB. >> >> How can there be a difference between the statically built bash file >> >> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/bash-4.2-r4/image/bin/bash >> (8MB) >> >> and in the file contained in the core-image-minimal-virtex-5.tar.gz >> >> /bin/bash (1.6MB) >> >> I'm seeing the same discrepancy for busybox >> >> /tool/yocto/poky/build/tmp/work/ppc440-poky-linux/busybox-1.19.4-r18/image/bin/busybox >> (8.2 MB) >> >> and in the generate rootfs image >> >> /bin/busybox (1.4MB) >> >> This shouldn't happen, right? > > I assume they are stripped in case where they are smaller. I tried running the newly created root filesystem, and passed init=/bin/bash to the kernel boot args, and get the kernel panic, as shown below. It doesn't happen when I just have only a static bash binary alone, in the ramdisk. zImage starting: loaded at 0x00800000 (sp: 0x015cffb0) Allocating 0x540e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a17de0)...done 0x4235c0 bytes Attached initrd image at 0x00a18000-0x015cec21 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/bash Finalizing device tree... flat tree at 0x15dc0e0 PM: Adding info for No Bus:ttyv9 [ 0.555146] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.560456] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.755976] console [ttyS0] enabled [ 0.820014] brd: module loaded [ 0.866758] loop: module loaded [ 0.903967] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.980712] xsysace 83600000.sysace: No CF in slot [ 1.039777] Xilinx SystemACE device driver, major=254 [ 1.100658] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.174186] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.255272] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.348888] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.463802] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.533064] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.632441] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.702118] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.802689] mousedev: PS/2 mouse device common for all mice [ 1.870186] i2c /dev entries driver [ 1.911796] Device Tree Probing 'i2c' [ 1.956057] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.033628] TCP cubic registered [ 2.071533] NET: Registered protocol family 17 [ 2.866390] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.350664] RAMDISK: gzip image found at block 0 <7>[ 3.870893] device: 'input0': device_add [ 3.971153] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.262826] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.332844] Freeing unused kernel memory: 152k freed [ 6.439032] Kernel panic - not syncing: Attempted to kill init! [ 6.509122] Rebooting in 180 seconds.. I need bash to run, with a representative rootfilesystem, with all the libraries, so that I can run the commands that you asked me to earlier: /lib/ld.so.1 and then LD_DEBUG=all /lib/ld.so.1 ./helloworlddynamic Is there something that I can disable to get static bash to run to the prompt, with the core-image-minimal image? Elvis Dowson [-- Attachment #2: Type: text/html, Size: 13181 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:24 ` Elvis Dowson @ 2012-08-07 20:30 ` Khem Raj 2012-08-07 20:33 ` Elvis Dowson 2012-08-08 2:36 ` Elvis Dowson 1 sibling, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-07 20:30 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Tue, Aug 7, 2012 at 1:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > > Is there something that I can disable to get static bash to run to the > prompt, with the core-image-minimal image? well compile bash or dash as static and copy it manually into the rootfile system nfs root works well for such experiments. Do you have that option ? ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:30 ` Khem Raj @ 2012-08-07 20:33 ` Elvis Dowson 2012-08-08 2:47 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-07 20:33 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi, On Aug 8, 2012, at 0:30, Khem Raj <raj.khem@gmail.com> wrote: > On Tue, Aug 7, 2012 at 1:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >> >> Is there something that I can disable to get static bash to run to the >> prompt, with the core-image-minimal image? > > well compile bash or dash as static and copy it manually into the > rootfile system > nfs root works well for such experiments. Do you have that option ? I tired manually copying the static bash binary 8mb, over to the ramdisk root folder. The problem still manifests, if there is no other file other than the static bash file, it displays the prompt. If the core-minimal-console image exists, along with the static bash binary in the root location, it gives the kernel panic, as shown above. Best regards, Elvis ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:33 ` Elvis Dowson @ 2012-08-08 2:47 ` Khem Raj 0 siblings, 0 replies; 49+ messages in thread From: Khem Raj @ 2012-08-08 2:47 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Tue, Aug 7, 2012 at 1:33 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > I tired manually copying the static bash binary 8mb, over to the ramdisk root folder. The problem still manifests, if there is no other file other than the static bash file, it displays the prompt. If the core-minimal-console image exists, along with the static bash binary in the root location, it gives the kernel panic, as shown above. I dont understand why it would boot when the rfs is just static bash and not when you bundle it along with rest of file system and setting init=/bin/bash you should get same results imo unless there are some conflicts in the latter case where /bin/bash is not static OK, another approach I could suggest is to use chroot. So boot the system into a known root file system. Then untar the new root file system under /opt or somewhere then chroot into it and try to run any dynamically linked program and see if that works. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-07 20:24 ` Elvis Dowson 2012-08-07 20:30 ` Khem Raj @ 2012-08-08 2:36 ` Elvis Dowson 2012-08-08 2:40 ` Khem Raj 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-08 2:36 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 548 bytes --] Hi, I was just going through the recipes-devtools/gcc/gcc-common.inc file, and noticed the following snippet: def get_gcc_multiarch_setting(bb, d): target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True) multiarch_options = { "i586": "--enable-targets=all", "powerpc": "--enable-targets=powerpc64", "sparc": "--enable-targets=all", } My target is a 32-bit ppc440 cpu. What is the impact of an incorrectly set multiarch_options for powerpc to powerpc64 on the final build? Elvis Dowson [-- Attachment #2: Type: text/html, Size: 1000 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-08 2:36 ` Elvis Dowson @ 2012-08-08 2:40 ` Khem Raj 0 siblings, 0 replies; 49+ messages in thread From: Khem Raj @ 2012-08-08 2:40 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Tue, Aug 7, 2012 at 7:36 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi, > I was just going through the recipes-devtools/gcc/gcc-common.inc file, > and noticed the following snippet: > > def get_gcc_multiarch_setting(bb, d): > target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True) > multiarch_options = { > "i586": "--enable-targets=all", > "powerpc": "--enable-targets=powerpc64", > "sparc": "--enable-targets=all", > } > > My target is a 32-bit ppc440 cpu. What is the impact of an incorrectly set > multiarch_options for powerpc to powerpc64 on the final build? > thats not a issue. > Elvis Dowson > > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto > ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson 2012-08-03 20:59 ` Elvis Dowson @ 2012-08-08 13:44 ` Bob Cochran 2012-08-08 19:05 ` McClintock Matthew-B29882 1 sibling, 1 reply; 49+ messages in thread From: Bob Cochran @ 2012-08-08 13:44 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On 07/31/2012 01:27 PM, Elvis Dowson wrote: > Is serial console login prompt broken on yocto for targets other than > Intel? Does it work on ARM or PowerPC at the moment, with the latest > yocto updates as of today? Hi Elvis, For my Freescale QorIQ e500v2 target, the use of getty inside init / inittab has been broken for awhile. I used to get the hangs you're reporting, but now I also see the following at the conclusion of init: serial8250: too much work for irq42 I'm glad you're working this issue, and I'll try to jump in this week. My workaround has been a hack to inittab to replace getty with /bin/sh - most of my work is done across the network via ssh to the target, so I didn't mind ignoring the problem. Bob ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-08 13:44 ` Bob Cochran @ 2012-08-08 19:05 ` McClintock Matthew-B29882 2012-08-08 20:35 ` Bob Cochran 0 siblings, 1 reply; 49+ messages in thread From: McClintock Matthew-B29882 @ 2012-08-08 19:05 UTC (permalink / raw) To: Bob Cochran; +Cc: Yocto Discussion Mailing List On Wed, Aug 8, 2012 at 8:44 AM, Bob Cochran <yocto@mindchasers.com> wrote: > On 07/31/2012 01:27 PM, Elvis Dowson wrote: >> >> Is serial console login prompt broken on yocto for targets other than >> Intel? Does it work on ARM or PowerPC at the moment, with the latest >> yocto updates as of today? > > > Hi Elvis, > > For my Freescale QorIQ e500v2 target, the use of getty inside init / inittab > has been broken for awhile. I used to get the hangs you're reporting, but > now I also see the following at the conclusion of init: > > serial8250: too much work for irq42 > > > I'm glad you're working this issue, and I'll try to jump in this week. > > > My workaround has been a hack to inittab to replace getty with /bin/sh - > most of my work is done across the network via ssh to the target, so I > didn't mind ignoring the problem. These seem like quite different issues, code generation vs. some inittab foo... are you seeing this issues with upstream? I've recently gotten some inittab cleanups into oe-core for master / denzil / my own edison branch + meta-fsl-ppc... -M > > > Bob > > > > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-08 19:05 ` McClintock Matthew-B29882 @ 2012-08-08 20:35 ` Bob Cochran 2012-08-08 21:00 ` McClintock Matthew-B29882 0 siblings, 1 reply; 49+ messages in thread From: Bob Cochran @ 2012-08-08 20:35 UTC (permalink / raw) To: McClintock Matthew-B29882; +Cc: Yocto Discussion Mailing List On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote: > These seem like quite different issues, code generation vs. some > inittab foo... are you seeing this issues with upstream? I've recently > gotten some inittab cleanups into oe-core for master / denzil / my own > edison branch + meta-fsl-ppc... On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:> These seem like quite different issues, code generation vs. some > inittab foo... are you seeing this issues with upstream? I've recently > gotten some inittab cleanups into oe-core for master / denzil / my own > edison branch + meta-fsl-ppc... Thanks Matthew. I need to sort this out with some regression testing. The latest master branches of poky & meta-fsl-ppc provides a kernel that oops while it's probing flash during boot. With the latest fsl-image-minimal rootfs and a mainline kernel, I get an init that hangs when it tries to exec getty. I see that the the "serial8250: too much work for irq42" message comes from "drivers/tty/serial/8250/8250.c" and that there have been plenty of patches to this file this year. I'll chime in again later. Bob ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-08 20:35 ` Bob Cochran @ 2012-08-08 21:00 ` McClintock Matthew-B29882 2012-08-09 16:47 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: McClintock Matthew-B29882 @ 2012-08-08 21:00 UTC (permalink / raw) To: Bob Cochran; +Cc: McClintock Matthew-B29882, Yocto Discussion Mailing List On Wed, Aug 8, 2012 at 3:35 PM, Bob Cochran <yocto@mindchasers.com> wrote: > On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote: >> >> These seem like quite different issues, code generation vs. some >> inittab foo... are you seeing this issues with upstream? I've recently >> gotten some inittab cleanups into oe-core for master / denzil / my own >> edison branch + meta-fsl-ppc... > > > On 08/08/2012 03:05 PM, McClintock Matthew-B29882 wrote:> These seem like > quite different issues, code generation vs. some > >> inittab foo... are you seeing this issues with upstream? I've recently >> gotten some inittab cleanups into oe-core for master / denzil / my own >> edison branch + meta-fsl-ppc... > > Thanks Matthew. I need to sort this out with some regression testing. The > latest master branches of poky & meta-fsl-ppc provides a kernel that oops > while it's probing flash during boot. > > With the latest fsl-image-minimal rootfs and a mainline kernel, I get an > init that hangs when it tries to exec getty. > > I see that the the "serial8250: too much work for irq42" message comes from > "drivers/tty/serial/8250/8250.c" and that there have been plenty of patches > to this file this year. > > I'll chime in again later. Sorry to say - master get's the least testing too.. we just move to denzil... others have had success with master branches with the same linux-qoriq-sdk kernel though... -M ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-08 21:00 ` McClintock Matthew-B29882 @ 2012-08-09 16:47 ` Elvis Dowson 2012-08-11 3:37 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-09 16:47 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3446 bytes --] Hi, I switched to using gcc-4.6 from the meta-openembedded layer, and still get the same issue, i.e. no login or bash prompt with init=/bin/sh zImage starting: loaded at 0x00800000 (sp: 0x016d2fa0) Allocating 0x546e0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a14e83)...done 0x4295c0 bytes Attached initrd image at 0x00a15000-0x016d1e57 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x16df0e0 PM: Adding info for No Bus:ttyv9 [ 0.571186] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.576568] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.772047] console [ttyS0] enabled [ 0.836379] brd: module loaded [ 0.883293] loop: module loaded [ 0.920576] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.997321] xsysace 83600000.sysace: No CF in slot [ 1.056390] Xilinx SystemACE device driver, major=254 [ 1.117274] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.190788] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.271877] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.365554] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.480513] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.549769] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.649154] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.718826] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.819612] mousedev: PS/2 mouse device common for all mice [ 1.887013] i2c /dev entries driver [ 1.928583] Device Tree Probing 'i2c' [ 1.972867] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.050528] TCP cubic registered [ 2.088448] NET: Registered protocol family 17 [ 2.882860] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.367142] RAMDISK: gzip image found at block 0 [ 3.895064] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.255216] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.352491] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.423252] Freeing unused kernel memory: 156k freed gdb, connected to the target board via JTAG to debug the kernel, also doesn't seem to complain: (gdb) syslog device: 'input0': device_add <7>[ 3.890268] PM: Adding info for No Bus:input0 <6>[ 3.895007] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 <7>[ 4.110886] driver: 'serio1': driver_bound: bound to device 'atkbd' <7>[ 4.110922] bus: 'serio': really_probe: bound device serio1 to driver atkbd <7>[ 4.110956] bus: 'serio': driver_probe_device: matched device serio0 with driver psmouse <7>[ 4.110975] bus: 'serio': really_probe: probing driver psmouse with device serio0 <7>[ 4.310941] psmouse: probe of serio0 rejects match -19 <4>[ 6.259162] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended <6>[ 6.356473] VFS: Mounted root (ext2 filesystem) on device 1:0. <6>[ 6.427235] Freeing unused kernel memory: 156k freed So weird. Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 7639 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-09 16:47 ` Elvis Dowson @ 2012-08-11 3:37 ` Elvis Dowson 2012-08-11 17:23 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-11 3:37 UTC (permalink / raw) To: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 1528 bytes --] Hi, On Aug 9, 2012, at 8:47 PM, Elvis Dowson wrote: > I switched to using gcc-4.6 from the meta-openembedded layer, and still get the same issue, i.e. no login or bash prompt with init=/bin/sh I decided to switch to code sourcery external toolchain, to try and narrow the cause to see if it was indeed a compiler issue. Which building with the mentor-2012.03-71-powerpc-mentor-linux-gnu.bin toolchain, I get a bunch of failures similar to the one shown below: | ./.libs/libsqlite3.so: undefined reference to `__gcc_qtod' | ./.libs/libsqlite3.so: undefined reference to `__gcc_qneg' | ./.libs/libsqlite3.so: undefined reference to `__gcc_qge' | ./.libs/libsqlite3.so: undefined reference to `__gcc_qlt' | ./.libs/libsqlite3.so: undefined reference to `__gcc_itoq' | ./.libs/libsqlite3.so: undefined reference to `__gcc_qtoi' | ./.libs/libsqlite3.so: undefined reference to `__gcc_qgt' | ./.libs/libsqlite3.so: undefined reference to `__gcc_dtoq' My target process is a PowerPC 440 with no hardware floating point unit, and my ppc440 tune has been setup to use software floating point. The above errors appear to somehow related to the floating point type. How can I get past these type of errors? I don't get these errors with gcc-4.5.1, 4.6 and 4.7 recipes. It only appears with the mentor sourcery cross compiler for powerpc. Getting yocto to build using the sourcery toolchain for the powerpc440, might yield some clues for narrowing down the issue related with the dynamic linker. point [-- Attachment #2: Type: text/html, Size: 3455 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-11 3:37 ` Elvis Dowson @ 2012-08-11 17:23 ` Elvis Dowson 2012-08-11 17:47 ` Khem Raj 2012-08-12 3:34 ` Elvis Dowson 0 siblings, 2 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-11 17:23 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, I just noticed that libquadmath was disabled in the gcc-4.7.inc recipe. EXTRA_OECONF_INITIAL = "--disable-libmudflap \ --disable-libgomp \ --disable-libssp \ --disable-libquadmath \ --with-system-zlib \ --disable-lto \ --disable-plugin \ --enable-decimal-float=no" Isn't that required for powerpc targets, since it ends up using quads for floats? Best regards, Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-11 17:23 ` Elvis Dowson @ 2012-08-11 17:47 ` Khem Raj 2012-08-12 3:34 ` Elvis Dowson 1 sibling, 0 replies; 49+ messages in thread From: Khem Raj @ 2012-08-11 17:47 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 11, 2012 at 10:23 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi Khem, > I just noticed that libquadmath was disabled in the gcc-4.7.inc recipe. > > EXTRA_OECONF_INITIAL = "--disable-libmudflap \ > --disable-libgomp \ > --disable-libssp \ > --disable-libquadmath \ > --with-system-zlib \ > --disable-lto \ > --disable-plugin \ > --enable-decimal-float=no" > > Isn't that required for powerpc targets, since it ends up using quads for floats? > thats only for bootstrap stage 1. Its not final cross gcc. > Best regards, > > Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-11 17:23 ` Elvis Dowson 2012-08-11 17:47 ` Khem Raj @ 2012-08-12 3:34 ` Elvis Dowson 2012-08-12 5:27 ` Khem Raj 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-12 3:34 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch. However, switching to gcc-4.5.1 did not fix the issue. Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-12 3:34 ` Elvis Dowson @ 2012-08-12 5:27 ` Khem Raj 2012-08-12 20:02 ` Elvis Dowson 2012-08-13 16:48 ` Elvis Dowson 0 siblings, 2 replies; 49+ messages in thread From: Khem Raj @ 2012-08-12 5:27 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 11, 2012 at 8:34 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi Khem, > I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch. > > However, switching to gcc-4.5.1 did not fix the issue. > OK. You might want to downgrade the eglibc version to 2.15 and then to 2.13 if thats around. > Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-12 5:27 ` Khem Raj @ 2012-08-12 20:02 ` Elvis Dowson 2012-08-13 16:48 ` Elvis Dowson 1 sibling, 0 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-12 20:02 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 5842 bytes --] Hi Khem, I've made tangential progress!! I found out that Denx had a bunch of pre-built rootfilesystems, generated from yocto/denzil branch. I took the core-image-core-generic-powerpc-4xx-softfloat.tar.gz from the following location: ftp://ftp.denx.de/pub/eldk/5.2.1/targets/powerpc-4xx-softfloat I used the linux-xilinx-3.3.0 kernel that I built earlier (since the linux sources are independent) with gcc-4.5.1, and use the pre-build root filesystem, and guess what, I get the bash prompt!! zImage starting: loaded at 0x00800000 (sp: 0x016defa0) Allocating 0x54cf4c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a1aedf)...done 0x42f600 bytes Attached initrd image at 0x00a1b000-0x016ddb0f initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x16eb0e0 PM: Adding info for No Bus:ttyv9 [ 0.572492] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.577880] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.773419] console [ttyS0] enabled [ 0.818736] brd: module loaded [ 0.865394] loop: module loaded [ 0.902715] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.979410] xsysace 83600000.sysace: No CF in slot [ 1.038416] Xilinx SystemACE device driver, major=254 [ 1.099449] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.172953] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.254057] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.347806] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.462670] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.531949] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.631395] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.701014] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.801542] mousedev: PS/2 mouse device common for all mice [ 1.869031] i2c /dev entries driver [ 1.910602] Device Tree Probing 'i2c' [ 1.954862] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.032541] TCP cubic registered [ 2.070347] NET: Registered protocol family 17 [ 2.867055] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.351351] RAMDISK: gzip image found at block 0 [ 3.875264] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.223416] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.320721] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.391510] Freeing unused kernel memory: 160k freed /bin/sh: can't access tty; job control turned off / # The following link gives some useful information about ELDK 5.2.1: http://www.denx.de/wiki/ELDK-5/WebHome Looking at the denx git repository for the eldk-5.2.1 branch, you find that the eglibc recipes for the denzil branch are still at 2.13 and 2.15 http://git.denx.de/?p=eldk.git;a=tree;f=meta/recipes-core/eglibc;h=9e2d141f608f42b259651ec928efde803f1dd077;hb=refs/heads/eldk-rel-v5.2 In conclusion, one potential solution exists, which is to use the ELDK repo, and build the ELDK toolchain for my target. However, I will continue to try to find out why the current yocto master repo is failing, and try to see if I can isolate the problem. I've just finished rebuilding yocto/master with gcc-4.5.1 and eglibc-2.13. So will test it out and let you know how it goes! Thanks for all your help and patience!! Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 15907 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-12 5:27 ` Khem Raj 2012-08-12 20:02 ` Elvis Dowson @ 2012-08-13 16:48 ` Elvis Dowson 2012-08-13 17:01 ` Khem Raj 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-13 16:48 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 4225 bytes --] Hi Khem, On Aug 12, 2012, at 9:27 AM, Khem Raj wrote: > On Sat, Aug 11, 2012 at 8:34 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >> >> I added support for gcc-4.5.1 inside meta-openembedded/toolchain-layer, and got it building against the latest yocto/master branch. >> >> However, switching to gcc-4.5.1 did not fix the issue. >> > > OK. You might want to downgrade the eglibc version to 2.15 and then to > 2.13 if thats around. Success, at last!! :-) I switch to eglib 2.13, and everything works fine!! The problem was with eglibc 2.16. It is broken for powerpc 440 soft float, not sure if the same situation manifests for other target architectures as well. zImage starting: loaded at 0x00800000 (sp: 0x017befa0) Allocating 0x54cf4c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a1aee3)...done 0x42f600 bytes Attached initrd image at 0x00a1b000-0x017bd3d7 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x17cb0e0 PM: Adding info for No Bus:ttyv9 [ 0.581774] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.587332] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.782789] console [ttyS0] enabled [ 0.828259] brd: module loaded [ 0.874773] loop: module loaded [ 0.912055] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.988726] xsysace 83600000.sysace: No CF in slot [ 1.047840] Xilinx SystemACE device driver, major=254 [ 1.108777] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.182300] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.263386] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.357074] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.472040] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.541268] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.640652] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.710344] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.810852] mousedev: PS/2 mouse device common for all mice [ 1.878355] i2c /dev entries driver [ 1.919932] Device Tree Probing 'i2c' [ 1.964188] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.041771] TCP cubic registered [ 2.079648] NET: Registered protocol family 17 [ 2.875052] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.359350] RAMDISK: gzip image found at block 0 [ 3.883252] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.355423] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.452822] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.523399] Freeing unused kernel memory: 160k freed /bin/sh: can't access tty; job control turned off / # ls bin dev home media proc sys usr boot etc lib mnt sbin tmp var / # Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 10757 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-13 16:48 ` Elvis Dowson @ 2012-08-13 17:01 ` Khem Raj 2012-08-13 20:16 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-13 17:01 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Mon, Aug 13, 2012 at 9:48 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > > OK. You might want to downgrade the eglibc version to 2.15 and then to > 2.13 if thats around. > > > Success, at last!! :-) I switch to eglib 2.13, and everything works fine!! > The problem was with eglibc 2.16. It is broken for powerpc 440 soft float, > not sure if the same situation manifests for other target architectures as > well. OK good. Now we should find what broke eglibc. Did you try 2.15 as well ? Want to make sure how far back it goes. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-13 17:01 ` Khem Raj @ 2012-08-13 20:16 ` Elvis Dowson 2012-08-14 3:24 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-13 20:16 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3230 bytes --] Hi Khem, On Aug 13, 2012, at 9:01 PM, Khem Raj wrote: >> Success, at last!! :-) I switch to eglib 2.13, and everything works fine!! >> The problem was with eglibc 2.16. It is broken for powerpc 440 soft float, >> not sure if the same situation manifests for other target architectures as >> well. > > OK good. Now we should find what broke eglibc. Did you try 2.15 as > well ? Want to make sure how far back it goes. I tried with eglibc-2.15 and it's broken for PowerPC 440 soft-float. zImage starting: loaded at 0x00800000 (sp: 0x017e4fa0) Allocating 0x54cf4c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a1aee0)...done 0x42f600 bytes Attached initrd image at 0x00a1b000-0x017e33c3 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x17f10e0 PM: Adding info for No Bus:ttyv9 [ 0.582882] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.588508] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.784008] console [ttyS0] enabled [ 0.829401] brd: module loaded [ 0.876027] loop: module loaded [ 0.913302] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.990015] xsysace 83600000.sysace: No CF in slot [ 1.049035] Xilinx SystemACE device driver, major=254 [ 1.109979] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.183493] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.264571] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.358238] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.473224] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.542456] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.641839] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.711543] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.812133] mousedev: PS/2 mouse device common for all mice [ 1.879716] i2c /dev entries driver [ 1.921305] Device Tree Probing 'i2c' [ 1.965584] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.043255] TCP cubic registered [ 2.081065] NET: Registered protocol family 17 [ 2.875069] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.359365] RAMDISK: gzip image found at block 0 [ 3.883298] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.351431] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.448811] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.519375] Freeing unused kernel memory: 160k freed I get no login prompt. Therefore, both eglibc-2.15 and 2.16 are broken for PowerPC. At the moment, only eglibc-2.13 works. Has anyone else reported issues with getting a boot or login prompt for other architectures, like ARM Cortex-A8, etc? How do you plan on isolating the cause for this issue, for eglibc-2.15? Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 6934 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-13 20:16 ` Elvis Dowson @ 2012-08-14 3:24 ` Elvis Dowson 2012-08-14 3:52 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-14 3:24 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List On Aug 14, 2012, at 12:16 AM, Elvis Dowson wrote: > I get no login prompt. Therefore, both eglibc-2.15 and 2.16 are broken for PowerPC. > > At the moment, only eglibc-2.13 works. I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work. I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK is based off poky/denzil branch. Only the poky/master branch contains the updated gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440 soft float. Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 3:24 ` Elvis Dowson @ 2012-08-14 3:52 ` Khem Raj 2012-08-14 5:43 ` Elvis Dowson 2012-08-14 6:32 ` Elvis Dowson 0 siblings, 2 replies; 49+ messages in thread From: Khem Raj @ 2012-08-14 3:52 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Mon, Aug 13, 2012 at 8:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > > I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work. > > I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK > is based off poky/denzil branch. Only the poky/master branch contains the updated > gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440 > soft float. and how about gcc 4.5 + eglibc 2.16 did you try that ? I am not yet sure if we have narrowed it down to one component. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 3:52 ` Khem Raj @ 2012-08-14 5:43 ` Elvis Dowson 2012-08-14 6:32 ` Elvis Dowson 1 sibling, 0 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-14 5:43 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi, On Aug 14, 2012, at 7:52 AM, Khem Raj wrote: > On Mon, Aug 13, 2012 at 8:24 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: >> >> I tried eglibc-2.13 with the current gcc-4.7 recipe, and that combination doesn't work. >> >> I do know that the Denx ELDK used eglibc-2.13 and the gcc-4.6 recipe. The ELDK >> is based off poky/denzil branch. Only the poky/master branch contains the updated >> gcc-4.7 & eglibc-2.15 & 2.16 recipes, which are right now broken for powerpc440 >> soft float. > > and how about gcc 4.5 + eglibc 2.16 did you try that ? > I am not yet sure if we have narrowed it down to one component. Yes, I tried gcc-4.5.1 and eglibc-2.16, it didn't work. The following combinations didn't work: gcc-4.5.1, eglibc-2.15, binutils-2.22 gcc-4.5.1, eglibc-2.16, binutils-2.22 gcc-4.7.2, eglibc-2.13, binutils-2.22 The combinations that worked are gcc-4.5.1, eglibc-2.13, binutils-2.22 gcc-4.6.3, eglibc-2.13, binutils-2.22 (from the Denx ELDK 5.2.1 release.) I am going to re-verify with the current poky, meta-openembedded/toolchain-layer to ensure that it too builds and works, with gcc-4.6.3 and eglibc-2.13. We can't narrow it down to one component because gcc-4.7.1 + eglibc-2.13 doesnt work, and gcc-4.5.1 + eglibc-2.15 & egblic-2.16 don't work. We've got two variables here, that are causing a failure in dynamic linking (probably). Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 3:52 ` Khem Raj 2012-08-14 5:43 ` Elvis Dowson @ 2012-08-14 6:32 ` Elvis Dowson 2012-08-14 8:26 ` Elvis Dowson 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-14 6:32 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 3819 bytes --] Hi Khem, I also just tried gcc-4.6.3 and eglibc-2.13, and I get a segmentation fault while running /bin/getty, and a kernel panic when running init=/bin/bash, building off poky/master branch recipes. zImage starting: loaded at 0x00800000 (sp: 0x0185dfa0) Allocating 0x548f0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a1563f)...done 0x42b5c0 bytes Attached initrd image at 0x00a16000-0x0185ce95 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x186a0e0 PM: Adding info for No Bus:ttyv9 [ 0.588026] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.593401] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.788848] console [ttyS0] enabled [ 0.834170] brd: module loaded [ 0.880867] loop: module loaded [ 0.918134] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.994836] xsysace 83600000.sysace: No CF in slot [ 1.053840] Xilinx SystemACE device driver, major=254 [ 1.114793] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.188315] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.269388] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.363146] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.477955] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.547173] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.646551] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.716251] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.816836] mousedev: PS/2 mouse device common for all mice [ 1.884361] i2c /dev entries driver [ 1.925909] Device Tree Probing 'i2c' [ 1.970181] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.047926] TCP cubic registered [ 2.085783] NET: Registered protocol family 17 [ 2.882898] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.367192] RAMDISK: gzip image found at block 0 [ 3.891097] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.271270] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.368556] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.439318] Freeing unused kernel memory: 156k freed /bin/sh: can't access tty; job control turned off [ 6.583032] Kernel panic - not syncing: Attempted to kill init! [ 6.653114] Rebooting in 180 seconds.. So, in summary: The following combinations didn't work for the poky/master branch gcc-4.5.1, eglibc-2.15, binutils-2.22 gcc-4.5.1, eglibc-2.16, binutils-2.22 gcc-4.6.3, eglibc-2.13, binutils-2.22 gcc-4.7.2, eglibc-2.13, binutils-2.22 The combinations that worked are gcc-4.5.1, eglibc-2.13, binutils-2.22 (from poky/master) gcc-4.6.3, eglibc-2.13, binutils-2.22 (from the Denx ELDK 5.2.1 release, which corresponds to the denzil release) What would you like me to do next, to try and narrow down this issue? Some things that I can try are: a. build gcc-4.6.3, eglibc-2.13, binutils-2.22 (from poky/denzil branch, to establish a known good build data point) b. try and build gcc-4.8.0, with eglibc-2.13, binutils-2.22 (I prepare a gcc-4.8 recipe already, but need to try it out) c. try eglibc-2.13/2.15/2.16 combination with gcc-4.5.1 and binutils-2.22 on a different architecture (e.g. TI OMAP 3530 ARM Cortex A8 Gumstix Overo, TI OMAP 4430 PandaBoard, Xilinx Zynq-7020 Dual ARM Cortex A9) just to see if the problem manifests on different architectures as well Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 7402 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 6:32 ` Elvis Dowson @ 2012-08-14 8:26 ` Elvis Dowson 2012-08-14 9:54 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-14 8:26 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, On Aug 14, 2012, at 10:32 AM, Elvis Dowson wrote: > Some things that I can try are: > > a. build gcc-4.6.3, eglibc-2.13, binutils-2.22 (from poky/denzil branch, to establish a known good build data point) So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh. Hopefully, that comparison will yield some clues. Best regards, Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 8:26 ` Elvis Dowson @ 2012-08-14 9:54 ` Elvis Dowson 2012-08-14 14:26 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-14 9:54 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 28133 bytes --] Hi Khem, On Aug 14, 2012, at 12:26 PM, Elvis Dowson wrote: > So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh. > > Hopefully, that comparison will yield some clues. I did a comparision betwen the poky/meta and the eldk/meta directories for the denzil branch. The ELDK one is roughly behind by around 2 updates to the denzil branch, I think. One thing that I found, was the the ELDK install the no-float libraries for soft-floating point on the target, whereas the current poky/denzil branch does not: diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb index 9a8b20d..f75ca34 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb @@ -16,8 +16,10 @@ PACKAGES = "\ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" Could this be the reason? Apart from the one above, here are all the other differences under recipes-core. Do let me know if any of them stand-out: diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc index 3c371a7..0db221f 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc @@ -20,12 +20,11 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" # The ld.so in this eglibc supports the GNU_HASH RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)" RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils" -RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace" RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic" RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev" RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev" @@ -49,13 +48,11 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \ ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a" FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" -FILES_${PN}-mtrace = "${bindir}/mtrace" FILES_${PN}-utils = "${bindir}/* ${sbindir}/*" FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" RDEPENDS_${PN}-utils += "bash" -RDEPENDS_${PN}-mtrace += "perl" FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" RPROVIDES_${PN}-dev += "libc-dev" @@ -71,8 +68,6 @@ SUMMARY_ldd = "print shared library dependencies" DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." -SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc" -DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc" DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" inherit libc-common multilib_header diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc index 51061bc..8e3fe50 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc @@ -32,8 +32,6 @@ require eglibc-options.inc LEAD_SONAME = "libc.so" -CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ - ac_cv_path_BASH_SHELL=${base_bindir}/bash" GLIBC_EXTRA_OECONF ?= "" GLIBC_EXTRA_OECONF_virtclass-nativesdk = "" INHIBIT_DEFAULT_DEPS = "1" diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb index 690f99d..d8a41dc 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb @@ -3,7 +3,7 @@ require eglibc.inc SRCREV = "15508" DEPENDS += "gperf-native" -PR = "r28" +PR = "r26" PR_append = "+svnr${SRCPV}" EGLIBC_BRANCH="eglibc-2_13" diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb index f5219d1..713efc3 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb @@ -3,7 +3,7 @@ require eglibc.inc SRCREV = "17386" DEPENDS += "gperf-native" -PR = "r7" +PR = "r6" PR_append = "+svnr${SRCPV}" EGLIBC_BRANCH="eglibc-2_15" diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh index 01ff829..90978dd 100644 --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh +++ b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh @@ -16,7 +16,7 @@ swap_ratio=5 found="no" echo "Searching for a hard drive..." -for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1' +for device in 'hda' 'hdb' 'sda' 'sdb' do if [ -e /sys/block/${device}/removable ]; then if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then @@ -62,7 +62,13 @@ rm -f /etc/udev/scripts/mount* # # Unmount anything the automounter had mounted # -umount /dev/${device}* 2> /dev/null || /bin/true +umount /dev/${device} 2> /dev/null || /bin/true +umount /dev/${device}1 2> /dev/null || /bin/true +umount /dev/${device}2 2> /dev/null || /bin/true +umount /dev/${device}3 2> /dev/null || /bin/true +umount /dev/${device}4 2> /dev/null || /bin/true +umount /dev/${device}5 2> /dev/null || /bin/true +umount /dev/${device}6 2> /dev/null || /bin/true if [ ! -b /dev/sda ] ; then mknod /dev/sda b 8 0 @@ -88,23 +94,14 @@ rootfs_start=$((boot_size + 1)) rootfs_end=$((rootfs_start+rootfs_size)) swap_start=$((rootfs_end+1)) -# MMC devices are special in a couple of ways -# 1) they use a partition prefix character 'p' -# 2) they are detected asynchronously (need rootwait) -rootwait="" -part_prefix="" -if [ ! "${device#mmcblk}" = "${device}" ]; then - part_prefix="p" - rootwait="rootwait" -fi -bootfs=/dev/${device}${part_prefix}1 -rootfs=/dev/${device}${part_prefix}2 -swap=/dev/${device}${part_prefix}3 +bootfs=/dev/${device}1 +rootfs=/dev/${device}2 +swap=/dev/${device}3 echo "*****************" -echo "Boot partition size: $boot_size MB ($bootfs)" -echo "Rootfs partition size: $rootfs_size MB ($rootfs)" -echo "Swap partition size: $swap_size MB ($swap)" +echo "Boot partition size: $boot_size MB (/dev/${device}1)" +echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)" +echo "Swap partition size: $swap_size MB (/dev/${device}3)" echo "*****************" echo "Deleting partition table on /dev/${device} ..." dd if=/dev/zero of=/dev/${device} bs=512 count=2 @@ -112,24 +109,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2 echo "Creating new partition table on /dev/${device} ..." parted /dev/${device} mklabel msdos -echo "Creating boot partition on $bootfs" +echo "Creating boot partition on /dev/${device}1" parted /dev/${device} mkpart primary 1 $boot_size -echo "Creating rootfs partition on $rootfs" +echo "Creating rootfs partition on /dev/${device}2" parted /dev/${device} mkpart primary $rootfs_start $rootfs_end -echo "Creating swap partition on $swap" +echo "Creating swap partition on /dev/${device}3" parted /dev/${device} mkpart primary $swap_start $disk_size parted /dev/${device} print -echo "Formatting $bootfs to ext2..." +echo "Formatting /dev/${device}1 to ext2..." mkfs.ext3 $bootfs -echo "Formatting $rootfs to ext3..." +echo "Formatting /dev/${device}2 to ext3..." mkfs.ext3 $rootfs -echo "Formatting swap partition...($swap)" +echo "Formatting swap partition...(/dev/${device}3)" mkswap $swap mkdir /ssd @@ -153,7 +150,7 @@ fi if [ -f /ssd/etc/grub.d/40_custom ] ; then echo "Preparing custom grub2 menu..." - sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom + sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom mount $bootfs /bootmnt diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb index ac73ef8..793a4b7 100644 --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb +++ b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb @@ -3,7 +3,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" SRC_URI = "file://init-install.sh" -PR = "r7" +PR = "r6" RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs" diff --git a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc index b031119..ae99e2c 100644 --- a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc +++ b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc SECTION = "libs" DEPENDS = "ncurses-native" DEPENDS_virtclass-native = "" -INC_PR = "r9" +INC_PR = "r8" inherit autotools binconfig multilib_header @@ -107,15 +107,10 @@ do_test() { diff curses-narrowc.h curses-widec.h } -# Split original _install_opts to two parts. -# One is the options to install contents, the other is the parameters \ -# when running command "make install" _install_opts = "\ - install.libs install.includes install.man \ -" -_install_cfgs = "\ DESTDIR='${D}' \ PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ + install.libs install.includes install.man \ " python do_install () { @@ -127,19 +122,11 @@ shell_do_install() { # Order of installation is important; widec installs a 'curses.h' # header with more definitions and must be installed last hence. # Compatibility of these headers will be checked in 'do_test()'. - oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \ - install.progs - - # The install.data should run after install.libs, otherwise - # there would be a race issue in a very critical conditon, since - # tic will be run by install.data, and tic needs libtinfo.so - # which would be regenerated by install.libs. - oe_runmake -C narrowc ${_install_cfgs} \ - install.data - + oe_runmake -C narrowc ${_install_opts} \ + install.data install.progs ! ${ENABLE_WIDEC} || \ - oe_runmake -C widec ${_install_cfgs} ${_install_opts} + oe_runmake -C widec ${_install_opts} cd narrowc diff --git a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb index 1dddbb8..3c92f3f 100644 --- a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb +++ b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb @@ -17,14 +17,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" ALLOW_EMPTY = "1" -MTRACE = "" -MTRACE_libc-glibc = "libc-mtrace" - RDEPENDS_${PN} = "\ gdb \ gdbserver \ tcf-agent \ rsync \ strace \ - ${MTRACE} \ " diff --git a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc index 55ab0c9..893d8fd 100644 --- a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc +++ b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc @@ -13,7 +13,7 @@ SECTION = "libs" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \ file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960" -INC_PR = "r7" +INC_PR = "r6" require uclibc-config.inc STAGINGCC = "gcc-cross-intermediate" @@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev" INHIBIT_DEFAULT_DEPS = "1" -# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow -# *_nonshared.a libraries to be packaged in the uclibc-dev package. -PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" +PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace" +PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm" +PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so" FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so" @@ -88,8 +88,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" # uclibc does not really have libsegfault but then using the one from glibc is also not # going to work. So we pretend that we have it to make bitbake not pull other recipes # to satisfy this dependency for the images/tasks - -RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)" +RPROVIDES_uclibc += "libsegfault" SRC_URI = "\ http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \ diff --git a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc index 552b808..e343242 100644 --- a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc +++ b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc @@ -32,7 +32,6 @@ FILES_${PN}-symlinks = " \ ${bindir}/addr2line \ ${bindir}/as \ ${bindir}/c++filt \ - ${bindir}/embedspu \ ${bindir}/gprof \ ${bindir}/ld \ ${bindir}/ld.bfd \ diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch deleted file mode 100644 index a5d6b61..0000000 --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001 -From: Guillem Jover <guillem@debian.org> -Date: Thu, 4 Nov 2010 00:51:13 +0100 -Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O - -Behaviour of fflush() on input streams is undefined per POSIX, avoid -mixing stream and file descriptor based I/O, and only use the latter -instead. - -Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x) - ---- - dpkg-deb/extract.c | 83 ++++++++++++++++++++++++++++++++++++++------------- - 1 files changed, 62 insertions(+), 21 deletions(-) - -diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c -index 22aea98..0f5ac88 100644 ---- a/dpkg-deb/extract.c -+++ b/dpkg-deb/extract.c -@@ -31,6 +31,7 @@ - #include <ctype.h> - #include <string.h> - #include <dirent.h> -+#include <fcntl.h> - #include <unistd.h> - #include <ar.h> - #include <stdbool.h> -@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) { - } - - static void DPKG_ATTR_NORET --readfail(FILE *a, const char *filename, const char *what) -+read_fail(int rc, const char *filename, const char *what) - { -- if (ferror(a)) { -- ohshite(_("error reading %s from file %.255s"), what, filename); -- } else { -+ if (rc == 0) - ohshit(_("unexpected end of file in %s in %.255s"),what,filename); -+ else -+ ohshite(_("error reading %s from file %.255s"), what, filename); -+} -+ -+static ssize_t -+read_line(int fd, char *buf, size_t min_size, size_t max_size) -+{ -+ ssize_t line_size = 0; -+ size_t n = min_size; -+ -+ while (line_size < (ssize_t)max_size) { -+ ssize_t r; -+ char *nl; -+ -+ r = read(fd, buf + line_size, n); -+ if (r <= 0) -+ return r; -+ -+ nl = strchr(buf + line_size, '\n'); -+ line_size += r; -+ -+ if (nl != NULL) { -+ nl[1] = '\0'; -+ return line_size; -+ } -+ -+ n = 1; - } -+ -+ buf[line_size] = '\0'; -+ return line_size; - } - - static size_t -@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory, - char versionbuf[40]; - float versionnum; - size_t ctrllennum, memberlen= 0; -+ ssize_t r; - int dummy; - pid_t c1=0,c2,c3; - int p1[2], p2[2]; -- FILE *ar; -+ int arfd; - struct stat stab; - char nlc; - int adminmember; - bool oldformat, header_done; - struct compressor *decompressor = &compressor_gzip; - -- ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar); -- if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive")); -- if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number")); -+ arfd = open(debar, O_RDONLY); -+ if (arfd < 0) -+ ohshite(_("failed to read archive `%.255s'"), debar); -+ if (fstat(arfd, &stab)) -+ ohshite(_("failed to fstat archive")); -+ -+ r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf)); -+ if (r < 0) -+ read_fail(r, debar, _("archive magic version number")); - - if (!strcmp(versionbuf, DPKG_AR_MAGIC)) { - oldformat = false; -@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory, - for (;;) { - struct ar_hdr arh; - -- if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh)) -- readfail(ar,debar,_("between members")); -+ r = read(arfd, &arh, sizeof(arh)); -+ if (r != sizeof(arh)) -+ read_fail(r, debar, _("archive member header")); - - dpkg_ar_normalize_name(&arh); - -@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory, - if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0) - ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar); - infobuf= m_malloc(memberlen+1); -- if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1)) -- readfail(ar,debar,_("header info member")); -+ r = read(arfd, infobuf, memberlen + (memberlen & 1)); -+ if ((size_t)r != (memberlen + (memberlen & 1))) -+ read_fail(r, debar, _("archive information header member")); - infobuf[memberlen] = '\0'; - cur= strchr(infobuf,'\n'); - if (!cur) ohshit(_("archive has no newlines in header")); -@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory, - /* Members with `_' are noncritical, and if we don't understand them - * we skip them. - */ -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); -+ fd_null_copy(arfd, memberlen + (memberlen & 1), -+ _("skipped archive member data from %s"), debar); - } else { - if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0) - adminmember = 1; -@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory, - ctrllennum= memberlen; - } - if (!adminmember != !admininfo) { -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); -+ fd_null_copy(arfd, memberlen + (memberlen & 1), -+ _("skipped archive member data from %s"), debar); - } else { - break; /* Yes ! - found it. */ - } -@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory, - l = strlen(versionbuf); - if (l && versionbuf[l - 1] == '\n') - versionbuf[l - 1] = '\0'; -- if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar)) -- readfail(ar, debar, _("control information length")); -+ -+ r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf)); -+ if (r < 0) -+ read_fail(r, debar, _("archive control member size")); - if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n') - ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf); - -@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory, - memberlen = ctrllennum; - } else { - memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l; -- stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar); -+ fd_null_copy(arfd, ctrllennum, -+ _("skipped archive control member data from %s"), debar); - } - - if (admininfo >= 2) { -@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory, - - } - -- safe_fflush(ar); -- - m_pipe(p1); - c1 = subproc_fork(); - if (!c1) { - close(p1[0]); -- stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy")); -+ fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy")); - if (close(p1[1])) - ohshite(_("failed to close pipe in copy")); - exit(0); -@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory, - decompress_filter(decompressor, 0, 1, _("data")); - } - close(p1[0]); -- fclose(ar); -+ close(arfd); - if (taroption) close(p2[1]); - - if (taroption && directory) { --- -1.7.7.6 - diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb index 1e7ef25..f1030fa 100644 --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb +++ b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb @@ -5,11 +5,10 @@ SRC_URI += "file://noman.patch \ file://check_snprintf.patch \ file://check_version.patch \ file://perllibdir.patch \ - file://preinst.patch \ - file://dpkg-deb-avoid-fflush.patch" + file://preinst.patch" SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" -PR = "${INC_PR}.4" +PR = "${INC_PR}.3" diff --git a/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch new file mode 100644 index 0000000..4786f95 --- /dev/null +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch @@ -0,0 +1,10 @@ +--- gcc-4_6-branch/gcc/config/mips/t-mips.orig 2011-09-03 05:58:07.000000000 +0300 ++++ gcc-4_6-branch/gcc/config/mips/t-mips 2011-10-18 19:14:39.000000000 +0300 +@@ -39,3 +39,7 @@ + cat $(srcdir)/config/fp-bit.c >> fp-bit.c + + LIB2_SIDITI_CONV_FUNCS=yes ++ ++MULTILIB_OPTIONS = msoft-float ++MULTILIB_DIRNAMES = nof ++MULTILIB_MATCHES = diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc index 020e21b..9fd152a 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc @@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ file://fortran-cross-compile-hack.patch \ file://cpp-honour-sysroot.patch \ + file://t-mips.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc index 9542dc9..da60089 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -25,7 +25,8 @@ EXTRA_OECONF_PATHS ?= "" EXTRA_OECONF_INITIAL ?= "" EXTRA_OECONF_INTERMEDIATE ?= "" -GCCMULTILIB = "--disable-multilib" +MULTILIB_ARCH_LIST = "mips" +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ --with-gnu-ld \ diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc index a499c88..3076670 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc @@ -1,5 +1,5 @@ PACKAGES = "\ - ${PN} ${PN}-plugins ${PN}-symlinks \ + ${PN} ${PN}-symlinks \ g++ g++-symlinks \ cpp cpp-symlinks \ g77 g77-symlinks \ @@ -40,11 +40,6 @@ FILES_${PN}-symlinks = "\ ${bindir}/gccbug \ " -FILES_${PN}-plugins = "\ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \ -" -ALLOW_EMPTY_${PN}-plugins = "1" - FILES_g77 = "\ ${bindir}/${TARGET_PREFIX}g77 \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \ @@ -93,7 +88,6 @@ do_install () { rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la - rmdir ${D}${includedir} # Hack around specs file assumptions test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb index 9a8b20d..f75ca34 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb @@ -16,8 +16,10 @@ PACKAGES = "\ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 79974 bytes --] ^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 9:54 ` Elvis Dowson @ 2012-08-14 14:26 ` Khem Raj 2012-08-17 5:48 ` Khem Raj 0 siblings, 1 reply; 49+ messages in thread From: Khem Raj @ 2012-08-14 14:26 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 29681 bytes --] -Khem On Aug 14, 2012, at 2:54 AM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi Khem, > > On Aug 14, 2012, at 12:26 PM, Elvis Dowson wrote: > >> So gcc-4.6.3, eglibc-2.13, from poky/denzil branch also failed, the same as the poky/master branch with gcc-4.6.3, eglibc-2.13. So I guess the I'll need to do a diff between the Denx ELDK 5.2.1 release, which is based on poky/denzil, and that of the current poky/denzil branch to see which recipes are different, and to try and isolate the cause of the kernel panics, when trying to run init=/bash/sh. >> >> Hopefully, that comparison will yield some clues. There are differences in eglibc.inc and initrd recipes. Try to see if they make difference Also the libgcc one after the above two > > I did a comparision betwen the poky/meta and the eldk/meta directories for the denzil branch. The ELDK one is roughly behind by around 2 updates to the denzil branch, I think. > > One thing that I found, was the the ELDK install the no-float libraries for soft-floating point on the target, whereas the current poky/denzil branch does not: > > diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb > index 9a8b20d..f75ca34 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb > +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb > @@ -16,8 +16,10 @@ PACKAGES = "\ > FILES_${PN} = "${base_libdir}/libgcc*.so.*" > FILES_${PN}-dev = " \ > ${base_libdir}/libgcc*.so \ > - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ > - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" > + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" > FILES_libgcov${PKGSUFFIX}-dev = " \ > ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" > > Could this be the reason? Apart from the one above, here are all the other differences under recipes-core. Do let me know if any of them stand-out: > > diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc > index 3c371a7..0db221f 100644 > --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc > +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc > @@ -20,12 +20,11 @@ USE_LDCONFIG ?= "1" > PKGSUFFIX = "" > PKGSUFFIX_virtclass-nativesdk = "-nativesdk" > > -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" > +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" > > # The ld.so in this eglibc supports the GNU_HASH > RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)" > RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils" > -RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace" > RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic" > RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev" > RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev" > @@ -49,13 +48,11 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \ > ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" > FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a" > FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" > -FILES_${PN}-mtrace = "${bindir}/mtrace" > FILES_${PN}-utils = "${bindir}/* ${sbindir}/*" > FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" > FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" > RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" > RDEPENDS_${PN}-utils += "bash" > -RDEPENDS_${PN}-mtrace += "perl" > FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" > FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" > RPROVIDES_${PN}-dev += "libc-dev" > @@ -71,8 +68,6 @@ SUMMARY_ldd = "print shared library dependencies" > DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." > SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" > DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." > -SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc" > -DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc" > DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" > > inherit libc-common multilib_header > diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc > index 51061bc..8e3fe50 100644 > --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc > +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc > @@ -32,8 +32,6 @@ require eglibc-options.inc > > LEAD_SONAME = "libc.so" > > -CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ > - ac_cv_path_BASH_SHELL=${base_bindir}/bash" > GLIBC_EXTRA_OECONF ?= "" > GLIBC_EXTRA_OECONF_virtclass-nativesdk = "" > INHIBIT_DEFAULT_DEPS = "1" > diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb > index 690f99d..d8a41dc 100644 > --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb > +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb > @@ -3,7 +3,7 @@ require eglibc.inc > SRCREV = "15508" > > DEPENDS += "gperf-native" > -PR = "r28" > +PR = "r26" > PR_append = "+svnr${SRCPV}" > > EGLIBC_BRANCH="eglibc-2_13" > diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb > index f5219d1..713efc3 100644 > --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb > +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb > @@ -3,7 +3,7 @@ require eglibc.inc > SRCREV = "17386" > > DEPENDS += "gperf-native" > -PR = "r7" > +PR = "r6" > PR_append = "+svnr${SRCPV}" > > EGLIBC_BRANCH="eglibc-2_15" > diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh > index 01ff829..90978dd 100644 > --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh > +++ b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh > @@ -16,7 +16,7 @@ swap_ratio=5 > found="no" > > echo "Searching for a hard drive..." > -for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1' > +for device in 'hda' 'hdb' 'sda' 'sdb' > do > if [ -e /sys/block/${device}/removable ]; then > if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then > @@ -62,7 +62,13 @@ rm -f /etc/udev/scripts/mount* > # > # Unmount anything the automounter had mounted > # > -umount /dev/${device}* 2> /dev/null || /bin/true > +umount /dev/${device} 2> /dev/null || /bin/true > +umount /dev/${device}1 2> /dev/null || /bin/true > +umount /dev/${device}2 2> /dev/null || /bin/true > +umount /dev/${device}3 2> /dev/null || /bin/true > +umount /dev/${device}4 2> /dev/null || /bin/true > +umount /dev/${device}5 2> /dev/null || /bin/true > +umount /dev/${device}6 2> /dev/null || /bin/true > > if [ ! -b /dev/sda ] ; then > mknod /dev/sda b 8 0 > @@ -88,23 +94,14 @@ rootfs_start=$((boot_size + 1)) > rootfs_end=$((rootfs_start+rootfs_size)) > swap_start=$((rootfs_end+1)) > > -# MMC devices are special in a couple of ways > -# 1) they use a partition prefix character 'p' > -# 2) they are detected asynchronously (need rootwait) > -rootwait="" > -part_prefix="" > -if [ ! "${device#mmcblk}" = "${device}" ]; then > - part_prefix="p" > - rootwait="rootwait" > -fi > -bootfs=/dev/${device}${part_prefix}1 > -rootfs=/dev/${device}${part_prefix}2 > -swap=/dev/${device}${part_prefix}3 > +bootfs=/dev/${device}1 > +rootfs=/dev/${device}2 > +swap=/dev/${device}3 > > echo "*****************" > -echo "Boot partition size: $boot_size MB ($bootfs)" > -echo "Rootfs partition size: $rootfs_size MB ($rootfs)" > -echo "Swap partition size: $swap_size MB ($swap)" > +echo "Boot partition size: $boot_size MB (/dev/${device}1)" > +echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)" > +echo "Swap partition size: $swap_size MB (/dev/${device}3)" > echo "*****************" > echo "Deleting partition table on /dev/${device} ..." > dd if=/dev/zero of=/dev/${device} bs=512 count=2 > @@ -112,24 +109,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2 > echo "Creating new partition table on /dev/${device} ..." > parted /dev/${device} mklabel msdos > > -echo "Creating boot partition on $bootfs" > +echo "Creating boot partition on /dev/${device}1" > parted /dev/${device} mkpart primary 1 $boot_size > > -echo "Creating rootfs partition on $rootfs" > +echo "Creating rootfs partition on /dev/${device}2" > parted /dev/${device} mkpart primary $rootfs_start $rootfs_end > > -echo "Creating swap partition on $swap" > +echo "Creating swap partition on /dev/${device}3" > parted /dev/${device} mkpart primary $swap_start $disk_size > > parted /dev/${device} print > > -echo "Formatting $bootfs to ext2..." > +echo "Formatting /dev/${device}1 to ext2..." > mkfs.ext3 $bootfs > > -echo "Formatting $rootfs to ext3..." > +echo "Formatting /dev/${device}2 to ext3..." > mkfs.ext3 $rootfs > > -echo "Formatting swap partition...($swap)" > +echo "Formatting swap partition...(/dev/${device}3)" > mkswap $swap > > mkdir /ssd > @@ -153,7 +150,7 @@ fi > > if [ -f /ssd/etc/grub.d/40_custom ] ; then > echo "Preparing custom grub2 menu..." > - sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom > + sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom > sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom > sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom > mount $bootfs /bootmnt > diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb > index ac73ef8..793a4b7 100644 > --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb > +++ b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb > @@ -3,7 +3,7 @@ LICENSE = "MIT" > LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" > SRC_URI = "file://init-install.sh" > > -PR = "r7" > +PR = "r6" > > RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs" > > diff --git a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc > index b031119..ae99e2c 100644 > --- a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc > +++ b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc > @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc > SECTION = "libs" > DEPENDS = "ncurses-native" > DEPENDS_virtclass-native = "" > -INC_PR = "r9" > +INC_PR = "r8" > > inherit autotools binconfig multilib_header > > @@ -107,15 +107,10 @@ do_test() { > diff curses-narrowc.h curses-widec.h > } > > -# Split original _install_opts to two parts. > -# One is the options to install contents, the other is the parameters \ > -# when running command "make install" > _install_opts = "\ > - install.libs install.includes install.man \ > -" > -_install_cfgs = "\ > DESTDIR='${D}' \ > PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ > + install.libs install.includes install.man \ > " > > python do_install () { > @@ -127,19 +122,11 @@ shell_do_install() { > # Order of installation is important; widec installs a 'curses.h' > # header with more definitions and must be installed last hence. > # Compatibility of these headers will be checked in 'do_test()'. > - oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \ > - install.progs > - > - # The install.data should run after install.libs, otherwise > - # there would be a race issue in a very critical conditon, since > - # tic will be run by install.data, and tic needs libtinfo.so > - # which would be regenerated by install.libs. > - oe_runmake -C narrowc ${_install_cfgs} \ > - install.data > - > + oe_runmake -C narrowc ${_install_opts} \ > + install.data install.progs > > ! ${ENABLE_WIDEC} || \ > - oe_runmake -C widec ${_install_cfgs} ${_install_opts} > + oe_runmake -C widec ${_install_opts} > > cd narrowc > > diff --git a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb > index 1dddbb8..3c92f3f 100644 > --- a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb > +++ b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb > @@ -17,14 +17,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" > > ALLOW_EMPTY = "1" > > -MTRACE = "" > -MTRACE_libc-glibc = "libc-mtrace" > - > RDEPENDS_${PN} = "\ > gdb \ > gdbserver \ > tcf-agent \ > rsync \ > strace \ > - ${MTRACE} \ > " > diff --git a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc > index 55ab0c9..893d8fd 100644 > --- a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc > +++ b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc > @@ -13,7 +13,7 @@ SECTION = "libs" > LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ > file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \ > file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960" > -INC_PR = "r7" > +INC_PR = "r6" > > require uclibc-config.inc > STAGINGCC = "gcc-cross-intermediate" > @@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev" > > INHIBIT_DEFAULT_DEPS = "1" > > -# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow > -# *_nonshared.a libraries to be packaged in the uclibc-dev package. > -PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" > +PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace" > +PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm" > +PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" > > FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so" > FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so" > @@ -88,8 +88,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" > # uclibc does not really have libsegfault but then using the one from glibc is also not > # going to work. So we pretend that we have it to make bitbake not pull other recipes > # to satisfy this dependency for the images/tasks > - > -RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)" > +RPROVIDES_uclibc += "libsegfault" > > SRC_URI = "\ > http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2;name=uClibc-${PV} \ > diff --git a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc > index 552b808..e343242 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc > +++ b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc > @@ -32,7 +32,6 @@ FILES_${PN}-symlinks = " \ > ${bindir}/addr2line \ > ${bindir}/as \ > ${bindir}/c++filt \ > - ${bindir}/embedspu \ > ${bindir}/gprof \ > ${bindir}/ld \ > ${bindir}/ld.bfd \ > diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch > deleted file mode 100644 > index a5d6b61..0000000 > --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch > +++ /dev/null > @@ -1,198 +0,0 @@ > -From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001 > -From: Guillem Jover <guillem@debian.org> > -Date: Thu, 4 Nov 2010 00:51:13 +0100 > -Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O > - > -Behaviour of fflush() on input streams is undefined per POSIX, avoid > -mixing stream and file descriptor based I/O, and only use the latter > -instead. > - > -Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x) > - > ---- > - dpkg-deb/extract.c | 83 ++++++++++++++++++++++++++++++++++++++------------- > - 1 files changed, 62 insertions(+), 21 deletions(-) > - > -diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c > -index 22aea98..0f5ac88 100644 > ---- a/dpkg-deb/extract.c > -+++ b/dpkg-deb/extract.c > -@@ -31,6 +31,7 @@ > - #include <ctype.h> > - #include <string.h> > - #include <dirent.h> > -+#include <fcntl.h> > - #include <unistd.h> > - #include <ar.h> > - #include <stdbool.h> > -@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) { > - } > - > - static void DPKG_ATTR_NORET > --readfail(FILE *a, const char *filename, const char *what) > -+read_fail(int rc, const char *filename, const char *what) > - { > -- if (ferror(a)) { > -- ohshite(_("error reading %s from file %.255s"), what, filename); > -- } else { > -+ if (rc == 0) > - ohshit(_("unexpected end of file in %s in %.255s"),what,filename); > -+ else > -+ ohshite(_("error reading %s from file %.255s"), what, filename); > -+} > -+ > -+static ssize_t > -+read_line(int fd, char *buf, size_t min_size, size_t max_size) > -+{ > -+ ssize_t line_size = 0; > -+ size_t n = min_size; > -+ > -+ while (line_size < (ssize_t)max_size) { > -+ ssize_t r; > -+ char *nl; > -+ > -+ r = read(fd, buf + line_size, n); > -+ if (r <= 0) > -+ return r; > -+ > -+ nl = strchr(buf + line_size, '\n'); > -+ line_size += r; > -+ > -+ if (nl != NULL) { > -+ nl[1] = '\0'; > -+ return line_size; > -+ } > -+ > -+ n = 1; > - } > -+ > -+ buf[line_size] = '\0'; > -+ return line_size; > - } > - > - static size_t > -@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory, > - char versionbuf[40]; > - float versionnum; > - size_t ctrllennum, memberlen= 0; > -+ ssize_t r; > - int dummy; > - pid_t c1=0,c2,c3; > - int p1[2], p2[2]; > -- FILE *ar; > -+ int arfd; > - struct stat stab; > - char nlc; > - int adminmember; > - bool oldformat, header_done; > - struct compressor *decompressor = &compressor_gzip; > - > -- ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar); > -- if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive")); > -- if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number")); > -+ arfd = open(debar, O_RDONLY); > -+ if (arfd < 0) > -+ ohshite(_("failed to read archive `%.255s'"), debar); > -+ if (fstat(arfd, &stab)) > -+ ohshite(_("failed to fstat archive")); > -+ > -+ r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf)); > -+ if (r < 0) > -+ read_fail(r, debar, _("archive magic version number")); > - > - if (!strcmp(versionbuf, DPKG_AR_MAGIC)) { > - oldformat = false; > -@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory, > - for (;;) { > - struct ar_hdr arh; > - > -- if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh)) > -- readfail(ar,debar,_("between members")); > -+ r = read(arfd, &arh, sizeof(arh)); > -+ if (r != sizeof(arh)) > -+ read_fail(r, debar, _("archive member header")); > - > - dpkg_ar_normalize_name(&arh); > - > -@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory, > - if (strncmp(arh.ar_name, DEBMAGIC, sizeof(arh.ar_name)) != 0) > - ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar); > - infobuf= m_malloc(memberlen+1); > -- if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1)) > -- readfail(ar,debar,_("header info member")); > -+ r = read(arfd, infobuf, memberlen + (memberlen & 1)); > -+ if ((size_t)r != (memberlen + (memberlen & 1))) > -+ read_fail(r, debar, _("archive information header member")); > - infobuf[memberlen] = '\0'; > - cur= strchr(infobuf,'\n'); > - if (!cur) ohshit(_("archive has no newlines in header")); > -@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory, > - /* Members with `_' are noncritical, and if we don't understand them > - * we skip them. > - */ > -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); > -+ fd_null_copy(arfd, memberlen + (memberlen & 1), > -+ _("skipped archive member data from %s"), debar); > - } else { > - if (strncmp(arh.ar_name, ADMINMEMBER, sizeof(arh.ar_name)) == 0) > - adminmember = 1; > -@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory, > - ctrllennum= memberlen; > - } > - if (!adminmember != !admininfo) { > -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); > -+ fd_null_copy(arfd, memberlen + (memberlen & 1), > -+ _("skipped archive member data from %s"), debar); > - } else { > - break; /* Yes ! - found it. */ > - } > -@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory, > - l = strlen(versionbuf); > - if (l && versionbuf[l - 1] == '\n') > - versionbuf[l - 1] = '\0'; > -- if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar)) > -- readfail(ar, debar, _("control information length")); > -+ > -+ r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf)); > -+ if (r < 0) > -+ read_fail(r, debar, _("archive control member size")); > - if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n') > - ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf); > - > -@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory, > - memberlen = ctrllennum; > - } else { > - memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l; > -- stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar); > -+ fd_null_copy(arfd, ctrllennum, > -+ _("skipped archive control member data from %s"), debar); > - } > - > - if (admininfo >= 2) { > -@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory, > - > - } > - > -- safe_fflush(ar); > -- > - m_pipe(p1); > - c1 = subproc_fork(); > - if (!c1) { > - close(p1[0]); > -- stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy")); > -+ fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy")); > - if (close(p1[1])) > - ohshite(_("failed to close pipe in copy")); > - exit(0); > -@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory, > - decompress_filter(decompressor, 0, 1, _("data")); > - } > - close(p1[0]); > -- fclose(ar); > -+ close(arfd); > - if (taroption) close(p2[1]); > - > - if (taroption && directory) { > --- > -1.7.7.6 > - > diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb > index 1e7ef25..f1030fa 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb > +++ b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb > @@ -5,11 +5,10 @@ SRC_URI += "file://noman.patch \ > file://check_snprintf.patch \ > file://check_version.patch \ > file://perllibdir.patch \ > - file://preinst.patch \ > - file://dpkg-deb-avoid-fflush.patch" > + file://preinst.patch" > > SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" > SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" > > -PR = "${INC_PR}.4" > +PR = "${INC_PR}.3" > > diff --git a/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch > new file mode 100644 > index 0000000..4786f95 > --- /dev/null > +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch > @@ -0,0 +1,10 @@ > +--- gcc-4_6-branch/gcc/config/mips/t-mips.orig 2011-09-03 05:58:07.000000000 +0300 > ++++ gcc-4_6-branch/gcc/config/mips/t-mips 2011-10-18 19:14:39.000000000 +0300 > +@@ -39,3 +39,7 @@ > + cat $(srcdir)/config/fp-bit.c >> fp-bit.c > + > + LIB2_SIDITI_CONV_FUNCS=yes > ++ > ++MULTILIB_OPTIONS = msoft-float > ++MULTILIB_DIRNAMES = nof > ++MULTILIB_MATCHES = > diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc > index 020e21b..9fd152a 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc > +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc > @@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ > file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ > file://fortran-cross-compile-hack.patch \ > file://cpp-honour-sysroot.patch \ > + file://t-mips.patch \ > " > > SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " > diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc > index 9542dc9..da60089 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc > +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc > @@ -25,7 +25,8 @@ EXTRA_OECONF_PATHS ?= "" > EXTRA_OECONF_INITIAL ?= "" > EXTRA_OECONF_INTERMEDIATE ?= "" > > -GCCMULTILIB = "--disable-multilib" > +MULTILIB_ARCH_LIST = "mips" > +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' > > EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ > --with-gnu-ld \ > diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc > index a499c88..3076670 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc > +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc > @@ -1,5 +1,5 @@ > PACKAGES = "\ > - ${PN} ${PN}-plugins ${PN}-symlinks \ > + ${PN} ${PN}-symlinks \ > g++ g++-symlinks \ > cpp cpp-symlinks \ > g77 g77-symlinks \ > @@ -40,11 +40,6 @@ FILES_${PN}-symlinks = "\ > ${bindir}/gccbug \ > " > > -FILES_${PN}-plugins = "\ > - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \ > -" > -ALLOW_EMPTY_${PN}-plugins = "1" > - > FILES_g77 = "\ > ${bindir}/${TARGET_PREFIX}g77 \ > ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \ > @@ -93,7 +88,6 @@ do_install () { > rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools > rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools > rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la > - rmdir ${D}${includedir} > > # Hack around specs file assumptions > test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs > diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb > index 9a8b20d..f75ca34 100644 > --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb > +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb > @@ -16,8 +16,10 @@ PACKAGES = "\ > FILES_${PN} = "${base_libdir}/libgcc*.so.*" > FILES_${PN}-dev = " \ > ${base_libdir}/libgcc*.so \ > - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ > - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" > + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" > FILES_libgcov${PKGSUFFIX}-dev = " \ > ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" > > > Best regards, > > Elvis Dowson [-- Attachment #2: Type: text/html, Size: 80398 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-14 14:26 ` Khem Raj @ 2012-08-17 5:48 ` Khem Raj 2012-08-17 7:21 ` Elvis Dowson 2012-08-19 6:08 ` Elvis Dowson 0 siblings, 2 replies; 49+ messages in thread From: Khem Raj @ 2012-08-17 5:48 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote: > > There are differences in eglibc.inc and initrd recipes. Try to see if they > make difference > Also the libgcc one after the above two Elvis Did you try the above ? I have pushed a patch into my contrib tree. http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385 can you try that out and see if it helps with gcc 4.7 ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-17 5:48 ` Khem Raj @ 2012-08-17 7:21 ` Elvis Dowson 2012-08-19 6:08 ` Elvis Dowson 1 sibling, 0 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-17 7:21 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, On Aug 17, 2012, at 9:48 AM, Khem Raj wrote: > On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote: >> >> There are differences in eglibc.inc and initrd recipes. Try to see if they >> make difference >> Also the libgcc one after the above two > > Did you try the above ? I took a slight detour, the past 2 days, trying to use icecc, to reduce my build time across two quad-core i7 Ubuntu machines, but that didn't work for some reason. No workloads got distributed across to the second machine. I'll get back to continuing these tests this weekend. > I have pushed a patch into my contrib tree. > > http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385 > > can you try that out and see if it helps with gcc 4.7 Will do that for sure! :-) Best regards, Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-17 5:48 ` Khem Raj 2012-08-17 7:21 ` Elvis Dowson @ 2012-08-19 6:08 ` Elvis Dowson 2012-08-19 6:13 ` Elvis Dowson 1 sibling, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-19 6:08 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List Hi Khem, On Aug 17, 2012, at 9:48 AM, Khem Raj wrote: > On Tue, Aug 14, 2012 at 7:26 AM, Khem Raj <raj.khem@gmail.com> wrote: >> >> There are differences in eglibc.inc and initrd recipes. Try to see if they >> make difference >> Also the libgcc one after the above two > > Elvis > > Did you try the above ? > I have pushed a patch into my contrib tree. > > http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=502a61792cdb219c1ee35bb9474b8f0c4b007385 > > can you try that out and see if it helps with gcc 4.7 I had to manually apply the patch to poky/master. The gcc-4.7 patch alone didn't fix the issue with not getting a bash prompt, which makes sense I guess, since the eglibc recipes also need to be modified to ensure that the soft-float libraries are also generated into the target root filesystem. I'll now, make the necessary changes to eglibc-2.13, in poky/master, with gcc-4.7, and see if it works. If it does, then I'll adapt the same solution for eglibc-2.15, eglibc-2.16, and gcc-4.6 recipes, and sent them across. Best regards, Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-19 6:08 ` Elvis Dowson @ 2012-08-19 6:13 ` Elvis Dowson 2012-08-19 6:36 ` Elvis Dowson 0 siblings, 1 reply; 49+ messages in thread From: Elvis Dowson @ 2012-08-19 6:13 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 1009 bytes --] hi Khem, On Aug 19, 2012, at 10:08 AM, Elvis Dowson wrote: > I'll now, make the necessary changes to eglibc-2.13, in poky/master, with gcc-4.7, and see if it works. Sorry, I meant to say libgcc-4.7 diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb index 9a8b20d..f75ca34 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb @@ -16,8 +16,10 @@ PACKAGES = "\ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 2526 bytes --] ^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-19 6:13 ` Elvis Dowson @ 2012-08-19 6:36 ` Elvis Dowson 2012-08-19 7:51 ` Elvis Dowson 2012-08-19 16:07 ` Khem Raj 0 siblings, 2 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-19 6:36 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 2252 bytes --] Hi Khem, What should I do to enable multilib in gcc-4.7? I think at the moment, in gcc-configure-common.inc, it is disabled. If I were to re-enable it as follows, based on what I've diff'd from the Denx ELDK repo, what how does the GCCMULTILIB variable evaluate? -GCCMULTILIB = "--disable-multilib" +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' I think multilib has to be enabled, no? In file gcc/config/rs6000/t-ppcos.c # Multilibs for a powerpc hosted ELF target (linux, SVR4) MULTILIB_OPTIONS = msoft-float MULTILIB_DIRNAMES = nof MULTILIB_EXTRA_OPTS = fPIC mstrict-align MULTILIB_EXCEPTIONS = MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} Here is the full patch, which I am assuming enables multilib, and get libgcc to generate the nof libraries to the target: diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index 908ad3e..a3fa294 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= "" EXTRA_OECONF_INITIAL ?= "" EXTRA_OECONF_INTERMEDIATE ?= "" -GCCMULTILIB = "--disable-multilib" +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ --with-gnu-ld \ diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb b/meta/recipes-devtools/gcc/libgcc_4.7.bb index c796253..aac81f6 100644 --- a/meta/recipes-devtools/gcc/libgcc_4.7.bb +++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb @@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ " Best regards, Elvis Dowson [-- Attachment #2: Type: text/html, Size: 5682 bytes --] ^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-19 6:36 ` Elvis Dowson @ 2012-08-19 7:51 ` Elvis Dowson 2012-08-19 16:07 ` Khem Raj 1 sibling, 0 replies; 49+ messages in thread From: Elvis Dowson @ 2012-08-19 7:51 UTC (permalink / raw) To: Khem Raj; +Cc: Yocto Discussion Mailing List [-- Attachment #1: Type: text/plain, Size: 4933 bytes --] Hi Khem, On Aug 19, 2012, at 10:36 AM, Elvis Dowson wrote: > What should I do to enable multilib in gcc-4.7? > > I think at the moment, in gcc-configure-common.inc, it is disabled. > > If I were to re-enable it as follows, based on what I've diff'd from the Denx ELDK repo, what how does the GCCMULTILIB variable evaluate? > > -GCCMULTILIB = "--disable-multilib" > +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' > > I think multilib has to be enabled, no? > > In file gcc/config/rs6000/t-ppcos.c > > # Multilibs for a powerpc hosted ELF target (linux, SVR4) > > MULTILIB_OPTIONS = msoft-float > MULTILIB_DIRNAMES = nof > MULTILIB_EXTRA_OPTS = fPIC mstrict-align > MULTILIB_EXCEPTIONS = > > MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} > > > Here is the full patch, which I am assuming enables multilib, and get libgcc to generate the nof libraries to the target: > > diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc > index 908ad3e..a3fa294 100644 > --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc > +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc > @@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= "" > EXTRA_OECONF_INITIAL ?= "" > EXTRA_OECONF_INTERMEDIATE ?= "" > > -GCCMULTILIB = "--disable-multilib" > +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' > > EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ > --with-gnu-ld \ > diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb b/meta/recipes-devtools/gcc/libgcc_4.7.bb > index c796253..aac81f6 100644 > --- a/meta/recipes-devtools/gcc/libgcc_4.7.bb > +++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb > @@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*" > FILES_${PN}-dev = " \ > ${base_libdir}/libgcc*.so \ > ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ > - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" > + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" > FILES_libgcov${PKGSUFFIX}-dev = " \ > ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ > " Hmm, that didn't work, and no nof libraries were generated on the target. zImage starting: loaded at 0x00800000 (sp: 0x018cdfb0) Allocating 0x542f0c bytes for kernel ... gunzipping (0x00000000 <- 0x0080f000:0x00a1886f)...done 0x4255c0 bytes Attached initrd image at 0x00a19000-0x018ccf92 initrd head: 0x1f8b0808 Linux/PowerPC load: console=ttyS0,9600n8 ip=off root=/dev/ram rw rootwait init=/bin/sh Finalizing device tree... flat tree at 0x18da0e0 PM: Adding info for No Bus:ttyv9 [ 0.582992] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.588287] 83e00000.serial: ttyS0 at MMIO 0x83e01003 (irq = 20) is a 16550 [ 0.783785] console [ttyS0] enabled [ 0.829080] brd: module loaded [ 0.875518] loop: module loaded [ 0.912757] xsysace 83600000.sysace: Xilinx SystemACE revision 1.0.12 [ 0.989471] xsysace 83600000.sysace: No CF in slot [ 1.048455] Xilinx SystemACE device driver, major=254 [ 1.109414] xilinx_emaclite 81000000.ethernet: Device Tree Probing [ 1.182945] xilinx_emaclite 81000000.ethernet: error registering MDIO bus [ 1.264024] xilinx_emaclite 81000000.ethernet: MAC address is now 00:0a:35:b7:78:00 [ 1.357651] xilinx_emaclite 81000000.ethernet: Xilinx EmacLite at 0x81000000 mapped to 0xD10A0000, irq=17 [ 1.472557] xilinx_ps2 81480000.ps2: Device Tree Probing 'ps2' [ 1.541805] xilinx_ps2 81480000.ps2: Xilinx PS2 at 0x81480000 mapped to 0xd1036000, irq=22 [ 1.641181] xilinx_ps2 81481000.ps2: Device Tree Probing 'ps2' [ 1.710886] xilinx_ps2 81481000.ps2: Xilinx PS2 at 0x81481000 mapped to 0xd1038000, irq=23 [ 1.811438] mousedev: PS/2 mouse device common for all mice [ 1.879037] i2c /dev entries driver [ 1.920644] Device Tree Probing 'i2c' [ 1.964913] xilinx-iic #0 at 0x81600000 mapped to 0xD10C0000, irq=18 [ 2.042572] TCP cubic registered [ 2.080419] NET: Registered protocol family 17 [ 2.874354] atkbd serio0: keyboard reset failed on xilinxps2/serio at 81480000 [ 3.358644] RAMDISK: gzip image found at block 0 [ 3.882546] input: AT Raw Set 2 keyboard as /devices/plb.0/xps-ps2.1/81481000.ps2/serio1/input/input0 [ 6.370713] EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended [ 6.468154] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 6.538666] Freeing unused kernel memory: 152k freed /bin/sh: can't access tty; job control turned off [ 6.682471] Kernel panic - not syncing: Attempted to kill init! [ 6.752622] Rebooting in 180 seconds.. Elvis Dowson [-- Attachment #2: Type: text/html, Size: 11569 bytes --] ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor 2012-08-19 6:36 ` Elvis Dowson 2012-08-19 7:51 ` Elvis Dowson @ 2012-08-19 16:07 ` Khem Raj 1 sibling, 0 replies; 49+ messages in thread From: Khem Raj @ 2012-08-19 16:07 UTC (permalink / raw) To: Elvis Dowson; +Cc: Yocto Discussion Mailing List On Sat, Aug 18, 2012 at 11:36 PM, Elvis Dowson <elvis.dowson@gmail.com> wrote: > Hi Khem, > What should I do to enable multilib in gcc-4.7? > > I think at the moment, in gcc-configure-common.inc, it is disabled. > > If I were to re-enable it as follows, based on what I've diff'd from the > Denx ELDK repo, what how does the GCCMULTILIB variable evaluate? just for tests. append --enable-multilib to EXTRA_OECONF in gcc-cross_4.7.bb something like EXTRA_OECONF_append = " xxx " > > -GCCMULTILIB = "--disable-multilib" > +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", > "--enable-multilib", "--disable-multilib",d)}' > > I think multilib has to be enabled, no? > > In file gcc/config/rs6000/t-ppcos.c > > # Multilibs for a powerpc hosted ELF target (linux, SVR4) > > MULTILIB_OPTIONS = msoft-float > MULTILIB_DIRNAMES = nof > MULTILIB_EXTRA_OPTS = fPIC mstrict-align > MULTILIB_EXCEPTIONS = > > MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} > > > Here is the full patch, which I am assuming enables multilib, and get libgcc > to generate the nof libraries to the target: > > diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc > b/meta/recipes-devtools/gcc/gcc-configure-common.inc > index 908ad3e..a3fa294 100644 > --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc > +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc > @@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= "" > EXTRA_OECONF_INITIAL ?= "" > EXTRA_OECONF_INTERMEDIATE ?= "" > > -GCCMULTILIB = "--disable-multilib" > +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", > "--enable-multilib", "--disable-multilib",d)}' > > EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', > True) != 'no']} \ > --with-gnu-ld \ > diff --git a/meta/recipes-devtools/gcc/libgcc_4.7.bb > b/meta/recipes-devtools/gcc/libgcc_4.7.bb > index c796253..aac81f6 100644 > --- a/meta/recipes-devtools/gcc/libgcc_4.7.bb > +++ b/meta/recipes-devtools/gcc/libgcc_4.7.bb > @@ -18,7 +18,9 @@ FILES_${PN} = "${base_libdir}/libgcc*.so.*" > FILES_${PN}-dev = " \ > ${base_libdir}/libgcc*.so \ > ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ > - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" > + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ > + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" > FILES_libgcov${PKGSUFFIX}-dev = " \ > ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ > " > > Best regards, > > Elvis Dowson ^ permalink raw reply [flat|nested] 49+ messages in thread
end of thread, other threads:[~2012-08-19 16:08 UTC | newest] Thread overview: 49+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-07-31 17:27 Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor Elvis Dowson 2012-08-03 20:59 ` Elvis Dowson 2012-08-03 21:30 ` Elvis Dowson 2012-08-03 22:05 ` Elvis Dowson 2012-08-03 23:50 ` Tim Bird 2012-08-04 2:24 ` Khem Raj 2012-08-04 13:56 ` Elvis Dowson 2012-08-04 15:12 ` Elvis Dowson 2012-08-04 16:31 ` Khem Raj 2012-08-04 16:53 ` Elvis Dowson 2012-08-04 17:12 ` Khem Raj 2012-08-04 19:16 ` Elvis Dowson 2012-08-04 19:47 ` Khem Raj 2012-08-07 20:10 ` Elvis Dowson 2012-08-07 20:13 ` Khem Raj 2012-08-07 20:24 ` Elvis Dowson 2012-08-07 20:30 ` Khem Raj 2012-08-07 20:33 ` Elvis Dowson 2012-08-08 2:47 ` Khem Raj 2012-08-08 2:36 ` Elvis Dowson 2012-08-08 2:40 ` Khem Raj 2012-08-08 13:44 ` Bob Cochran 2012-08-08 19:05 ` McClintock Matthew-B29882 2012-08-08 20:35 ` Bob Cochran 2012-08-08 21:00 ` McClintock Matthew-B29882 2012-08-09 16:47 ` Elvis Dowson 2012-08-11 3:37 ` Elvis Dowson 2012-08-11 17:23 ` Elvis Dowson 2012-08-11 17:47 ` Khem Raj 2012-08-12 3:34 ` Elvis Dowson 2012-08-12 5:27 ` Khem Raj 2012-08-12 20:02 ` Elvis Dowson 2012-08-13 16:48 ` Elvis Dowson 2012-08-13 17:01 ` Khem Raj 2012-08-13 20:16 ` Elvis Dowson 2012-08-14 3:24 ` Elvis Dowson 2012-08-14 3:52 ` Khem Raj 2012-08-14 5:43 ` Elvis Dowson 2012-08-14 6:32 ` Elvis Dowson 2012-08-14 8:26 ` Elvis Dowson 2012-08-14 9:54 ` Elvis Dowson 2012-08-14 14:26 ` Khem Raj 2012-08-17 5:48 ` Khem Raj 2012-08-17 7:21 ` Elvis Dowson 2012-08-19 6:08 ` Elvis Dowson 2012-08-19 6:13 ` Elvis Dowson 2012-08-19 6:36 ` Elvis Dowson 2012-08-19 7:51 ` Elvis Dowson 2012-08-19 16:07 ` Khem Raj
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.