I see that there are four different links for Armbian installers.
This first one is not relevant because I want to install to EMMC:
khadas docs - /vim3/BootFromExtMedia
Here is another link which is not relevant because I want a server install:
khadas forum - /debian-for-vim3/8098
There are third party links to Armbian on this page:
khadas docs - /firmware/Vim3Firmware
Which links to here: https://yadi.sk/d/pHxaRAs-tZiei
It looks like the one I want is Armbian_20.02.0-rc1.037_Aml-s9xxx_buster_current_5.5.0-rc6_20200205.img.xz if I want a server install with a version of Debian I recognize.
How is this to be installed? From Android? From USB Tool? From krescue? USB boot? Micro SD boot?
This page has been aggressively mentioned as well: https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/
This page is confusing.
Example1- /extlinux/extlinux.conf “is now used” but “u-boot.ext file is needed on amlogic”-a contradiction
Example2- “Before launching on Amlogic, you must copy or rename one of the existing files “u-boot-*” to “u-boot.ext””. - Too confusing, I don’t understand. Where is the file?
Example3 - “if universal multi-upload has not yet been activated on this device, you need to activate it once.” What is that? How do I know it is activated? After this procedure is Linux installed or do I have to do something else?
Example4 - “My recommend that you perform a clean installation in eMMC. Be sure to make a full backup of eMMC before installing it in eMMC” - How do I do all this stuff? Is it necessary really?
Example5 - “Download and write the desired version of the u-boot file to SD card. Configure the DTB and the launch string (APPEND) in (uEnv.txt) for the desired model\platform.” - This is getting seriously complicated here.
It looks like link 3 might be the simplest route but link 4 seems to be the most “official” way going forward.
One more question I have is “suspend” likely to work in Armbian? This is the key feature for me.
In the meantime I will continue trying to debloat the Ubuntu server I have installed on the device right now.
Thanks. I was hoping to avoid doing the fenix thing. That is guaranteed to fail somewhere. The build computer has to be setup correctly for compiling, it has to be updated, it has to be modern enough to not take several days, it will need lots of RAM etc. It seems like a questionable option really but I will certainly try it anyway and let you know how it goes.
As for suspend, I have never had it work on any laptop, desktop, tablet, or sbc running linux before at any time. So having suspend working within the ubuntu server was like a miracle to me. I did have to disable the power-off on power button press or otherwise the system would shutdown when pressing the power button thereby conflicting with the suspend functionality.
Does anyone know how the files in link 3 are supposed to be used?
I gave fenix a try on a Debian laptop. It said the build environment was unsupported and to use Ubuntu. I see there is something about Docker on the documentation page for fenix. I have not used that. Don’t know if it is best to try to use that or install an Ubuntu virtual machine or something.
As for suspend, for me, as listed in the Vim3 beginner’s guide, quick pressing the power button wakes the device up or powers the device up. But it also shuts the device down in Linux by default like quick pressing the power button on a desktop computer. If you disable this shutdown with button functionality, the suspend functionality works as intended: when you write mem to /sys/power/state the device will suspend, when you quick press power the device will awaken.
I was suprisingly able to build a debian image with docker and fenix last night.
I found out a few things about Docker. You need docker-ce 17.09 or earlier if you are building without systemd on at least on a Devuan 1.0 system. You also need a kernel newer than 4.8 to use the binfmt_misc kernel module successfully on the host system to compile. So the old SBC development laptop did not work.
I then tried on a newer laptop that was better for compiling anyway running a much newer kernel. It did go through with no errors what so ever.
Now I am just faced with writing the image. I looked at the readme on github and am still trying to figure it out. With my device the ethernet port is sort of blocked. Can you use USB ethernet? How does the “USB net” firmware upload option work?
After looking at this some more I have further questions.
This fenix image can only be written by krescue?
krescue can only be booted from micro sd?
My micro sd slot is sort of blocked also.
Another question: can you just write this image with the usb tool? I am familiar with that. I feel I am so close but so far.
I am currently attempting to burn the image with USB burning tool since I do not know any better. But before I do hdmi resolution needs to be manually set. I have been unable to mount the img in order to edit files. kpartx is showing one partition only all attempts to mount it have failed. Because I am unable to set HDMI resolution I am unable to continue on this mission which may or may not work with the USB tool and may or may not work with the image I have built.
I have started a new thread and will come back to this one when I have a solution for editing the image files.
The delay in this forum software is unbelievable sometimes.
Anyway the usb tool seemed to work, but I did not enter the correct uuid in env.txt.
How did you handle that in the official ubuntu image? I did not have to edit uuids with that.
After building a new image with an edited UUID it boots up!
The USB tool appears to have written the image fine. I used the USB tool to flash Ubuntu and to flash the bootloader after accidentally flashing the VIM3L image back when I first got the VIM. I am using the Windows version of the tool and it works great by the way. I used default settings. The only time I had problems with it was when I had errors pertaining to flashing the wrong image.
I was able to find the UUID of my EMMC from the rescue prompt with blkid. I manually transfered this to the build laptop where I edited the UUID of env.txt in the rootfs image and then rebuilt the main image. I still do not understand why I am having to edit the UUID though.
Currently I am having to reflash.
Why in the world does the board support package software have a dependency on systemd? I noticed that was going to be removed along with systemd and once I rebooted I had a soft brick.
I rebuilt the board support package without the dependency on systemd or network-manager but the board still does not reboot after the board support package is removed along with systemd and I then install my modified board support package. The next step would be to try to modify the board support package before the image is built.
I now know why the board support package requires systemd. This is because there are a bunch of systemd scripts that setup things like the HDMI resolution at a low level. It is troubling that many features of the board appear to require systemd. It makes me wonder how other SBCs I have tried have been able to avoid that. I thought I had Debian with systemd removed on my Odroid C0 boards but maybe not. One way would obviously be to use a distribution that does not use systemd. I don’t like the use of systemd here but I am not in a position to do anything about it currently.