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