查看: 7903|回复: 1

编译OpenWrt-DreamBox 其他版本一样

[复制链接]
  • TA的每日心情
    无聊
    2017-3-23 12:01
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2015-8-18 10:45:05 | 显示全部楼层 |阅读模式
    分享到:
    编译OpenWrt-DreamBox

    在完成准备工作和使用SVN下载DreamBox源代码之后就可以开始编译工作了~
    •编译OpenWrt-DreamBox一般需要以下五个步骤: 1.准备工作:搭建编译环境
    2.通过Subversion命令获取DreamBox源代码
    3.更新下载和安装扩展软件包,即package feeds
    4.用menuconfig来配置目标平台和软件包
    5.最后make开始编译固件

    •假设你的工作目录为openwrt-dreambox,进入openwrt-dreambox目录:

    $ cd openwrt-dreambox/


    •OpenWrt-DreamBox会不停地更新,为了保证源代码的最新可以使用svn up更新:

    $ svn update







    1. 添加扩展软件包(Add packages from extra feeds)

    虽然基本系统可以build出Image,但生成的Image缺少很多应用程序,需要添加额外的扩展软件包:


    $ cp feeds.conf.default feeds.conf


    然后编辑feeds.conf文件,前面加注释符号#表示该软件源不会被下载和安装。需要安装何种软件源就去掉相应的#:


    src-svn packages svn://svn.openwrt.org.cn/dreambox/feeds/packages_10.03.2
    src-svn qpe svn://svn.openwrt.org.cn/dreambox/feeds/qpe
    src-svn device svn://svn.openwrt.org.cn/dreambox/feeds/device
    src-svn dreambox_packages svn://svn.openwrt.org.cn/dreambox/feeds/dreambox_packages
    src-svn luci_cn svn://svn.openwrt.org.cn/dreambox/feeds/luci/trunk
    #src-svn luci http://svn.luci.subsignal.org/luci/tags/0.10.0/contrib/package
    #src-svn xwrt http://x-wrt.googlecode.com/svn/branches/backfire_10.03/package
    #src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
    #src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
    #src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
    #src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
    #src-link custom /usr/src/openwrt/custom-feed


    请注意,这个设置并不表示这些应用程序包会被编译,而只是在后面使用menuconfig命令时会获取这些包的描述信息(OpenWrt-Makefiles)。

    现在,更新下载这些包,并安装它们到package/feeds/目录:


    $ ./scripts/feeds update -a
    $ ./scripts/feeds install -a

    •更多详情参看:扩展软件包package feeds详细说明





    2. 配置DreamBox(Configure target and packages)

    下一步是检查编译环境,若可进行编译则生成默认配置:


    $ make defconfig


    若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可,不难的,细心点就行。

    现在开始配置OpenWrt-DreamBox,选择你需要目标平台,以及选择将要编译和添加进固件的软件包。运行命令:


    $ make menuconfig


    这个配置界面跟Linux内核的配置界面基本差不多,几乎每一项都有3个选择Y/M/N:
    •Y:选择Y,该软件将被编译,并且加入到你的目标固件里;
    •M:选择M,该软件包将会被编译,但不会被放入固件里。在需要它的时候,可以用OPKG软件包管理器进行安装;
    •N:选择N,该软件包将不会被编译,也不会被安装进固件。
    •方向键是移动光标
    •回车键是确认
    •空格键是选择,可以代替Y/M/N键的使用

    比如要为TP-LINK TL-MR3420编译DreamBox:  
    •1 选择CPU型号 Target System   --->   (X) Atheros AR71xx/AR7240/AR913x



    https://openwrt-for-embedded.goo ... ile/compile_001.png https://openwrt-for-embedded.goo ... ile/compile_002.png
    •2 选择路由型号 Target Profile  --->   (X) TP-LINK TL-MR3420 v1



    https://openwrt-for-embedded.goo ... ile/compile_003.png https://openwrt-for-embedded.goo ... ile/compile_004.png
    •3 软件包就使用默认的,或者可以根据需要添加。 a.添加luci  LuCI ->Collections -> <*> luci


    b.添加luci的中文语言包  LuCI ->Translations -> <*> luci-i18n-chinese


    c.添加DDNS  LuCI ->Applications -> <*>luci-app-ddns


    d.添加USB挂载  Base system -> <*>block-mount


    e.添加硬盘格式支持  Kernel modules -> Filesystems -> <*> kmod-fs-ext4


    f.添加UTF8编码  Kernel modules -> Native Language Support -> <*> kmod-nls-utf8


    g.添加USB扩展支持  Kernel modules -> USB Support -> <*> kmod-usb-storage-extras.


    h.添加自动挂载工具  Utilities -> Filesystem -> <*> badblocks


    i.添加复位键支持  Utilities -> <*> restorefactory


    j.添加一键开关无线  Utilities -> <*> wifitoggle







    •如果需要单独配置OpenWrt-DreamBox的linux kernel,可以使用下面命令配置:

    $ make kernel_menuconfig



    这和普通的linux kernel的make menuconfig没有什么区别,可以根据需求自行配置。

    •如无特殊情况,直接使用默认的内核配置即可!





    3. 编译DreamBox(Build your DreamBox image)

    完成menuconfig配置后,退出保存,开始编译DreamBox:


    $ make

    •编译过程可能会很久(一边下载源代码一边编译),请确认你有足够的磁盘空间(应至少保证能够有大约4G以上的空间)。

    https://openwrt-for-embedded.goo ... ile/compile_005.png



    另外,你可以使用:


    $ make -j 3 V=99


    这个命令会使用双核CPU进行编译,并且输出编译过程中的信息,这样你可以比较清楚的看到编译情况或出错情况:
    •-j3:具有多核CPU处理器的PC进行编译,可使用-j参数加速编译,用法为-j <cpu处理器的数目 + 1>
    •V=99:表示输出详细的debug信息
    •make world:表示编译所有

    如只想清除/编译某个模块,您可以做如下类似操作:


    $ make package/qos/clean
    $ make package/qos/compile
    $ make package/qos/install






    4. 烧写固件(Flash)
    •编译结束后,生成的固件存放在bin目录下,其中包含了kernel和rootfs的镜像文件,以及众多可以使用OPKG工具安装的.ipk安装包。
    •接下了就是往flash中烧写固件,每个硬件设备不尽相同,不在详述。

    这是选择编译LUCI软件包,登录到管理界面:

    评分

    参与人数 1与非币 +5 收起 理由
    loveeeboard + 5 三周年铜板双倍!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情

    2023-7-25 22:49
  • 签到天数: 385 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-18 17:25:39 | 显示全部楼层
    学习了。。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-29 15:48 , Processed in 0.119349 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.