导航:首页 > 源码编译 > 源码文件夹怎么编译到固件中

源码文件夹怎么编译到固件中

发布时间:2025-07-12 16:48:14

‘壹’ 在ubuntu 12.04下怎样编译极路由1s的openwrt固件

搭建编译环境
Ubuntu x64 12.04下的命令
sudo apt-get install subversion
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install g++
sudo apt-get install gawk
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-dev
当然,也可以将上面的命令合起来:
sudo apt-get install subversion git flex g++ gawk zlib1g-dev libncurses5-dev
建立工作目录及颤没获取openwrt源码
mkdir openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/
trunk是openwrt的开发版,openwrt有好几个分支,要编译其它分支,sun://后的换为相应的地址即可。
建立openwrt文件夹是为了方便存放不同分支的代码,如果你不需要,可以省核洞衫略“mkdir openwrt”及“cd openwrt”。
如果svn的速度慢,可以使用openwrt的第三方镜像,比如国内的openwrt中文论坛所建的镜像。
更新feed及添加package
openwrt的一些额外功能都是通过package实现的,很多个package就组成了一个feed,我们可以根据需求更新自己想要的feed的源。 例如我们需要luci的web管理界面和python的支持,那么我们需要更新luci和packages的feed源:
cd trunk
./scripts/feeds update luci packages
./scripts/feeds install luci packages

当然,我们推荐更新所有feed并添加所有package
./scripts/feeds update -a
./scripts/feeds install -a
配置及编译
进入配置界面
make menuconfig
以后再次编译时,要先切换到工作目录:
cd openwrt
cd trunk
然后在次过程中选择好target system和target profile,target system需要看你路由器的cpu芯片信息,target profile是你路由器的型号。接下来就可以根据自己的需求进行定制了,添加上需要的支持或去掉无用的包,按“Y”在固件中添加包按“Y”,按“N”去 掉不需要的包。
要运行OH3C,必须有python-mini(lang->python->python-mini)的改腔支持。
如果你的路由器flash空间比较紧张,可以去掉下面的包:
Kernel moles->Network Support->kmod-ppp
Network->ppp
选好后就保存配置退出开始编译了:
make -j
-j 后面可以跟参数,即同时进行的任务数,比如2或4,不跟参数意为不限制同时进行的任务数,会大大减少编译的时间,特别是首次编译。
编译过程中可能不会下载一些东西,所以断网可能造成编译中断,编译所需时间与你的CPU及网速有很大关系,一般首次编译在40分钟到2小时之间不等。以后的编译一般在30分钟之内。

‘贰’ 用户使用说明可以分享一下吗

本文提供LCPI全志A33 linux/安卓开源创客开发板的详细使用说明,包括程序烧录和源码编译两部分。


一、程序烧录

1. 使用USB OTG将开发板与电脑连接,打开PhoenixSuit,选择预览并加载要烧录的img文件。


2. 按住音量+键不放,快速按下电源键至升级窗口出现,选择“是”。


3. 烧录时间约一分钟,请耐心等待。固件烧录在EMMC内。


二、源码编译

1. 下载并解压Ubuntu_16.04_X64_A33_android6.0虚拟机文件,使用VMware Workstation启动虚拟机。


2. 登录Ubuntu系统,输入密码123456。


3. 进入虚拟机内的源码编译环境。


4. 按照指令进行编译,包括配置、构建和打包镜像文件。


具体操作如下:
- 进入lcpi-a33/home/test/Test/LCPI-A33-ANDROID6.0目录,分别进入lichee和android文件夹。
- 在Terminal中输入./sinlinx_config.sh并选择0,然后输入./build.sh。
- 进入android目录,依次输入source build/envsetup.sh、lunch、输入chich would you like?时选择1、输入extract-bsp、输入make -j8、输入pack。
- 等待约1小时完成文件打包,镜像文件输出路径为/home/test/Test/LCPI-A33-ANDROID6.0/lichee/tools/pack/LCPI-A33_Android6.0_lcd1024x600_v3.1.img。


请根据实际情况进行操作,确保设备连接、软件配置以及操作指令的正确性。如有任何问题,可查阅官方文档或联系技术支持。

‘叁’ openwrt编译流程

OpenWRT编译流程如下

  1. 进入OpenWRT根目录

    • 首先,需要在Ubuntu下进入OpenWRT的根目录。
  2. 执行编译命令

    • 通常情况下,执行make V=99命令进行编译。V=99选项用于显示详细的编译信息。
    • 如果系统为多核处理器,可以添加j选项来加速编译过程,例如make j3 V=99,其中3代表使用3个核心进行编译,可以根据实际情况调整。
  3. 确保网络畅通

    • 在编译过程中,系统将自动下载所需的软件包,因此必须确保网络畅通。
    • 如果遇到下载失败的情况,可以先执行make download指令,提前下载所需的软件包,以避免后续编译过程中出现错误。
  4. 等待编译完成

    • 初次编译耗时较长,且需要下载大量源码包,建议使用较好的VPN来加速下载过程。
  5. 查找编译生成的固件

    • 编译完成后,会在源码目录中生成一个名为bin的文件夹。
    • 该文件夹中包含两个固件文件,分别是.bin和.bin。
    • 根据路由器的原始固件或已安装的OpenWRT版本,选择相应的固件进行刷写。
  6. 掌握编译技巧

    • 在编译过程中,可以掌握一些技巧来提升效率。
    • 例如,执行make clean命令可以清理基本的编译文件,make dirclean则会深度清理文件,相当于执行make clean后再清除交叉编译工具链目录。
    • make distclean命令会清除所有相关内容,包括下载的软件包、配置文件及feed内容等。
    • 如果遇到menuconfig无法更新的问题,可以尝试删除tmp缓存目录来解决。
    • 预先下载软件包,再执行编译的make download V=99方法同样有效。
    • 如果需要清空所有配置,可以删除.config文件。

‘肆’ Gargoyle(石像鬼)固件自定义修改及编译

参考 Gargoyle Document 及 安装OpenWrt build system

Gargoyle固件是以Openwrt为蓝本的二次开发固件,同样开源。Gargoyle源码地址

理论上Linux系统均可编译,笔者所用过成功编译的Linux发行版有Archlinux,Ubuntu12.04、14.04、16.04。不同发行版所需要的软件包不一样,其中以Ubuntu较常用,本文以其为例。

安装Build System:

32位系统:sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev subversion flex uglifyjs texinfo

64位系统:sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo

另外,安装完成后,建议安装cache:sudo apt-get install cache。

安装完成后,确保系统可用磁盘空间不少于20GB。

打开终端(Terminal),通过命令行操作

获取Gargoyle源码文件:

git clone git://github.com/ericpaulbishop/gargoyle.git

进入gargoyle文件夹内查看源码

cd gargoyle

git相关操作:

git branch      #查看当前分支

git branch -r  #查看本地所有分支

git branch -a  #查看所有远程分支

切换分支:

git checkout <分支名称>

切换commit:

git checkout  <commit id>

阅读全文

与源码文件夹怎么编译到固件中相关的资料

热点内容
linux下运行jar包 浏览:435
彩虹弹弹解压球视频 浏览:83
pdf怎样转换成word格式 浏览:673
怎么查找解压文件在哪里 浏览:852
德语小说pdf 浏览:125
陕西联通dns服务器地址 浏览:939
js表格即时编译 浏览:304
51单片机串口拓展 浏览:307
重装系统后加密图片损坏 浏览:465
电脑怎么放大缩小app窗口 浏览:526
教育十APP学校怎么更改 浏览:823
空调外机压缩机热保护 浏览:756
winlinux双系统卸载 浏览:241
如何对安卓应用反编译 浏览:412
鲲鹏pc服务器是什么 浏览:575
一级防震梁箍筋加密 浏览:930
linuxxampp64位 浏览:730
西安哪个app能买到东西 浏览:459
eps命令键 浏览:40
塑料文件夹的尺寸 浏览:212