如何更改openwrt软件并在Bin文件中重建它

时间:2014-04-06 11:46:34

标签: openwrt

... $ make menuconfig 选择一些包 ...... $ make ...

bin文件夹中有很多bin文件。:

我的问题是,我想更改一些openwrt的软件源代码并重新构建。

我尝试编辑build_dir的一些源代码。但是我想重建openwrt我的代码,用svn的最新代码刷新。

有人怎么做?

3 个答案:

答案 0 :(得分:1)

编写代码并进行同步:

1)使用git从你的机器上的Arduino克隆官方linino存储库(使用sudo apt-get install git安装它):

git clone https://github.com/linino/linino_distro.git

2)在相关代码文件,Makefile或您需要更改的任何内容中进行自己的更改。

3)每当您想要将您的工作与linino存储库中远程主分支的最新更改同步时,您需要首先获取更改,这意味着在不合并它们的情况下检索它们,然后在第二次合并它们然后解决冲突,如果有的话:

初步:如果您使用自己的更改创建了一个本地分支,那么您将返回主分支,您需要查看主服务器:     git checkout master a)获取最新的更改:

git fetch master

b)将它们与您在本地存储库(通常称为origin)上的更改合并:

git merge origin/master

注意:您也可以在一个命令中执行此操作:

git pull

它基本上同时进行提取和合并,但首先使用提取来理解该进程非常重要。根据经验,它可能会让初学者感到困惑,如果没有明确指定,它可能会导致automerge,导致更多工作撤消它们。

4)现在您已准备好解决冲突(如果有),您可以使用:

git mergetool

这将允许您使用图形工具解决冲突,例如tkdiff(双向合并工具)或meld(3路合并工具,差异更改,远程主控和原始文件的更改)。< / p>

编译代码:

5)在linino buildroot目录中打开一个终端,如果添加了任何新包,请确保更新配置,然后重新编译该图像,即

cd ~/myLininoBuildRoot/trunk
make menuconfig
#now select your new package, that you added in trunk/package
# Make sure you save the configuration before exiting
make

注意:您也可以逐个重新编译包。而不是做一个简单的make做:

初步步骤: 确保编译了linino 工具链,它允许您单独编译包:     cd trunk /     制作工具/安装     制作工具链/安装     制作目标/编译

然后编译你的包:

make package/myPackage

或者,您可以更具体地选择包中的任何目标Makefile例如 install compile build 目标:

make package/myPackage/install
make package/myPackage/compile
make package/myPackage/build

最后,重新编译所有包的公共索引目标,这些包允许你有一个bin目录trunk/bin/yourArchitecture/packages,它包含最新的包索引,包括你刚刚编译的包:

make package/index

更多信息:http://wiki.openwrt.org/doc/howto/build.a.package

检查一切正常:

现在去看看trunk/bin/yourArchitecture/packages/Packages,做一个grep以确保它列在Packages(实际包索引文件)中并且是最新的:

grep Packages | myPackage

答案 1 :(得分:0)

你可能想:

  • 获取最新版本的源代码。
  • 做出你想要的任何改变。
  • 使用diff制作记录更改的修补程序。
  • 更新源代码(将来)
  • 使用patch应用修补程序
  • 手动执行任何无法修补的更改。

答案 2 :(得分:0)

这是较新版本的示例构建动作。

编辑:

../package/feeds/packages/motion

原始Makefile

PKG_NAME:=motion
PKG_VERSION:=20110826-051001
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.lavrsen.dk/sources/motion-daily \
        @SF/motion
PKG_MD5SUM:=e703fce57ae2215cb05f25e3027f5818

编辑的Makefile

PKG_NAME:=motion
PKG_VERSION:=20120605-224837
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.lavrsen.dk/sources/motion-daily \
        @SF/motion
PKG_MD5SUM:=145fffcb99aed311a9c1d93b838db66f

您还可以根据需要更改包源URL(PKG_SOURCE_URL)

使用以下方法重建较新的动作应用程序:

make package/feeds/packages/motion/compile