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.

  • 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

generic.sysupgrade

*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

制作Cubie版OpenWRT(功能齐全,大小仅有11M)的更多相关文章

  1. 2017最新修复福运来完整运营中时时彩源码PC+手机版本功能齐全

    QQ:1395239152 2017-3.14最新修复福运来完整运营版时时彩源码PC+手机版本功能齐全 使用php+mysql开发,并带有完整数据库.截图!!!  注意哈  带手机版  以下截图均为测 ...

  2. 创建一个C++制作的包含Opencv功能的dll,供C#程序使用

    目的:获取某图片指定位置的颜色. 实现该目的的方法有很多,但为了有助于扩充自己技术广度,所以决定采用标题中的方法来完成. 没有C++编程经验,也没有制作C++版Opencv语法经验,也没有制作dll的 ...

  3. 用arduino制作具有无限数据传输功能的气象站

    本项目是用arduino开源硬件,来快速制作具有无限数据传输功能的气象站,我之前做过一个带数据记录功能的气象站项目,这次算是升级和改进的版本. 第1步:构想 首先,需要增加从气象站到室内接收器的无线数 ...

  4. LightGallery.js – 功能齐全的 Javascript Lightbox

    Lightgallery是一个轻量级的模块化.响应式的灯箱画廊,它允许您创建美丽的图像和视频画廊.借助缩略图插件的帮助,Lightgallery 允许您创建缩略图画廊.它支持触摸屏设备上滑动导航以及桌 ...

  5. Web Uploader - 功能齐全,完美兼容 IE 的上传组件

    文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题. WebUploader 是由 Baidu FEX 团队开发的一款以 HTML ...

  6. Framework7 – 赞!功能齐全的 iOS7 App 前端框架

    Framework7 是一个功能很全的 HTML 框架,用来构建 iOS7 应用程序. Framework7 允许您灵活搭建列表视图(表视图) .你可以让他们作为导航菜单,你可以在列表里面使用图标,输 ...

  7. 制作便携版 FireFox 火狐浏览器

    Firefox是一款可高度自定义的开源浏览器: 你可以访问 火狐DIY 定制自己的Firefox安装包, 此外,你还可以自己动手定制一款可以放在U盘随身携带的便携版Firefox火狐浏览器. 制作便携 ...

  8. 一个功能齐全的IOS音乐播放器应用源码

    该源码是在ios教程网拿过来的,一个不错的IOS音乐播放器应用源码,这个是我当时进公司时 我用了一晚上写的  图片都是在别的地方扒的,主要是歌词同步,及上一曲,下一曲,功能齐全了 ,大家可以学习一下吧 ...

  9. AndroidStudio制作登录和注册功能的实现,界面的布局介绍

    前言 大家好,给大家带来AndroidStudio制作登录和注册功能的实现,界面的布局介绍的概述,希望你们喜欢 每日一句: Success is connecting with the world a ...

随机推荐

  1. mysql用法之创建事件

    1.创建事件:每天凌晨两点自动删除de_records表中七天以前的数据 CREATE EVENT event_delete_de_records_7days ON SCHEDULE EVERY 1 ...

  2. unity reflection probe --- forward deferred transparent opaque

    deferred 和forward reflection probe 的差别 deferred ref是逐像素的 forward是逐 obj 但我还遇到一个问题就是box projection ref ...

  3. Java笔记14:泛型初探

    一.泛型简介 泛型是从Java SE 1.5开始出现的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛 ...

  4. 开发 nodejs REST 个人感想

    本来想拿 nodejs 做个 ip 查询小应用的,做的时候想着把基础弄好再做应用,没想到做着做着就变成 spring 了 可能太多数人觉得不知道怎么用,以后我会写详细点使用教程 个人感觉自己做出来的东 ...

  5. Spring结合AspectJ的研究

    本文阐述以下内容:1.AspectJ是什么及使用方式2.Spring AOP和AspectJ的区别3.Spring结合AspectJ的使用方法和原理4.Spring注解方式使用AspectJ遇到的问题 ...

  6. 手写Json转换

    在做项目的时候总是要手动将集合转换成json每次都很麻烦,于是就尝试着写了一个公用的方法,用于转换List to json: using System; using System.Collection ...

  7. 关于bitmap recycle trying to use a recycled bitmap android.graphics.Bitmap

    在开发中,一直使用4.0以上手机作为測试机所以一直没有出现这个问题,今天换了2.3版本号的手机.出现了这个错误: trying to use a recycled bitmap android.gra ...

  8. Visual studio之C#跨线程调用UI控件

    背景 当前串口通讯项目,多个线程需要同时利用richTextBoxMsg控件打印信息,直接调用会造成线程不安全,严重的时候会直接导致UI线程挂掉,因此本篇就跨线程调用UI控件做个记录. 正文 定义控件 ...

  9. hdu1350Taxi Cab Scheme (最小路径覆盖)

    Taxi Cab Scheme Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...

  10. java集合框架01——总体框架一览

    java集合框架是java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合.数组.链表.栈.队列.映射等.java集合框架主要可以分为四个部分:List列表.Set集合.M ...