恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24673|回复: 43

利用 Imagebuilder 可以生成自己所需要的固件, 告别和别人伸手乞讨固件的磨练

    [复制链接]
发表于 2012-12-7 09:24 | 显示全部楼层 |阅读模式
Image Builder, 快速固件生成器, 用此创建固件可以省去重新编译的麻烦,大大缩短编译时间。
利用 Imagebuilder 可以生成自己所需要的固件, 告别和别人伸手乞讨固件的磨练

1. mkdir ImageBuilder-ar71xx
2. cd ImageBuilder-ar71xx
         OpenWrt-ImageBuilder-ar71xx-for-Linux-i686.tar.bz2, 利用winscp 将本文件传到本目录下
3. 解压
tar jxvf OpenWrt-ImageBuilder-ar71xx-for-Linux-i686.tar.bz2

4. 进入目录
cd OpenWrt-ImageBuilder-ar71xx-for-Linux-i686

5. 查看可编译的路由型号
make info
#比如703N, 可以看到如下信息
TLWR703:
        TP-LINK TL-WR703N
        Packages: kmod-usb-core kmod-usb2

6. 将自己的配置文件 放在本目录下, 比如我自己的目录就是 wr703n
   有 /etc/config, /etc/init.d, ...(此部分可以从好用的路由器上用winscp备份出来即可)
   比如配置wireless,只需把备份出来的wireless复制到config就可以了
         保留root密码: password和shadow 放在 /etc 目录下
   同时packages 目录下可以看到已经带的ipk安装包

评分

参与人数 3恩山币 +3 收起 理由
lszjyj + 1 泥马,真给力,我要顶!
回头是岸 + 1 能不能讲下怎么生成未支持的设备,比如WR720N
99010 + 1 我是来打酱油的,老婆说酱油要涨价了,顺便再买两块豆腐~

查看全部评分

本帖被以下淘专辑推荐:

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-7 09:26 | 显示全部楼层
本帖最后由 qiushui_007 于 2012-12-7 09:27 编辑

7. 生成指定路由型号, 在 bin/ar71xx 目录下可以看到自己所生产的固件. 这里就是你大展伸手的地方
  PACKAGES 选项中加上自己所需要的安装包, FILES 选项中加上自己的配置文件
#还是以703N为例,
#最精简的固件, 也就是官网上的, 但相关的配置已经是自己的了
make image PROFILE=TLWR703 FILES=wr703n

#只加上luci和
make image PROFILE=TLWR703 PACKAGES="luci" FILES=wr703n

#usb 摄像头, 新版本好像无kmod-usb-video, 摄像头必须有 kmod-video-core, kmod-video-uvc
make image PROFILE=TLWR703 PACKAGES="librt libpthread libjpeg kmod-nls-utf8 kmod-i2c-core kmod-input-core kmod-usb-ohci kmod-usb-storage kmod-usb-storage-extras kmod-usb-uhci kmod-video-core kmod-video-uvc mjpg-streamer" FILES=wr703n

#增加 usb hid: kmod-usb-hid kmod-hid kmod-input-evdev
make image PROFILE=TLWR703 PACKAGES="librt libpthread libjpeg kmod-nls-utf8 kmod-i2c-core kmod-input-core kmod-usb-ohci kmod-usb-storage kmod-usb-storage-extras kmod-usb-uhci kmod-video-core kmod-video-uvc mjpg-streamer kmod-usb-hid kmod-hid kmod-input-evdev" FILES=wr703n

#增加中微星 kmod-video-gspca-core kmod-video-gspca-zc3xx
make image PROFILE=TLWR703 PACKAGES="librt libpthread libjpeg kmod-nls-utf8 kmod-i2c-core kmod-input-core kmod-usb-ohci kmod-usb-storage kmod-usb-storage-extras kmod-usb-uhci kmod-video-core kmod-video-uvc kmod-video-gspca-core kmod-video-gspca-zc3xx mjpg-streamer kmod-usb-hid kmod-hid kmod-input-evdev" FILES=wr703n

#网络不好, 分2部分多次才发成功!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 12:30 | 显示全部楼层
厉害,沙发听讲
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 14:13 | 显示全部楼层
我怎么觉得这个比编译还难..
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-7 15:14 | 显示全部楼层
本帖最后由 qiushui_007 于 2013-1-18 11:46 编辑

利用 SDK 生成自己的ipk安装包,
下载  http://pan.baidu.com/share/link?shareid=123840&uk=1577556057

1. 解压
tar jxvf OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2

2. 进入目录
cd OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2

3. 将自己的代码目录拷贝到本目录的 package目录下
   注意 Makefile 必须遵守openwrt的规则, 可参考
   http://blog.chinaunix.net/uid-27194309-id-3432651.html

4. 编译, 成功后在bin/ar71xx/packages目录下可以看到相关的ipk文件, 可用winscp 拷贝出来
#编译所有组件
make V=99  

#单独编译某个组件
make package/hid/compile

5. 安装到路由器上实验, 这个你们都懂的

#注: SDK的目录不要改动, 否则出现如下错误
xxg@xxg-desktop:~/SDK-ar71xx-gcc-4.6-linaro_uClibc-0.9.33.2$ make
/bin/sh: /home/xxg/OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/host/bin/find: not found
/bin/sh: /home/xxg/OpenWrt-SDK-ar71xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2/staging_dir/host/bin/find: not found

点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
利用 SDK 生成自己的ipk安装包 标记  发表于 2018-11-16 22:51
这个写的不明白  发表于 2012-12-7 16:15
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-7 15:38 | 显示全部楼层
本帖最后由 qiushui_007 于 2012-12-8 09:12 编辑

luci-app-aria2.rar (299.43 KB, 下载次数: 126)
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 17:01 来自手机 | 显示全部楼层
这个好,马克一下回头练习
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 17:07 | 显示全部楼层
写的不错,谢谢总结。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 17:43 | 显示全部楼层
qiushui_007 发表于 2012-12-7 15:14
利用 SDK 生成自己的ipk安装包

1. 解压
3. 将自己的代码目录拷贝到本地目录下   
   注意本目录下的 Makefile 必须遵守openwrt的规则, 可参考
   http://blog.chinaunix.net/cp.php ... 3432651&op=edit


代码目录拷贝到本地目录下,是指哪个目录啊?

还有那个Makefile链接失效了。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 19:31 | 显示全部楼层
我能说编译比这个简单吗
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-7 23:34 | 显示全部楼层
huzai177 发表于 2012-12-7 19:31
我能说编译比这个简单吗

如果不需要改什么特定东西(比如固件大小),镜像生成器相对就比较简单方便。
用sdk生成ipk,然后再把ipk打包进去,简单高效。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-8 09:14 | 显示全部楼层
jasonreg 发表于 2012-12-7 17:43
代码目录拷贝到本地目录下,是指哪个目录啊?

还有那个Makefile链接失效了。

已经修改好了. 是拷贝到解压后目录的package 目录下.
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-13 15:41 | 显示全部楼层
本帖最后由 qiushui_007 于 2012-12-13 19:01 编辑

修改 uhttpd, 增加了UDP调试, 为了更深入了解 uhttp响应网页以及和LuCI的交互

准备: 设本机IP: 192.168.1.224, UDP端口: 8080, 打开UDP

路由器端命令如下: 用 winscp 将 uhttpd_xu1_ar71xx.ipk 拷贝到 /tmp 目录下
/etc/init.d/uhttpd stop
cd /tmp
opkg install /uhttpd_xu1_ar71xx.ipk
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
UDP调试窗口 可看到 uhttpd begin-->, 说明新程序有效

图片如下:

uhttpd调试.jpg
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2012-12-17 08:29 | 显示全部楼层
新建了 Openwrt 软件开发群, 群号:198779870, 硬件平台为 8MFlash的WR703N, 准备加上液晶显示, 通过USB HID和单片机通讯等等. 希望和软件开发方面深入的朋友以前探讨!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2012-12-19 12:41 | 显示全部楼层
先留个脚印
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2019-9-23 08:41

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表