‘壹’ 在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编译流程如下:
进入OpenWRT根目录:
执行编译命令:
确保网络畅通:
等待编译完成:
查找编译生成的固件:
掌握编译技巧:
‘肆’ 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>