We published information about Allwinner D1 SBC and processor a few weeks ago. The news was pretty interesting as it’s the first RISC-V processor from the company, and one of the first affordable RISC-V SBC.
But all we had at the time was hardware information from a leak, or rather from China-only Allwinner developer website. But now the company has added more information to its open-source development website with the release of documentation, now only in Chinese, as well as the Allwinner D1 Tina SDK.
Eventually, there should be a better SDK via linux-sunxi community and some are already working on the Allwinner D1 SBC, but let’s try to get the SDK from Allwinner and build the code from source using the documentation.
First, you’d need to register on Allwinner open-source website and click on signup.
You’ll probably want to select Email registration. Now fill your username, select a country, enter a company name, password, and email. For the country, anything is probably OK, but I’d avoid the default (China) just in case it sets the interface in Chinese. That is unless you can read Chinese of course!
Now click on the blue button next to the verification code field, and you should receive an email with the code. Now accept the terms and conditions (in Chinese only), and tick or untick the last line to receive information (or not) from Quan Zhi (aka Allwinner).
We now have access to several SDK’s and documentation, but the one that interests us here is D1_Tina_Open. We can click on the “SDK” text and then download it. At this point, we are presented with a disclaimer saying that whatever happens is not Allwinner’s responsibility, and you’d have to handle the license for any third-party code yourself.
I agreed, and got the following basic instructions:
I’ve then clicked on “Create a public key”, and insert the public key from my Ubuntu 20.04 laptop to get access to Allwinner repositories.
We should not install the repo boot script from the command as follows:
1 |
then edit repo/repo to change to the ssh username, e.g. to cnxsoft
1 2 3 4 5 6 7 |
#!/usr/bin/env python # repo default configuration # import os REPO_REV = 'master' |
Optionally copy the binary to your path and change the permissions:
1 2 |
sudo cp repo/repo /usr/bin/repo sudo chmod 555 /usr/bin/repo |
1 2 3 4 5 |
mkdir tina-d1-open cd tina-d1-open repo init -u ssh://[email protected]/git_repo/D1_Tina_Open/manifest.git -b master -m tina-d1-open.xml repo sync repo start product-smartx-d1-tina-v1.0-release --all |
We can run lunch to pick either the minimal image or the full image:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
lunch You're building on Linux Lunch menu... pick a combo: 1. d1_nezha_min-tina 2. d1_nezha-tina Which would you like?: 2 ============================================ TINA_BUILD_TOP=/home/jaufranc/edev/allwinner-d1/tina-d1-open TINA_TARGET_ARCH=riscv TARGET_PRODUCT=d1_nezha TARGET_PLATFORM=d1 TARGET_BOARD=d1-nezha TARGET_PLAN=nezha TARGET_BUILD_VARIANT=tina TARGET_BUILD_TYPE=release TARGET_KERNEL_VERSION=5.4 TARGET_UBOOT=u-boot-2018 TARGET_CHIP=sun20iw1p1 ============================================ |
We can install some dependencies and start the build.
1 2 |
sudo apt install build-essential ncurses-dev libssl-dev make -j8 |
The build process will take a while, and it’s still running as I’m completing this article. The Tina SDK is based on OpenWrt, more specifically OpenWrt 14.07… The software development kit also contains the Linux 5.4 kernel source code, drivers, tools, middleware, and application packages as described in the block diagtam below.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
The build fails with here…:
It looks like glib may have to be patched, or I need to rebuild from scratch.
We have also ported Debian to D1, and here is the remote access:
SSH: sipeed.softether.net:23489 password: sipeedpi
VNC: sipeed.softether.net:38798 password: licheepi
Some info from board: sipeed@MaixLinux:~$ uname -a Linux MaixLinux 5.4.61 #59 PREEMPT Thu Apr 29 06:33:50 UTC 2021 riscv64 GNU/Linux sipeed@MaixLinux:~$ cat /etc/issue Debian GNU/Linux 11 \n \l sipeed@MaixLinux:~$ cat /proc/cpuinfo processor : 0 hart : 0 isa : rv64imafdcvu mmu : sv39 sipeed@MaixLinux:~$ free -mh total used free shared buff/cache available Mem: 488Mi 173Mi 25Mi 4.0Mi 289Mi 299Mi Swap: 0B 0B 0B sipeed@MaixLinux:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 15G 3.7G 11G 27% / devtmpfs 241M 0 241M 0% /dev tmpfs 245M 44K 245M 1% /tmp 1234567891011121314151617181920 sipeed@MaixLinux:~$ uname -aLinux MaixLinux… Read more »
Also interesting:
can you explain what is interesting about that?
Sure, doing a web search for sun20iw1p1 currently (now and within the next weeks) is pretty interesting (it’s the Allwinner family name for the SoC in question so I would’ve expected a mention on linux-sunxi first) and scaling_max_freq correspondents to the real clockspeed the CPU is clocked with (confirmed by Willy’s mhz tool).
Ah, in that way. So the number of Google hits for “sun20iw1p1″ is a sign of the spreading of the Allwinner D1 through technical area’s.
Just curious… do you get sbc-bench to run on this board properly?
While benchmarking is pretty much useless this early, I gave it a try to maybe get some insights: http://ix.io/3lCg
It seems throttling occurs (and the thermal stuff happening completely outside of the Kernel’s control) since Willy’s mhz tool reports a few hundred MHz less after execution. The 7-zip benchmark failed to execute due to OOM. An apt install zram-tools might help with this and of course in general as well on something running off an SD card.
Oh, that’s cool. Thank you.
>We have also ported Debian to D1, and here is the remote access:
debootstrap == porting?
The XRadio SDKs might be interesting to people that are still fighting to get those wifi chips to work well.
Doesn’t look like you need to sign an NDA though.. just the silly agreement that can’t apply to GPLv2 code.
Sipeed is also working separately on Debian for Allwinner D1.
There’s an alpha Debian image @ https://mega.nz/folder/g8hWgDBI#Kx-HQhdGw2IPMRu3m36cqg
Using Allwinner-supplied repo binary is not so necessary. It’s only need if you have no access to official Google repo repository (which is the situation at China).
RVBoards team provides Debian image for Allwinner D1 at here https://www.rvboards.org/forum/en/topic/4/rvboards-allwinner-d1-debian-os-images
Is this a typo or did allwinner outdone themselve by using ~7 years old EOS releases?
That is what the documentation on Allwinner website says.
Oh, registration wall, that’s very open source of them
In fact, the “disclaimer” is at odds with the GPL.