317443108 发表于 2014-6-3 17:08:00

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

本帖最后由317443108 于 2014-6-3 17:08 编辑

1. 搭建交叉编译环境sudo apt-get install build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf ncurses-dev -y 2.安装依赖包sudo apt-get install libncurses5-dev zlib1g-dev gawk flex patch git-core g++ subversion -y3.获取openwrt的源代码git clone https://github.com/mirrors/openwrt4.进入openwrt源目录cd openwrt5.扩展软件包,可选
   进入源码根目录下面后,打开feeds.conf.default,其中的内容是你得openwrt环境中的额外软件包的软件列表索引(类似于软件源)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确定软件源之后,就是更新软件源了:./scripts/feeds update -a安装下载好的包:./scripts/feeds install -a7.执行完上面命令之后你就可以获取全部的openwrt源码了,接着,我们配置openwrt编译系统
具体配置参见下方图片: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系统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卡的设备是sdbsudo dd if=/dev/zero of=/dev/sdb bs=1M count=1b.把openwrt-sunxi-Cubieboard2-u-boot-with-spl.bin写入卡中cd bin/sunxi/uboot-sunxi-Cubieboard2/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创建分区表:sudo fdisk /dev/sdb

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



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


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




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

wake 发表于 2014-6-3 19:02:13

嗯,支持一下:lol

wencan 发表于 2014-6-3 19:11:14

期待Cubietruck版openwrt

317443108 发表于 2014-6-3 19:23:48

wencan 发表于 2014-6-3 19:11 static/image/common/back.gif
期待Cubietruck版openwrt

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

strongpig 发表于 2014-6-3 19:52:09

可惜不支持NAND

shon 发表于 2014-6-4 08:56:19

不錯:)

leyiwo 发表于 2014-6-4 09:15:54

终于出来了啊。。。不容易啊

蓝天-彭 发表于 2014-6-5 14:22:49




很不错,支持一下

1360073602 发表于 2014-6-18 15:03:59

是在什么系统环境下编译的?

bruce 发表于 2014-6-18 16:48:15

大神们,求救!编译报错
页: [1] 2 3
查看完整版本: 一步一步教你制作openwrt卡系统