Hi Mike, Mike Thompson wrote,
I'm very interested in determining the effort to create a port of OpenADK to the ASUS Tinker Board. Does anyone have experience with OpenADK on this or other Rockchip based hardware to use as a template to get started from?
You can start with the OpenADK manual: https://docs.openadk.org/html/manual.html#adding-boards
If you think the manual is outdated or incomplete, please give me some feedback. The most important goal for me keeping OpenADK in a good shape is to provide a really simple method to add support for new architectures, operating systems and samples for real hardware.
Last weekend I again optimized the menu based configuration to hopefully achieve a more intuitive way to configure a customized configuration. First you choose a operating system, then an architecture and then a sample for a device or generic stuff.
So if you find any issues adding a new device, please report back.
Normally adding a new device sample is done by simple convention rules. Choose a unique name f.e. asus-tinker. Add new files for it in target/arm/systems and target/arm/kernel with this name. Use some existing files as base.
Then the new device should just appear in the next make menuconfig run.
If there is Linux upstream support for the device you could just start building a toolchain and basic kernel and userland.
Later you can either use a defconfig or use OpenADK mini config abstraction layer. You add new devices or enable devices by default in target/linux/config with ADK_TARGET_SYSTEM_ASUS_TINKER.
I believe you can get a minimal working Linux system for a new device in just one day.
Let me explain a little where I'm coming from with this.
Two years ago as a consultant I did a port of OpenADK to support the Google "Project Blocks" tangible programming system for children. See: https:// projectbloks.withgoogle.com/
The "Brain Block" in the Project Block system was powered by the recently released Raspberry Pi Zero and I chose OpenADK was the OS. I'm the original creator of Raspbian, but with a bit of irony, I had to make the decision that Raspbian was not the right fit for this project. The fact that OpenADK with stripped down kernel could boot almost instantly and the rootfs being read-only were extremely compelling features for an embedded Linux system that had to be VERY robust in the hands of children. At the time I was under heavy non-disclosure agreements with Google regarding my work with the project so I couldn't say anything about it at the time, but I found OpenADK to be very pleasant to work with. I don't know the current status of things since finishing my work in 2016, but I hope that they are continuing to use OpenADK with their research in tangible computing.
Cool, thanks for sharing the information!
Now two years later I'm an employee at a 3D printing start-up company where we have the need to create some robust Linux based embedded systems for robot control using Rockchip based ARM systems -- the ASUS Tinker Board being a fairly computationally powerful system to start with. I could use a stripped down Ubuntu system (kids won't be anywhere near these robots), but I think OpenADK or Yocto would be a better embedded solution where the system just needs to work with minimal management that a heavy Debian or Ubuntu system might entail.
If a port doesn't exist, I'm assuming I would have to get a good understanding of the Rockchip boot process to create the first stage and second stage bootloader (probably Uboot), a custom kernel for this hardware, the image requirements for an SDK card and figure out how to put it all together within OpenADK. I think I have the skills to do this, but I'm a little weary of the time it might take to figure it all out. Also, being a start-up, my budget is rather slim to pull in outside help.
Yes, good summary, what you need to do.
There might be different options working in the past to get further help. - just use the community support for help (okay, our community is small) - sent me a device and I can give you support by e-mail and verify any issues you get. no guarantee given. (worked for PC Engines APU Support, Phytec Wega and RPI Zero / Orange PI Zero in an acceptable way.) - book a workshop by me, like Ableton lately done. (but as you are located in u.s. I am not sure this would be an option ;)) - for selective problems you can buy just some payed work for bugfixing or new features or regular help. I have a registered company and can create official bills.
I wanted to get some guidance from the folks on this mailing list to see what I might expect with regards to such a porting effort for OpenADK. Sorry for the long email on this question.
OpenADK is great, use it, you get fast a working system ;)
As I am too much non-neutral, I hope others will reply to your mail sharing their experiences. :)
Diez? Joerg? Oliver? Phil? Joern?
I already pushed Martin to give some feedback ;)
Thanks in advance, Waldemar