CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 42138|回复: 26

一步一步教你制作openwrt卡系统

[复制链接]
发表于 2014-6-3 17:08:00 | 显示全部楼层 |阅读模式
本帖最后由  317443108 于 2014-6-3 17:08 编辑

1. 搭建交叉编译环境
  1. sudo apt-get install build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf ncurses-dev -y
复制代码
2.安装依赖包
  1. sudo apt-get install libncurses5-dev zlib1g-dev gawk flex patch git-core g++ subversion -y
复制代码
3.获取openwrt的源代码
  1. git clone https://github.com/mirrors/openwrt
复制代码
4.进入openwrt源目录
  1. cd openwrt
复制代码
5.扩展软件包,可选
   进入源码根目录下面后,打开feeds.conf.default,其中的内容是你得openwrt环境中的额外软件包的软件列表索引(类似于软件源)
  1. sudo vim feeds.conf.default
复制代码
其中,packages、xwrt、luci、routing、telephony下载是默认的。你可以把你需要的软件源的注释去掉。
这里贴出feeds.conf.default 文件下的内容




以上内容可根据需求下载,但至少包含packages。
  • packages – 提供众多库, 工具等基本功能. 也是其他feed所依赖的软件源, 因此在安装其他feed前一定要先安装packages!
  • luci – OpenWrt默认的GUI(WEB管理界面).
  • xwrt – 另一种可替换LuCI的GUI
  • qpe – DreamBox维护的基于Qt的图形界面, 包含Qt2, Qt4, Qtopia, OPIE, SMPlayer等众多图形界面.
  • device – DreamBox维护与硬件密切相关的软件, 如uboot, qemu等.
  • dreambox_packages – DreamBox维护的国内常用网络工具, 如oh3c, njit8021xclient等.
  • desktop - OpenWrt用于桌面的一些软件包.
  • xfce - 基于Xorg的著名轻量级桌面环境. Xfce建基在GTK+2.x之上, 它使用Xfwm作为窗口管理器.
  • efl - 针对enlightenment.
  • phone -针对fso, paroli.


6.由步骤5确定软件源之后,就是更新软件源了:
  1. ./scripts/feeds update -a
复制代码
安装下载好的包:
  1. ./scripts/feeds install -a
复制代码
7.执行完上面命令之后你就可以获取全部的openwrt源码了,接着,我们配置openwrt编译系统
具体配置参见下方图片:
  1. make menuconfig ARCH=arm
复制代码

注意:Target Profile 要根据你相应的板子进行选择,否则到时u-boot会启动不了。
其中
a.Target Images  —>



b.配置无线网卡,V2/V3都是用的rtl8188cus无线网卡
Kernel modules  —>
Wireless Drivers  —>
-*- kmod-cfg80211…………………. cfg80211 – wireless configuration API
<*> kmod-lib80211……………………………… 802.11 Networking stack
{M} kmod-mac80211………………… Linux 802.11 Wireless Networking Stack
kmod-rtl8192cu………………….. Realtek RTL8192CU/RTL8188CU suppor
t{M} kmod-rtlwifi……………………………. Realtek common driver part
c.Lucl系统快速配置接口
LuCI  —>
1. Collections  —>
{*} luci luci-ssl……………………. Standard OpenWrt set with HTTPS
4. Themes  —>
-*- luci-theme-base…………………………. Common base for al
-*- luci-theme-bootstrap……………………… Bootstrap Theme
<*> luci-theme-freifunk-bno……………….. Freifunk Berlin Nordost Theme
<*> luci-theme-freifunk-generic………………….. Freifunk Generic Theme
<*> luci-theme-openwrt……………………………………. OpenWrt.org
5. Translations  —>
<*> luci-i18n-chinese………………….. Chinese (by Chinese Translators)
-*- luci-i18n-english………………………………………… English
8.编译openwrt系统
  1. make -j8 V=s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
复制代码
由于OpenWrt整个系统非常庞大, 编译很慢. "-j 8" 表示用8线程进行编译, "V=s"编译的时候显示编译信息. 如果你的电脑是4核建议你用8线程进行编译, 双核建议你使用4线程. 这里测试8线程编译需要一个小时才能编译完成.
9.制作卡系统
从SD卡启动顺序是A20—>u-boot–>uImage–>OpenWrt
a.先格式化TF卡前面的1M空间,这里假设TF卡的设备是sdb
  1. sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1
复制代码
b.把openwrt-sunxi-Cubieboard2-u-boot-with-spl.bin写入卡中
  1. cd bin/sunxi/uboot-sunxi-Cubieboard2/
复制代码
  1. sudo dd if=openwrt-sunxi-Cubieboard2-u-boot-with-spl.bin of=/dev/sdb bs=1024 seek=8
复制代码
c.完成上面步骤后,可以把SD卡插到板子上,上电会看到下面的打印信息。


说明u-boot已经完全启动,下面我们对SD卡建立分区表。
d.将SD卡插回电脑,使用fdisk创建分区表:
  1. sudo fdisk /dev/sdb
复制代码


跟默认值对应的可直接回车,如Partition number (1-4, default 2): (直接回车)



e.格式化分区:
  1. sudo mkfs.vfat /dev/sdb1
复制代码
  1. sudo mkfs.ext4 /dev/sdb2
复制代码
f.挂载分区
  1. sudo mount /dev/sdb1 /mnt/usb
  2. sudo mount /dev/sdb2 /mnt/usb2
复制代码
g.制作u-boot环境变量文件,将uImage拷贝到第一分区,让u-boot读取,引导系统。
  1. cd /mnt/usb
复制代码
  1. sudo cp /openwrt/bin/sunxi/sun7i-a20-cubieboard2.dtb .
  2. sudo cp /openwrt/bin/sunxi/openwrt-sunxi-uImage uImage
  3. sudo cp /openwrt/bin/sunxi/uboot-sunxi-Cubieboard2/openwrt-sunxi-Cubieboard2-uEnv.txt uEnv.txt
  4. sudo vim uEnv.txt
复制代码
将uEnv.txt中的dtd修改为sun7i-a20-cubieboard2.dtb ,如下


h.拷贝第二分区文件
  1. sudo dd if=/openwrt/bin/sunxi/openwrt-sunxi-root.ext4 of=/dev/sdb2 bs=1M
复制代码
到此,系统已经做好了,将SD卡插入板子,好好享受胜利的喜悦吧。




另外,你可以发布你制作的系统,让别人可以通过win32diskimager来烧写你的系统进他的SD卡,你的小伙伴听到会很开心把。哈哈
  1. sudo dd if=/dev/sdb of=Openwrt.img bs=4M
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

参与人数 3威望 +15 金钱 +11 贡献 +13 收起 理由
gavin_8724 + 4 + 1 + 3 很给力!
hades + 1
蓝天-彭 + 10 + 10 + 10 很给力!

查看全部评分

回复

使用道具 举报

发表于 2014-6-3 19:02:13 | 显示全部楼层
嗯,支持一下
回复 支持 反对

使用道具 举报

发表于 2014-6-3 19:11:14 | 显示全部楼层
期待Cubietruck版openwrt
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-3 19:23:48 | 显示全部楼层
wencan 发表于 2014-6-3 19:11
期待Cubietruck版openwrt

你编译的时候把Target Profile换成Cubietruck,把相应的cb2文件替换成ct文件就行了吧。
回复 支持 反对

使用道具 举报

发表于 2014-6-3 19:52:09 | 显示全部楼层
可惜不支持NAND
回复 支持 反对

使用道具 举报

发表于 2014-6-4 08:56:19 | 显示全部楼层
不錯  
回复 支持 反对

使用道具 举报

发表于 2014-6-4 09:15:54 | 显示全部楼层
终于出来了啊。。。不容易啊
回复 支持 反对

使用道具 举报

发表于 2014-6-5 14:22:49 | 显示全部楼层



很不错,支持一下
回复 支持 反对

使用道具 举报

发表于 2014-6-18 15:03:59 | 显示全部楼层
是在什么系统环境下编译的?
回复 支持 反对

使用道具 举报

发表于 2014-6-18 16:48:15 | 显示全部楼层
大神们,求救!编译报错

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-3-29 18:50 , Processed in 0.029029 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部