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:
- 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.
- 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:
- 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