利用Openwrt编译嵌入式linux

原创 2010年04月13日 18:14:00

这段时间在编译Micrel的ARM芯片(KS8695X),之前一直用从官网上下载的linux内核包进行编译,但最近官网上提供的linux2.6.23版本需要gcc3.4.6以上版本编译,而我只有3.4.0版本,到网上下载了很多gcc版本,都不能完全将开发包编译通过。

今天研究了一下openwrt,发现太好用了,以后多用这种方式编译。

准备工作

需要安装如下安装包:

gcc
gcc-c++
ncurses
zlib
flex
ncurses-devel
zlib-devel
bison
autoconf

下载代码

由于Openwrt没有支持Micrel的芯片,故Micrel提供了Openwrt工程文件,从官网上下载一个即可,我从ftp://www.micrel.com/ethernet/8695P/ 下载了openwrt-8.09.1.1-20090904.bz2,然后解压到本地目录,最好解压到openwrt-8.09.

然后运行下面命令下载其他包

svn co svn://svn.openwrt.org/openwrt/tags/8.09 kamikaze_8.09
svn co svn://svn.openwrt.org/openwrt/branches/packages_8.09 packages_8.09
svn co http://x-wrt.googlecode.com/svn/tags/kamikaze_8.09 x-wrt_8.09

 
最后应该有下面几个目录:
openwrt_8.09 
kamikaze_8.09
packages_8.09 
x-wrt_8.09

编译

./openwrt-8.09/link -d kamikaze_8.09/ -p packages_8.09/ -x x-wrt_8.09/
cd kamikaze_8.09
make menuconfig
按照如下选择:
Target System  Micrel Centaur [2.6]
Subtarget      KSZ8695X
Target Profile Micrel Centaur  KSZ8695X
GCC版本:
Advanced configuration options-->Toolchain Options-->GCC compiler Version
The Base system contains application packages that are essential for running the system. The
Linux kernel drivers are selected in Kernel modules. The web GUI packages are provided
under Administration.
 
退出保存
 
然后运行
make
第一次大概会需要1个多小时。
 

结果

 
编译结果目录:
toolchain:       staging_dir/toolchain-arm_gcc3.4.6
kernel:           linux-micrel_pegasus_ksz9692p/linux-2.6.23.17
applications:   build_dir/arm
root filesystem: build_dir/arm/root-micrel_pegasus
file images:     bin
bin文件说明
kernel image:     openwrt-micrel_centaur-2.6.uImage
rootfilelsystem:  openwrt-micrel_centaur-squashfs.img
root+kernel:      openwrt-micrel_centaur-2.6-squashfs.img
uboot:               u-boot-micrel_centaur-2.6-squashfs.img
The built toolchain is under the staging_dir/arm/toolchain-arm_gcc3.4.6 directory. The
Linux kernel is built under the /linux-micrel_pegasus_ksz9692p/linux-2.6.23.17 directory.
The applications are built under the build_dir/arm directory. The target root filesystem is
in build_dir/arm/root-micrel_pegasus directory. The file images are under the
bin directory. The file openwrt-micrel_pegasus-2.6.uImage is the kernel image.
The file openwrt-micrel_pegasus-squashfs.img is the root filesystem image. The
file openwrt-micrel_pegasus-2.6-squashfs.img contains both kernel and root
filesystem. This is likely the one to download. The file
u-boot-micrel_pegasus-2.6-squashfs.img includes also the U-Boot bootloader.
 

其他

清除可执行 make clean 或者make dirclean
完全清除: make distclean (此方式也将清除所有下载文件,慎用)

编译一个可以运行在openwrt上的c程序

http://aboutchen.org/blog/compile-c-code-for-openwrt/ 编译一个可以运行在openwrt上的c程序 本文的测...
  • strugglelg
  • strugglelg
  • 2014年09月17日 15:51
  • 8959

openwrt 编译 gcc 包package

.
  • strugglelg
  • strugglelg
  • 2014年09月12日 09:34
  • 2268

编译openwrt全过程(超详细)

本教程的编译环境:win7 专业版+VMwareWorkstation6.5虚拟机+Ylmf OS 3.0 编译的过程中要保持电脑联网 搭建编译环境 应用程序--附件--终端 sudo apt...
  • mirkerson
  • mirkerson
  • 2012年02月23日 17:16
  • 113144

openwrt编译及第一个安装包教程

Date: 2017.03.14 Made:SuperDeverloper Email: na1206@live.com Target: For mt7688 based board说明:本人在...
  • SuperDevloper
  • SuperDevloper
  • 2017年09月02日 16:56
  • 529

使用交叉编译编译在OpenWRT上运行的程序

首先下载OpenWrt-SDK-Linux-i686-1.tar.bz2包,解压缩tar jxf  OpenWrt-SDK-Linux-i686-1.tar.bz2为了方便,可以做个链接ln -s /...
  • ffilman
  • ffilman
  • 2010年07月18日 22:21
  • 35948

OpenWRT数据接收过程【Linux内核-OpenWRT】

OpenWRT数据接收过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器...
  • UsSam
  • UsSam
  • 2014年04月29日 09:51
  • 2795

OpenWrt编程篇

OpenWrt编程篇
  • antkillerfarm
  • antkillerfarm
  • 2016年06月06日 11:17
  • 2528

编译一个可以运行在openwrt上的c程序

本文的测试环境为 Ubuntu 14.0 TP-LINK WDR4320 OpenWrt Attitude Adjustment 12.09 首先在ubuntu上安装一些东西 sudo a...
  • fyh2003
  • fyh2003
  • 2015年04月06日 19:31
  • 5448

最新版OpenWrt/Lede编译教程,解决依赖问题,最新gcc问题

其他版本地址: openwrt: http://git.openwrt.org/ lede: https://git.lede-project.org/ dl目录下载:http://downl...
  • LunaW
  • LunaW
  • 2015年12月29日 14:36
  • 3424

OpenWRT开发之——创建软件包(有更新)

摘要: 记录如何一步步实现在OpenWrt上进行开发 试验步骤 为了达到自己编写一个程序打包成ipk,并能在OpenWRT上运行的目的。我在网上找了些学习的资料。 本人参考的是:如何...
  • eydwyz
  • eydwyz
  • 2016年10月26日 08:53
  • 299
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Openwrt编译嵌入式linux
举报原因:
原因补充:

(最多只允许输入30个字)