当前位置: 首页 > 工具软件 > OpenMoKo > 使用案例 >

编译Openmoko OpenWrt

王渊
2023-12-01

论坛讨论:

https://forum.openwrt.org/viewtopic.php?id=28100

英文编译原文:

http://wiki.openwrt.org/doc/howto/build

http://www.thepowerbase.com/2012/01/openwrt-build-guide-start-to-finish/


中文原文:

http://wiki.openmoko.org/wiki/OpenWrt/zh_cn


First you have to create a svn checkout of the OpenWrt base system

获取 OpenWrt 主干

svn co svn://svn.openwrt.org/openwrt/trunk openwrt

这个命令会下载获取OpenWrt的基本系统,并存储在当前目录下的openwrt文件夹中。 本文档后面将假设你的工作目录为openwrt,所以你要进入openwrt目录:

cd openwrt

添加应用程序包(Add packages from extra feeds)

虽然基本系统可以build出FreeRunner的Image,但生成的Image缺少一些手机应用程序。这些程序有额外的种子地址,使用这些种子地址的方法如下:

cp feeds.conf.default feeds.conf


然后编辑feeds.conf文件,并去掉efl(针对enlightenment)或phone(针对fso, paroli, ...)前面的注释符号#,去掉#后文件内容可能就像下面:

src-svn packages svn://svn.openwrt.org/openwrt/packages
src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
src-svn luci http://svn.luci.subsignal.org/luci/branches/luci-0.8/contrib/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

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

现在,更新下载这些包的(OpenWrt-Makefiles)并提供(安装)它们:

scripts/feeds update -a
scripts/feeds install -a

配置(Configure target and packages)

现在,你需要选择FreeRunner的目标平台。运行命令:

make menuconfig

Target System选项选择s3c24xx,Target Profile 你可以选择两者之一:

  • Openmoko GTA-02 (full): 你可能会选用这个,因为它包含了enlightenment 和 paroli。
  • Openmoko GTA-02 (minimal): 这个仅仅包含最基本的OpenWrt packages,可能只有shell和一些命令行程序.

现在你便可以选择一些额外的包安装到你的Image当中,注意要选择为[*],如果你选择为[M],这样的包会被编译但不会加入到Image中,你可以在以后再安装它。

如果你想改变Freerunner的IP地址,要选择“[*] Image configuration”,在子菜单中可以改变Image的网络配置。

OpenWrt默认使用uclibc作为libc,你可以选择其他libc(如glibc)。菜单是:"[*] Advanced configuration options (for developers)" -> "--- Toolchain Options" -> "LIBC implementation".

Enlightenment需求(Enlightenment requirements)

请使用最新的subversion(svn)软件。

生成Image(Build your OpenWrt image)

完成Image的配置后,你可以执行下面的命令来生成Image:

make

警告: OpenWrt build系统会根据选择的包依赖一些程序,如果选择了GTA-02 full profile, 会用到:

  • subversion and git to retrieve some external sources. (On Debian Lenny: subversion git-core)
  • full autotools suite. (On Debian Lenny: automake autoconf autotools-dev libtool pkg-config)
  • dbus-binding-tool to be able to compile "gsm0710muxd". (On Debian Lenny: libdbus-glib-1-dev)
  • autopoint and cvs is used by enlightenment building process. (On Debian Lenny: gettext cvs)

生成Image的过程可能会很久。请确认你有足够的磁盘空间(GTA-02 full profile大约需要4G的空间)

另外,你可以使用 "make V=99"命令,这个命令会输出build过程中的信息,这样你可以比较清楚的看到运行情况或出错情况。

烧写程序(Flash Neo FreeRunner)

Build过程结束后,你会在bin目录下发现生成了一个rootfs文件 (openwrt-s3c24xx-2.6-root.jffs2-128k)和一个内核映像文件 (openwrt-s3c24xx-2.6-uImage) 。此时,你便可以通过dfu util 工具来烧写FreeRunner了.

使用(Try it !)

烧写完上面提到的两个文件后,重新启动FreeRunner,进入系统,你便可以拨打或者接收电话了(当然你先前必须选择安装了必要的包)

你可以用telnet通过usb network连接FreeRunner. 如果你为root用户设置了密码 (在telnet绘画中执行命令: `passwd` ),SSH连接也是可以的。

祝贺你的成功!

请协助我们把这个网站做的更好!你可以通过邮件列表(OpenMoko或者OpenWrt的)给我们反馈信息,改动和添加网站内容,报告bug,或者告诉我们你有多么的喜欢OpenWrt:)


 类似资料: