Thank you Andy! I tried with omap2plus_defconfig and the kernel seemed to be working, no more "hub 1-1:1.0: hub_port_status failed (err = -71)" so far. But I still don't understand why the config file copied from the /boot directory of a 13.07 linaro-ubuntu-pandaboard image doesn't work. I thought this was what linaro group used to compile the kernel. Could you explain a little more?

Another problem is the ethernet is still not working. Here is what I tried to debug this problem:
1. 'ifup eth0' replies 'Error getting hardware address for "eth0": No such device'. 
2. 'dmesg| grep eth' shows only this: usbcore: registered new interface driver cdc_ether. But on the stock linaro image, it shows a lot more: 
[    2.447448] usbcore: registered new interface driver cdc_ether
[    4.287170] smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-ehci-omap.0-1.1, smsc95xx U
SB 2.0 Ethernet, 0e:60:7e:2a:4e:01
[   21.024139] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   22.556945] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   22.557800] smsc95xx 1-1.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[   32.933746] eth0: no IPv6 
3. Since smsc95xx is the eth driver, so I tried dmesg|grep 'smsc95xx',  it shows:
[    1.830596] usbcore: registered new interface driver smsc95xx
4. I suspect it's still a usb problem, because 'lsusb' gives me 'unable to initialize libusb: -99".

Could someone give me some suggestions?

Thanks again. 
On Sun, Sep 29, 2013 at 7:21 PM, Andy Green <andy.green@linaro.org> wrote:
>
> On 30 September 2013 02:54, Chao Xu <caesarxuchao@gmail.com> wrote:
> > Hi,
> >
> > I tried to build linaro kernel for pandaboard. I have tried everything what
> > I can think of but the kernel still can't boot correctly. Any help will be
> > appreciated. Here is what I did:
> > 1. I flash the 13.07 linaro-ubuntu-pandaboard image into the sd card
> > (http://releases.linaro.org/13.07/ubuntu/panda). This image works fine.
> > 2. I clone the kernel source code from
> > git://git.linaro.org/kernel/linux-linaro-stable.git.
> > 3. checkout the lsk 13.07 tag.
> > 4. copy the config file from original image (i.e.
> > /boot/config-3.10.1.0-1-linaro-omap).
>
> This can be trouble... if new, required config options that the kernel
> was tested with are somehow not on by default, you'll be missing them
> this way.
>
> Better to look at omap2plus_defconfig (make ARCH=arm
> omap2plus_defconfig ) from the new kernel, that's what people were
> actually using.
>
> > 5. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CFLAGS="-O"
> > LOADADDR=0x80008000 uImage
> > The cross compiler on my machine is gcc-4.7-arm-linux-gnueabihf-base
> > 6. From pandaboard, I load the built uImage via scp.
> >
> > The problem I met:
> > 1. In most cases, the kernel can't boot correctly. And the terminal keeps
> > printing "hub 1-1:1.0: hub_port_status failed (err = -71)".
>
> The hub error doesn't sound too terrible but "can't boot correctly"
> might not be good.
>
> Because of the way TI did things there are dependencies in their boot.
>  Originally you had to worry about the right X-loader (MLO) with a
> compatible version of U-Boot which did the things that the particular
> version of the kernel you had wanted.  Later they put X-loader into
> U-Boot tree, so those at least should be updated together, but the
> kernel still relies on the detail of what it expects to inherit from
> U-Boot in terms of PM actions (state of IP unit power) and other
> things.  Ie, maybe update your U-Boot.
>
> They can get rid of this kind of issue by banning all unnecessary init
> from the bootloaders and forcing the kernel to assert whatever states
> it needs, but that proved impossible to coordinate / agree, although
> they made big strides with the kernel owning clocks properly at least.
>
> > 2.Sometime, the kernel can finish booting. But the terminal prints for
> > several times the aforementioned error message after booting. Plus, I don't
> > have any module running, 'lsmod' shows nothing.
>
> Well for the modules you need to copy them over to your rootfs.  I
> usually do something like this
>
> make ARCH=arm INSTALL_MOD_STRIP=1 modules_install INSTALL_MOD_PATH=`pwd`/staging
>
> then cp -rp or scp or rsync or whatever ./staging/* to / on the remote
> rootfs (it has /lib/modules/... in there).
>
> -Andy
>
> > Please help! Thank you.
> >
> > --
> > Regards,
> > Chao Xu
> >
> > _______________________________________________
> > linaro-dev mailing list
> > linaro-dev@lists.linaro.org
> > http://lists.linaro.org/mailman/listinfo/linaro-dev
> >




--
Regards,
Chao Xu