Closed tsl0922 closed 11 years ago
试着在Ubuntu 10.04.4下使用master分支的源码编译出来了固件,但是无法刷入路由,cfe界面上传固件后提示:Image上载失败,选择的文件包含一个非法映像,在OpenWrt的刷写固件页面同样提示不支持文件格式,不知道这是什么原因导致的呢?
Image上载失败,选择的文件包含一个非法映像
源码使用 DSL2760 1.04 + OpenWRT attitude_adjustment 12.09 编译步骤按照 这里 来的:
DSL2760 1.04
OpenWRT attitude_adjustment 12.09
简单说一下流程: 1:下载2760和backfire的源码,这个没啥好说的,注意2760的源码解压后,把toolchains目录移到2760U的源码下面,因为我修改了Makefile,指定了toolchains的相对路径 安装quilt,把patches目录下的补丁给2760源码打上,当然你也可以用patch直接打补丁。。然后make,等待编译结束。然后进入hostTools目录,执行make clean; make,等待编译结束 把backfire/patches下的补丁给backfire源码打上,拷贝backfire/defconfig到backfire目录里,make menuconfig根据你的需求修改配置,保存,make,等待编译结束。完了之后把bin/brcm63xx下的OpenWrt-ImageBuilder-brcm63xx-for-Linux-x86_64.tar.bz2解压 修改Build.defs,修改BCMFW,IMAGEBUILDER,分别指向2760的源码目录和ImageBuilder的解压目录,或者直接创建两个符号链接:DSL-2760U,ImageBuilder 指行./createlinks, 然后进入ImageBuilder的目录,执行 make image/4m-noweb/4m-luci 进入modules目录,执行make 回到顶层目录,make/make cfe/make oldcfe就可以生成我发布的那几个固件
简单说一下流程: 1:下载2760和backfire的源码,这个没啥好说的,注意2760的源码解压后,把toolchains目录移到2760U的源码下面,因为我修改了Makefile,指定了toolchains的相对路径
中间遇到了一些错误,但都解决了。Ubuntu下需要把/bin/sh软连接到/bin/bash(默认是/bin/dash),不然fakeroot会编译出错。
/bin/sh
/bin/bash
/bin/dash
好吧,找到原因了:我是在虚拟机里编译的,和主机之间文件交换使用的网络共享,导致复制文件的时候文件总是损坏的,ssh连到虚拟机把文件传回来就OK了 :smile:
试着在Ubuntu 10.04.4下使用master分支的源码编译出来了固件,但是无法刷入路由,cfe界面上传固件后提示:
Image上载失败,选择的文件包含一个非法映像
,在OpenWrt的刷写固件页面同样提示不支持文件格式,不知道这是什么原因导致的呢?源码使用
DSL2760 1.04
+OpenWRT attitude_adjustment 12.09
编译步骤按照 这里 来的:中间遇到了一些错误,但都解决了。Ubuntu下需要把
/bin/sh
软连接到/bin/bash
(默认是/bin/dash
),不然fakeroot会编译出错。