技术

Scala shell内建指令 scala 最佳实践 centos 下安装sqlplus git简介及使用 Commands to Check Weblogic Server Status Spring 中 cache 的使用 pl/sql developer 相关问题 maven 用法 nexus docker 指南 oracle 相关问题 vim 快捷方式 media wiki 的搭建 安装 Kubernetes 如何的在centos中安装docker Hbase学习 hbase 异常解决 Docker 链接容器 dockerfile 最佳实践 centos 7 网卡配置 docker 学习笔记 guava 用法分享 docker命令行 angular小技巧 kubernetes 相关知识 一些windows下的工具 github 小技巧 angularjs 小技巧 java写代码的一些小技巧 lucene学习 在Windows上安装FishEye 快速安装eclipse插件 在fisheye中添加git repository Modbus 协议简介 读书笔记: angular性能调优 我的交叉编译经验谈 如何管理和配置opkg包 刷机失败后的恢复方法 Openwrt Flash Layout 分区调整 netgear wndr3700v4 刷新固件步骤 Openwrt应用包(package)编译 (基于Openwrt SDK) Openwrt编译 (基于Openwrt ImageBuilder) Build Openwrt环境完整过程 openwrt命令总结 在luci系统中增加服务 sftp 命令 系统完整性检查如何加载虚拟光驱 如何在java中启用jmxremote Bash Shell 技巧点滴 knockout和js测试基础 XAMPP 小技巧 knockout小技巧 有关discuz的资源与一些经验积累 javascript小技巧积累 在centos上安装jetty的过程记录 Vagrant构建虚拟开发环境 离线markdown编辑器:stackedit 关于阿里云服务器使用的几个小技巧 discuz被黑的处理办法 git 相关命令总结 BAE 本地开发环境调试笔记 yo 与 knockout 的使用 一些有用的在线工具网站资源 Discuz!X3.2 升级后无法登录后台的解决方法 knockout的一些有用的例子和资源 GoLang 学习笔记

标签


Openwrt编译 (基于Openwrt ImageBuilder)

2015年10月21日

成功生成openwrt for wndr3700 v4 镜像操作步骤

下载合适的image builder

从网站:https://downloads.openwrt.org/snapshots/trunk/ar71xx/nand/ 文件名: OpenWrt-ImageBuilder-ar71xx-nand.Linux-x86_64.tar.bz2

wget http://downloads.openwrt.org/snapshots/xxxxx....
此镜像只能运行于64位系统 之上

解压缩 下载文件

tar -xvjf OpenWrt-ImageBuilder-ar71xx_xxxxxxx

查看当前image builder是否支持你的路由

进入解压缩后的文件夹

cd OpenWrt-ImageBuilder-xxxx
make info

Available Profiles:

R6100:
		NETGEAR R6100
		Packages: kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
WNDR4300:
		NETGEAR WNDR3700v4/WNDR4300
		Packages: kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev
NBG6716:
		Zyxel NBG 6716
		Packages: kmod-rtc-pcf8563 kmod-ath10k

如上,”R6100”,”WNDR4300”, “NBG6716” 即为 profile,其中有WNDR 3700 V4字样

修改分区信息

修改builder/target/linux/ar71xx/image/Makefile文件的分区信息,如 wndr4300, 可参考如下研究: 加大firmware空间,同时使ubi空间等量加大

74752k(ubi), -> 0x0000008c0000-0x0000051c0000 : “ubi” 76800k@0x6c0000(firmware), -> 0x0000006c0000-0x0000051c0000 : “firmware” 256k(caldata_backup), -> 0x0000051c0000 -0x000005200000 : “caldata_backup”

备份路由器配置

备份文件可在生成镜像时写入成默认值,这样在固件刷成功后,不用再配置

ssh root@192.168.0.1 进入路由器openwrt 系统, 当前路由器除登录密码外的所有改动均保存在 /overlay 目录中,故保存/overlay/etc/config/下文件到镜像生成宿主系统中。

scp /overlay/etc/config/* root@182.92.64.247:/home/openwrt/files/etc/config/ 

定制需要额外安装的包

luci luci-app-qos luci-app-upnp luci-proto-ipv6 kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev jamvm

生成镜像

make image PROFILE=WNDR4300 PACKAGES="luci luci-i18n-base-zh-cn luci-i18n-qos-zh-cn luci-i18n-upnp-zh-cn luci-proto-ipv6 kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-usbdev jamvm" FILES=/home/openwrt/files/

snapshot 精简版镜像

make image PROFILE=WNDR4300 PACKAGES="luci luci-i18n-base-zh-cn luci-i18n-qos-zh-cn luci-i18n-upnp-zh-cn classpath jamvm" FILES=/home/openwrt/config/files/

常用组件

luci组件 luci luci-app-ddns luci-app-qos luci-app-upnp 中文支持 luci-i18n-base-zh-cn USB挂载* block-mount **硬盘格式支持 kmod-fs-ext4 UTF8编码 kmod-nls-utf8 USB扩展支持 kmod-usb-storage-extras 自动挂载工具 badblocks 复位键支持 restorefactory 一键开关无线 wifitoggle

将生成的镜像刷入到路由中

sftp: get bin/xxxxxxx.img 

check non-root failed解决方法

找到文件 include/prereq-build.mk

define Require/non-root
    #[ "$$(shell whoami)" != "root" ]  <-----注释掉此行即可