zoukankan      html  css  js  c++  java
  • 制作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 VersionLaunch DateOpenWrt Version SupportedModel 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

    ModelSoCRAMStorageNetworkUSBSerialJTAGUEXTOtherlinux-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.

    For further information about the SoCs, go to http://linux-sunxi.org/Main_Page

    How can you help

     

  • 相关阅读:
    JQuery操作DOM
    JQuery事件和动画
    Jquery选择器
    初学JQuery
    JavaScript对象及面向对象
    JavaScript操作DOM
    JavaScript操作BOM
    JavaScript基础
    网络流之最大流Dinic算法模版
    杭电1532----Drainage Ditches『最大流』
  • 原文地址:https://www.cnblogs.com/zym0805/p/4615350.html
Copyright © 2011-2022 走看看