如何编译BPi-R1镜像-完整版

作者: shepherd
上传时间为: 2014-12-19 03:25 PM

编译内核后整个目录会接近10G,所以最好还是选择台式机或者笔记本的Linux系统来编译,首先空间充足,其次编译时间不会太长(不要欺负各种pi)。

1.安装工具链

github上明确备注,要编译系统需要安装相应的工具链

gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers

之后用(这个命令,及以下命令都默认你在Lamobo根目录下):

make menuconfig

查看自己系统工具链是否完整

看到上面Build dependency表示你缺少的工具链,安装相应的工具链就行了,

Checking 'non-root' ... failed,表示编译这个系统不能使用root权限。不用sudo就可以了。

如果完成所有工具链安装后,make menuconfig就会出现这样的界面

可以需要编译的配置,也可以退出使用已经配置的.config文件编译。

而这个配置文件就是./misc/configuration文件,用cp命令复制到Lamobo根目录下

cp ./misc/configuration ./.config

工具链安装完成后,就开始进入编译过程了。

2. 编译

有两种编译方式(命令是两种,实际是一样的):

1)进入下载目录下,直接敲入下面的命令,然后回车就可以了。

.\misc\build.sh

2)如果你觉得傻瓜的方式不好,那么你可以尝试多敲打几行字符:

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
make

上面两种编译方式都需要从github, openwrt,sourceforge各种网站下载代码,这也是最痛苦的一件事情,也是导致编译失败最大的原因。因为总共需要下载700M的包。从这些网站,你就能想象了。

既然这样,我们可以把包先下载下来,根据Tom提供的基础包,自己实践后,又添加了几个包,就成了现在比较完成的目录。

从这个地址里下载dl目录并且覆盖Lamobo同名目录:

<a href="<a href=" http:="" pan.baidu.com="" s="" 1bngwn2f"=""></a><a href="<a href=" http:="" pan.baidu.com="" s="" 1bngwn2f<="" a="">"><a">http://pan.baidu.com/s/1bngwn2f</a"></a>"><a< a"="">">http://pan.baidu.com/s/1bngwn2f</a>"><a">http://pa... href="<a href="<a href=" <a="">http://pan.baidu....">http://pan.baidu.com/s/1bngwn2f">http://pan.baidu....</a>">http://pan.baidu.com/s/1bngwn2f">http://pan.baidu...."><a">http://pan.baidu.com/s/1bngwn2f">http://pan.baidu.... href="http://pan.baidu.com/s/1bngwn2f">http://pan.baidu....">http://pan.baidu.com/s/1bngwn2f">http://pan.baidu....</a"></a<>

这个目录700MB

完成拷贝后,你就可以按照上面两种方式来安装。

提示:如果你需要还需要下载什么包,那是可能你有特殊的设置,编译的时候会提示下载的地址,为了方便安装,还是自己下载然后放到dl目录下。

编译成功的时候,不会出现error,在bin目录下,还会出现sunxi目录,所有编译的产物都在这里了。

在图形界面下查看都有些什么,单个img接近600MB,这是有多大啊。


系统烧写完成后,需要做一些配置,参考初版镜像的配置方法:

<a href="<a href=" http:="" kingone.elastos.org="" 2014="" 11="" 13="" this-firmware-build-supports-lamobo-r1-boardbananapi-r1="" "=""></a><a href="http://kingone.elastos.org/2014/11/13/this-firmwar...</a>"><a">http://kingone.elastos.org/2014/11/13/this-firmwar...</a"></a> href="<a href="http://kingone.elastos.org/2014/11/13/this-firmwar...">http://kingone.elastos.org/2014/11/13/this-firmwar...</a>">http://kingone.elastos.org/2014/11/13/this-firmwar...

用find -name *.ko的方法

找到stmmac.ko、swconfig.ko、b53_common.ko、b53_mdio.ko四个文件,拷贝到TF卡openwrt系统的/lib/modules/3.14.18/

在openwrt系统的/etc/modules.d/目录下,添加b53-switch文件,

添加四个驱动的名字

stmmac
swconfig
b53_common
b53_mdio

保存后退出编辑。直接可以那卡启动R1了。


此时的系统只有交换机的功能,从LAN口直接分配的是上一级路由器的ip。所以还需要配置系统的本身的参数。

此时你就需要借助USB-TTL的工具,用来配置openwrt系统

编辑

/etc/config/network 

我是根据原有系统的文件配置的。

编辑完成后

/etc/init.d/network reload

此时你的系统就能分配到地址了。

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示