[总结]给pcDuino v2编译Linux kernel

一、版本问题

推荐选择pcdunio提供的官方的kernel。php

固然能够选用www.github.com/linux-sunxi 中的kernel,不过有不少驱动都用不了包括arduino。linux

我尝试了如下的几个版本,3.29,3.79,3.90,下面是我这些时间的总结,会慢慢更新。git

二、具体问题

(1)gen_initramfs_list.sh的问题

Cannot open '../../linux-sunxi/rootfs/rootfs.cpio.xz'github

make[1]: *** [usr/initramfs_data.cpio.xz] Error 1ui

make: *** [usr] Error 2debug

按照以下创建个文件夹结构,在roofs下面创建一个硬连接,连接到 linux-sunxi-sunxi-v3.4.29-r1/rootfs/sun4i_rootfs.cpio.gz。code

├── linux-sunxi-sunxi-v3.4.29-r1ci

└── rootfsit

    └── rootfs.cpio.xzio

 

(2)pcduino编译内核启动不了

pcduino启动以后没有反应,用uart对pcduino进行debug,发现一直卡死在kernel starting。

在编译kernel打开CONFIG_DEBUG_LL选项,用uart进行debug能够看到以下的信息:

<1>Unable to handle kernel paging request at virtual address 34797474

.......
<0>Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

参考资料后,

将arm-gnueabihf-gcc的连接从arm-gnueabihf-gcc-4.8改为arm-gnueabihf-gcc-4.7便可。

 

参考文献:

[1]http://pcduino.com/forum/index.php?topic=3877.0

相关文章
相关标签/搜索