Ayufan’s Armbian on a V88 Piano or V88 Mini III
These two TV boxes seem to be electrically identical except that the V88 Mini III has 2 GB RAM and 8 GB ROM whereas the V88 Piano has 4 GB RAM and 16 GB ROM.
They use the same PCB as can be seen from the photos in these FreakTab topics:-
I do not have a V88 Mini III to test but I believe that my results for the V88 Piano should also be relevant to it.
N.B. many sites claim that the V88 Piano has Gigabit Ethernet (1000 Mbps). It does not: it only has Fast Ethernet (100 Mbps) like the V88 Mini III.
One nice thing about these TV boxes is that, unlike many others, they will boot easily from a micro-SD card.
Just insert the card and power on
My aim was to have Ubuntu running with all version-specific partitions (boot and root) on a USB drive.
I wanted to keep Android in the internal eMMC so that I could dual-boot by just inserting or removing the micro-SD card.
I wanted to have the root partition on a USB stick for three reasons:
1) A good USB stick is faster than a micro-SD card.
2) This avoids the system writing repeatedly to the micro-SD card because, if the root partition is on the micro-SD card, after a while it gets corrupted and will no longer boot. This happened to me with both a cheap Ansonchina card and also with a Kingston card. Maybe the write timings in the micro-SD card driver are incorrect.
3) Whilst experimenting on Amlogic boxes I have fried two big micro-SD cards. I have read that others have fried cards on Rockchip boxes. Moving the rootfs to a USB stick enables me to use a smaller and cheaper card.
(I suspect that they were destroyed by over-voltage due to a badly programmed regulator. With a 5 V USB stick and a 5 V PSU there should be no risk as I don’t think the regulators used can step up the voltage.)
I also wanted the boot partition to be on the USB stick so that I could have several GNU/Linux distributions on different USB sticks and boot with the same unmodified micro-SD card containing just the boot loaders.
I have deliberately avoided the necessity to have a Linux (or even Windows) PC.
N.B. the Ubuntu system will not (yet) have working Wi-Fi.
You will need:-
- a rooted V88 Piano (mine was sold pre-rooted)
- a micro-SD card: mine was 8 GB but 4 GB should suffice
- a USB Flash Drive: I have used both 32 GB and 8 GB but 4 GB may suffice for a fairly minimal system
- a USB keyboard (and mouse if installing a desktop): I used a wireless mini-keyboard/mouse
- a wired (RJ45) Ethernet connection with DHCP and Internet access
- an HDMI display
WARNING: before using a /dev/ or /dev/block device verify that you are using the correct one, using dmesg for instance. Otherwise you could overwrite precious data.
However if you remove all additional USB drives the names below should be correct.
The login is rock64 with password rock64 which is also required for sudo.
First step – install Ayfan’s Ubuntu Xenial Minimal 0.5.15 on a micro-SD card and prepare 0.6.25 on a USB stick.
I installed and used Google Chrome for the following downloads because, with the stock Lightning browser, I couldn’t see when the download had finished.
(The busybox wget can't be used because it doesn’t support https.)
Open https://github.com/ayufan-rock64/linux-build/releases/tag/0.5.15 in the browser.
If you wish to pass directly to Ubuntu Bionic you could use the Bionic 0.6.25 image instead of Xenial below.
However this may make it more difficult to update U-Boot later as I think a Xenial environment is expected to compile it.
Open https://github.com/ayufan-rock64/linux-build/releases/tag/0.6.25 in the browser.
Insert the micro-SD card and the USB stick.
N.B. all existing files on both will be destroyed.
You will be asked how to use the USB stick: choose "removable storage" and "cancel" if asked whether to format it.
Execute the following actions and commands (in the text following the $ or #).
Install and start ConnectBot.
Open a local shell.
Enter the directory where browsers save downloaded files.
# cd /sdcard/Download
Decompress the files.
# busybox xz -d xenial-minimal-rock64-0.5.15-136-arm64.img.xz
# busybox xz -d xenial-minimal-rock64-0.6.25-193-arm64.img.xz
Write the 0.6.25 image to the USB stick.
# dd if=xenial-minimal-rock64-0.6.25-193-arm64.img of=/dev/block/sda bs=1048576
Write the 0.5.15 image to the micro-SD card.
# dd if=xenial-minimal-rock64-0.5.15-136-arm64.img of=/dev/block/mmcblk1 bs=1048576
Ensure everything is written.
Power off the box.
Second step – boot Ayfan’s Ubuntu Xenial Minimal 0.5.15 and prepare the switch to 0.6.25 on the USB stick.
Insert the micro-SD card.
Boot and login (rock64/rock64).
$ sudo -s
Remove partitions 6 (boot) and 7 (root) from the micro-SD card so that U-Boot and Linux will use the ones on the USB stick next time.
Luckily this only deletes their entries so Linux can continue to use them until they are unmounted.
Reply "Yes" and "Ignore" to the warnings.
# parted /dev/mmcblk1
Third step - boot Ayfan’s Ubuntu Xenial Minimal 0.6.25 from the boot and root partitions on the USB stick and prepare to update to a recent version.
Insert the USB stick in the middle USB slot and insert the micro-SD card.
Boot and login.
$ sudo -s
This DHCP configuration will be necessary for Bionic.
# cd /etc/network/interfaces.d
# sed s/eth0/eth1/ eth0 > eth1
At the time of writing there are only pre-release versions of 0.6.x but Ayufan has promised an official release shortly after the official release of Bionic due on 24th April.
If, in addition to Ubuntu updates, you want to update to Auyufan's pre-release versions with an added risk of instability then:
# vi /etc/apt/sources.list.d/ayufan-rock64.list
Uncomment the last line
# apt update
The following lines are necessary if you update to a more recent Ayufan version which will disable eth1:
This is needed to re-enable eth1:
# apt install device-tree-compiler
Make rc.local enable eth1 which is disabled in recent versions and disable eth0 which is not used on the V88 Piano:
# vi /etc/rc.local
Add these two lines just before the last line (exit 0):
enable_dtoverlay eth1 ethernet@ff550000 okay
enable_dtoverlay eth0 ethernet@ff540000 disabled
# apt dist-upgrade -y
If you want a Mate desktop you can:
# install_desktop.sh mate
This gave me an error which I corrected with:
# apt -f install
If you wish you can also upgrade from Xenial to Bionic with do-release-upgrade.
You should now be running an up-to-date version with the boot and root partitions on the USB stick.
The next step will be to compile and install a more recent U-Boot supporting the USB 3.0 port correctly.
To be continued...
The procedure above may seem convoluted so here are some additional explanations.
0.5.15 is used for its boot loaders as it is the latest version which will boot directly from a micro-SD card. Unfortunately it does not have working Ethernet and its U-Boot will not load correctly from the USB 3.0 slot.
0.6.25 is used because it has working Ethernet to install device-tree-compiler which is needed to re-enable eth1 on recent versions.