To create a valid SBC Linux Image we need to know what software that would be useful to a new comer to have pre-installed.
Statring with Ubuntu 14.04 LTS for ODROID /RPi2
Additional Software would be
System Software
- FTDI USB support (drivers are built in)
- Python
- WiFi Support (As Client and Access Point)
- DHCP and DNS Support
- LTE Module Support (needs list of compatible devices)
- OpenCV + Python Bindings
- OpenVPN support for secure connections
- gstreamer-1.0
Drone Software
- MAVProxy
- DroneAPI
Python Applications
- Randy's Balloon Finder
- Drone API examples
Bootup to start MAV Proxy and other Python software in know configurations
[LATER] Also
- Inadyn
- dnsutils
- modeswitch
- proftpd
- VLC (Some people prefer VLC over gStreamer)
- Uqmi ? (True LTE support. Widely used by OpenWrt)
Replies
I was thinking about this lately. My professional experience is mostly in build and validation for all sorts of projects.
It does strike me that there's an opportunity to save development effort. Given that Docker can run on ARM cores, perhaps the development of the companion computer could be created as a Docker image. There's very little resource utilisation and the processes run at native speed. Compilation can be done once and save the community the pains of compiling on slow ARM devices and also allow cleanup of the sources. Most importantly once the balloon tracker works in 1 docker image, it'd work on every board and boards yet to be created.
Maybe we're moving the problem to be how to install docker for ARM boards, however there are some really nice perks.
Hello Jaimie,
Have you looked at Ubuntu Snappy ?
Might be interesting as an option
I haven't looked at snappy, seems like Chuk did though.
I did try to implement this using a Dockerfile, I managed to get an importable dronecode api in python running on x86 Docker, however after trying it using docker on an ARM image, this seems to be a little less ready for primetime, I wouldn't depend on it to keep my drone in the sky.
I almost have it working. It's built a small image, with more packages available to install with "opkg". It requires the master branch for Pi2, so it's a little tricky to build. Had to make a few file edits in the work dir, that belong in the recipe. Most of whats on the list here is there, a few broken packages. Trying to get it to auto-resize rootfs now, then I'll put something into git. Might just be a tgz of the meta dirs.
With a little work, it should build the same packages for other boards too.
BB_VERSION = "1.29.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "raspberrypi2"
DISTRO = "poky"
DISTRO_VERSION = "2.0+snapshot-20160217"
TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU = "hard"
Hardware troubles have kept me from working on this for over a week, I think thats fixed now.
It is looking good for going this way, but keeping up with the Master branch is difficult. What works one day breaks the next. And one thing I worked around probably doesn't need that anymore.
So far I have a diydrones "branded" meta layer, and two image recipes, one for GSC and one for OBC. Mostly just focused on GSC, but tried to get some include files correct. One thats hardware specific (Pi2 only), and one for common stuff. It's still a little confusing what *can* be in the recipe, and what *needs* to be in the local.conf file.
Hopefully by the end of the weekend I'll have something worth sharing. And someone else can decide what really goes in each image. And other board support can be started.
I'll finish up the Wiki Page and scripts this week. I wish I had more time to work on stuff like this, but I spend my days writing C#/.NET/SQL stuff to earn a living.
Were you able to progress on this? I can help with reviewing the wiki/scripts...
Randy,
Is there a way on the github to indicate sources of informations ?
Like the Raspbian == release and where it has been downloaded
Complementary sources eference: like pyimagesearch for the openCV-Python overlay, etc.
so anybody can get to the source and get the full information and quality control as well
I've uploaded v0.3 of the RPI2 image to firmware.diydrones.com.
Changes from v0.2 are:
I've tested that both MAVProxy and dronekit are able to connect to a Pixhawk using a USB-to-serial connector. This is more like the method recommended for the Odroid but it was easier for me to do this as a first step.
Why not removing some space consuming stuff we don't need such as libreoffice and wolfram?
sudo apt-get purge wolfram-engine
sudo apt-get remove –purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove