制作Cubie版OpenWRT(功能齐全,大小仅有11M)
Allwinner Sun4i/5i/6i/7i (sunxi)
Various vendors are offering development boards / single-board computer based on the Allwinner SoCs. These are running various flavors of the A1x/A20 SoCs, with different buildouts. The mach is called "sunxi".
For some specs rather see Allwinner_Technology#A-Series.
Supported Versions
| Model Version | Launch Date | OpenWrt Version Supported | Model Specific Notes |
|---|---|---|---|
| A10 | - | trunk | Single Cortex-A8 |
| A10s | - | trunk | Single Cortex-A8 |
| A13 | - | trunk | Single Cortex-A8 |
| A20 | - | trunk | Dual Cortex-A7 |
| A23 | - | na | Dual Cortex-A7 |
| A31 | - | na | Quad Cortex-A7 |
| A33 | - | na | Quad Cortex-A7 |
| A80 | - | na | 8-core big.LITTLE (4x A15 + 4x A7) |
Hardware Highlights
| Model | SoC | RAM | Storage | Network | USB | Serial | JTAG | UEXT | Other | linux-sunxi page |
|---|---|---|---|---|---|---|---|---|---|---|
| BananaPi | A20 | 1024MiB | μSD | Gigabit Ethernet | 2x USB2 | yes | n/a | n/a | HDMI, SATA, audio, IR, RCA video out, CSI | Page |
| Cubieboard | A10 | 1024MiB | μSD, 4GB NAND | Fast Ethernet | 2x USB2 | yes | n/a | yes | HDMI, SATA, audio | Page |
| Cubieboard2 | A20 | 1024MiB | μSD, 4GB NAND | Fast Ethernet | 2x USB2 | yes | n/a | yes | HDMI, SATA, audio | Page |
| Cubietruck | A20 | 2048MiB | μSD, 8GB NAND | BCM WiFi, Gigabit Ethernet | 2x USB2 | yes | n/a | n/a | HDMI, VGA, SATA, audio, IR, TOSlink | Page |
| Lamobo R1 | A20 | 1024MiB | μSD | RTL8192CU 802.11bgn 2T2R WiFi BCM53125 Gigabit Ethernet switch with 5 ports |
1x USB2 Host, 1x USB2 OTG | yes | n/a | n/a | HDMI, SATA, audio, IR, CSI | Page |
| Olimex A10-OLinuXino-LIME | A10 | 512MiB | μSD | Fast Ethernet | 2x USB2 | yes | n/a | yes | HDMI, SATA | Page |
| Olimex A13-OLinuXino-WIFI | A13 | 512MiB | μSD | RTL WiFi | 3x USB2 | yes | n/a | yes | VGA | Page |
| Olimex A13-SOM | A13 | 256/512MiB | μSD, 4GB NAND | RTL WiFi | n/a | yes | n/a | n/a | n/a | |
| Olimex A20-OLinuXino-MICRO | A20 | 1024GiB | SD, μSD, 4GB NAND | Fast Ethernet | 2x USB2 | yes | n/a | yes | HDMI, SATA, audio | Page |
| pcDuino/pcDuinoV2 | A10 | 1024MiB | μSD, 2GB NAND | Fast Ethernet | 2x USB2 | yes | n/a | n/a | HDMI / Arduino headers | Page |
| pcDuino3 | A20 | 1024MiB | μSD, 4GB NAND | Fast Ethernet, RTL8188EU WiFi | 1x USB2 | yes | n/a | n/a | HDMI / Arduino headers, SATA, IR | Page |
UEXT is an open standard port to provide serial, I²C and SPI expansion ports.
Installation
This section details what is required to install and upgrade OpenWrt. The generic procedure is described here: generic.flashing; this devices don't have a flash chip soldered to the PCB but an SD-Card slot.
Status
Patches have been back-ported from the http://linux-sunxi.org/ community, including device trees, clocks, timers, PIO, ethernet, USB, and, MMC.
These patches are currently being mainlined - eta. Linux 3.14 and 3.15 - by the community.
- SPL: done
- u-boot: done
- kernel: done
- rootfs: done
You have the option to boot the board from initramfs, SD card (recommended), USB storage, or NFS.
Working
- SD/MMC
- USB EHCI/OHCI
- EMAC (10/100 Mbps)
- A20 GMAC (10/100/1000 Mbps)
- SATA
- Clocks
- Timers
- SMP with HYP patches for 2014.04 u-boot
- Various devices, GPIO, IR
Being worked on
- NAND (have some snippets already)
- SPI (need integration)
Not being worked on
- Sound - need bump to 3.18
Installation process
Pre-built SD card images
You can build an SD card image directly from buildroot for your device.
- Check out trunk - https://dev.openwrt.org/wiki/GetSource
- Run make menuconfig
- Select device profile - f.e. BananaPi
- Start the build
- The built SD card images will be in bin/sunxi
- dd if=bin/sunxi/openwrt-sunxi-Bananapi-sdcard-vfat-ext4.img of=/dev/sdc
Assembling the SD card image yourself
OpenWrt trunk images are located in snapshots/trunk/sunxi/ folder.
For example if you have Cubieboard3/Cubietruck then download these files from the server:
SD layout
SD layout with 512 byte blocks:
| NAME | start block | size |
| MBR | 0 | 1 block |
| u-boot-with-spl.bin | 16 (8 KB) | ~250 KB |
| FAT | 2048 (1 MB) | 15 MB |
| EXT4 | 32768 (16 MB) | rest |
SD preparation
We assume /dev/mmcblk0 is the SD card and Cubietruck is the board.
- Partition the SD card. Two partitions are created. The first is the boot partition, /dev/mmcblk0p1. The second is the root partition, /dev/mmcblk0p2.
# fdisk /dev/mmcblk0 Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-15523839, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-15523839, default 15523839): +15M Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (32768-15523839, default 32768): 32768
Last sector, +sectors or +size{K,M,G} (32768-15523839, default 15523839): +240M Command (m for help): p Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x17002d14 Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 32767 15360 83 Linux
/dev/mmcblk0p2 32768 524287 245760 83 Linux Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
- Re-read the new partition table layout (e.g. by removing and re-inserting the SD card).
- Copy the SPL + U-boot image to the card
# dd if=bin/sunxi/uboot-sunxi-Cubietruck/openwrt-sunxi-Cubietruck-u-boot-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8
- Create a boot (FAT32) partition.
# mkfs.vfat /dev/mmcblk0p1
- Mount the boot partition.
# mount -t vfat /dev/mmcblk0p1 /mnt
- Copy the U-Boot environment file uEnv.txt to the boot partition.
# cp bin/sunxi/uboot-sunxi-Cubietruck/openwrt-sunxi-Cubietruck-uEnv.txt /mnt/uEnv.txt
- Copy the device tree data to the boot partition.
# cp bin/sunxi/sun7i-a20-cubietruck.dtb /mnt/dtb
- Copy the kernel image to the boot partition.
# cp bin/sunxi/openwrt-sunxi-uImage /mnt/uImage
- Resize the root filesystem image to match the partition size.
# resize2fs bin/sunxi/openwrt-sunxi-root.ext4 240M
- Create the root filesystem.
# dd if=bin/sunxi/openwrt-sunxi-root.ext4 of=/dev/mmcblk0p2 bs=128k
- Wrap up (flush buffers and unmount boot partition).
# sync
# umount /mnt
Upgrading OpenWrt
*WiP*
If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the mtd command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.
Links
For further information about the SoCs, go to http://linux-sunxi.org/Main_Page
How can you help
- We're looking for any A31 / A80 hardware at the moment
- Hardware donations - https://dev.openwrt.org/wiki/WantedHardware
- Test GPIOs and peripherals on A13/A20 and provide feedback
制作Cubie版OpenWRT(功能齐全,大小仅有11M)的更多相关文章
- 2017最新修复福运来完整运营中时时彩源码PC+手机版本功能齐全
QQ:1395239152 2017-3.14最新修复福运来完整运营版时时彩源码PC+手机版本功能齐全 使用php+mysql开发,并带有完整数据库.截图!!! 注意哈 带手机版 以下截图均为测 ...
- 创建一个C++制作的包含Opencv功能的dll,供C#程序使用
目的:获取某图片指定位置的颜色. 实现该目的的方法有很多,但为了有助于扩充自己技术广度,所以决定采用标题中的方法来完成. 没有C++编程经验,也没有制作C++版Opencv语法经验,也没有制作dll的 ...
- 用arduino制作具有无限数据传输功能的气象站
本项目是用arduino开源硬件,来快速制作具有无限数据传输功能的气象站,我之前做过一个带数据记录功能的气象站项目,这次算是升级和改进的版本. 第1步:构想 首先,需要增加从气象站到室内接收器的无线数 ...
- LightGallery.js – 功能齐全的 Javascript Lightbox
Lightgallery是一个轻量级的模块化.响应式的灯箱画廊,它允许您创建美丽的图像和视频画廊.借助缩略图插件的帮助,Lightgallery 允许您创建缩略图画廊.它支持触摸屏设备上滑动导航以及桌 ...
- Web Uploader - 功能齐全,完美兼容 IE 的上传组件
文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题. WebUploader 是由 Baidu FEX 团队开发的一款以 HTML ...
- Framework7 – 赞!功能齐全的 iOS7 App 前端框架
Framework7 是一个功能很全的 HTML 框架,用来构建 iOS7 应用程序. Framework7 允许您灵活搭建列表视图(表视图) .你可以让他们作为导航菜单,你可以在列表里面使用图标,输 ...
- 制作便携版 FireFox 火狐浏览器
Firefox是一款可高度自定义的开源浏览器: 你可以访问 火狐DIY 定制自己的Firefox安装包, 此外,你还可以自己动手定制一款可以放在U盘随身携带的便携版Firefox火狐浏览器. 制作便携 ...
- 一个功能齐全的IOS音乐播放器应用源码
该源码是在ios教程网拿过来的,一个不错的IOS音乐播放器应用源码,这个是我当时进公司时 我用了一晚上写的 图片都是在别的地方扒的,主要是歌词同步,及上一曲,下一曲,功能齐全了 ,大家可以学习一下吧 ...
- AndroidStudio制作登录和注册功能的实现,界面的布局介绍
前言 大家好,给大家带来AndroidStudio制作登录和注册功能的实现,界面的布局介绍的概述,希望你们喜欢 每日一句: Success is connecting with the world a ...
随机推荐
- springmvc实现简单的拦截器
SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方 ...
- linux-文件系统基本概念
linux中全部数据都是用文件存储,存放在文件夹中,文件夹呈树状结构. (一)文件类型 1.普通文件 包含文本文件.源码文件及可运行文件等.linux中不区分文本和二进制文件. 2.文件夹 类似win ...
- ffmpeg相关资源
FFPLAY的原理(一) http://blog.csdn.net/shenbin1430/article/details/4291893 ubuntu12.04下命令安装ffplay等: sudo ...
- com.apple.installer.pagecontroller 错误 -1 pkg安装错误
在网上下载了一个pkg 的安装文件: 在mac上安装一打就出现错误 原因是,文件从网上直接下载的,会出权限问题,需要修复安装软件的安装权限: 我的原因是,下载的是个rar的mac解压不了,就在线解压, ...
- 【MVC5】对MySql数据库使用EntityFramework
版本: MySql : 5.6.3 MySql.Data : 6.9.7 MVC : 5 EntityFramework : 6.1.3 VS : 2015 步骤: 1.安装[mysql-connec ...
- jQuery切换事件
有html页面内容如下: <body> <h5 id="hh">关于jQuery的介绍</h5> <p id="p1" ...
- C++ STL中Map的按Value排序
那么我们如何实现对pair按value进行比较呢? 第一种:是最原始的方法,写一个比较函数: 第二种:刚才用到了,写一个函数对象.这两种方式实现起来都比较简单. typedef pair<st ...
- es6常用数组操作及技巧汇总
定义数组 const array = [1, 2, 3]; // 或者 const array = new Array(); array[0] = '1'; 检测数组 Array.isArray([] ...
- lodash merge mergeWith使用
1.作用 递归合并来源对象的自身和继承的可枚举属性到目标对象. 2.示例 <!DOCTYPE html> <html lang="zh"> <head ...
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
声明: 本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...