ARM – Next CHIP ARMv7 – First Impressions..

After pre-ordering one many months ago, I finally got my Next CHIP ARMv7 system in the post..

Next Chip

Next CHIP

It certainly is fairly small, but seems well-constructed..     Details are at http://docs.getchip.com/chip.html#chip-hardware

After connecting the UART/USB cable, as normal, the system booted into a cut-down version of Debian..   There is no hdmi, or sdcard connector, or Ethernet, but the wi-fi connection works as well as can be expected..   Quite a bargain at only $9..   The on-board storage (only 4GB) is in the UBIFS format, and this needed some more research…

The plan – initially – was to get it to boot onto a rootfs on an USB stick (ext4) and run Fedora 24..     This was relatively easy, involving a change to the u-boot bootargs parameter to point to sda1 – the USB stick.

setenv bootargs “root=/dev/sda1 rootfstype=ext4 rootwait rw”

After this, the device booted into Fedora 24:

...............
(FEL boot)
...........................
UBI: attaching mtd1 to ubi0
UBI: scanning is finished
UBI: attached mtd1 (name "mtd=4", size 8176 MiB) to ubi0
UBI: PEB size: 2097152 bytes (4096 KiB), LEB size: 2064384 bytes
UBI: min./max. I/O unit sizes: 16384/16384, sub-page size 16384
UBI: VID header offset: 16384 (aligned 16384), data offset: 32768
UBI: good PEBs: 2044, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1098611298
UBI: available PEBs: 0, total reserved PEBs: 2044, PEBs reserved for bad PEB handling: 40
Loading file '/boot/sun5i-r8-chip.dtb' to addr 0x43000000 with size 22617 (0x00005859)...
Done
Loading file '/boot/zImage' to addr 0x42000000 with size 5619496 (0x0055bf28)...
Done
Kernel image @ 0x42000000 [ 0x000000 - 0x55bf28 ]
## Flattened Device Tree blob at 43000000
 Booting using the fdt blob at 0x43000000
 Loading Device Tree to 49ff7000, end 49fff858 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
.................
Fedora 24 (Twenty Four)
Kernel 4.3.0-ntc on an armv7l (ttyS0)
$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 1001.88
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Allwinner sun4i/sun5i Families
Revision : 0000
Serial : 1625428a0982b662

After that, I configured wireless networking, and everything seemed to be OK, but then the device ‘died’ suddenly…   I had read that the USB port was rather low-powered, and so I attached a powered USB2 hub, reattached to USB stick to that, re-booted, and all is well, now..

I installed the mtd-utils-ubi package to handle the UBIFS mount, and added the commands to do this to rc.local, after creating the nand-root mount point..   I will be changing the pre-configured volume name to something other than ‘rootfs’ to avoid confusion..

# ubiattach /dev/ubi_ctrl -m 4
[ 501.640000] ubi0: attaching mtd4
[ 503.080000] ubi0: scanning is finished
[ 503.120000] ubi0: attached mtd4 (name "rootfs", size 8176 MiB)
[ 503.130000] ubi0: PEB size: 4194304 bytes (2048 KiB), LEB size: 2064384 bytes
[ 503.140000] ubi0: min./max. I/O unit sizes: 16384/16384, sub-page size 16384
[ 503.140000] ubi0: VID header offset: 16384 (aligned 16384), data offset: 32768
[ 503.150000] ubi0: good PEBs: 2044, bad PEBs: 0, corrupted PEBs: 0
[ 503.160000] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[ 503.160000] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1098611298
[ 503.170000] ubi0: available PEBs: 0, total reserved PEBs: 2044, PEBs reserved for bad PEB handling: 40
[ 503.190000] ubi0: background thread "ubi_bgt0d" started, PID 639
UBI device number 0, total 2044 LEBs (4219600896 bytes, 3.9 GiB), available 0 LEBs (0 bytes), LEB size 2064384 bytes (2.0 MiB)
.....................................
# mount -t ubifs ubi0:rootfs /nand-root
[ 634.770000] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 646
[ 636.570000] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[ 636.580000] UBIFS (ubi0:0): LEB size: 2064384 bytes (2016 KiB), min./max. I/O unit sizes: 16384 bytes/16384 bytes
[ 636.590000] UBIFS (ubi0:0): FS size: 4108124160 bytes (3917 MiB, 1990 LEBs), journal size 18579457 bytes (17 MiB, 9 LEBs)
[ 636.600000] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[ 636.610000] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID 6BCEE06C-CCC9-42CF-B11E-A4A92824F204, small LPT model

As the wi-fi connection is so slow, here, I am planning to fit a USB/Ethernet adapter for the network connection – similar to the Hikey and 410c, and – of course – I will be compiling my own kernel..

Robert Gadsdon.  July 11, 2016.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.