PDA

View Full Version : Enigma development environment



Erling
28-03-15, 13:43
I have just built apollo 161 on my Mac running CentOS under virtualization, and the resulting image seems to work on my duo2. While bitbake works well for image build, what is a good setup for day to day enigma development? Do you work within the oe-a tree or do you work in a separate environment? How do you upload and debug the result on the target? Are there support for running engima on the build machine for debugging or is it bound directly to the target hardware?

Any advice is appreciated.


Erling

rossi2000
28-03-15, 13:55
i have a dual x quad core xeon / 16gb ram / 600gb sas raid 0 for building images.
ubuntu os.

you clone the oe-a and e2 and work with it locally.

depends on what you want to do depends on how to upload/download from target device

and yes the image you build is only for that device. we all use our boxes for coding.

C++ edits have to be built into enigma2 to test, wheras python edits can be used on a running machine.

anymore questions, just ask.! :)

twol
28-03-15, 15:35
If you are not yet into it, you need to read up on GIT and GIT commands so that you can clone or fork the relevant GITHUB databases for VIX and OE and then if you make changes locally to "your" forked version commit the changes on GITHUB.
Can be great fun :) I use a Ubuntu system for building E2 images on my dual boot Windows/Ubuntu system. There is a helpful 2012 write up by scruff1963 on building an OpenVix (or other) image ... just google. :)

Erling
28-03-15, 17:39
Thank you for the quick reply, rossi2000.

Python edits works well with my setup. I wrote a ftp plugin many years ago for the BBEdit text editor (Mac) for config file edits on our embedded systems (running VxWorks at the time). Barebones (the BBEdit vendor) has since integrated the plugin into their products, and thus I use the free TextWrangler app right out of the box for python edits (as well as box config file edits). Could not be happier with this setup.

C++ edits is a different story. I have limited experience with linux development, but I did help out a few years ago with (C++) software for a handheld ultrasound machine running MontaVista linux. The targets were setup to netboot from the build machine, and thus the build results could simply be stored directly into the rootfs of the targets. The targets also had build tools installed, but native target build was too slow to be useful in practice (except for command line tool development). The Qt based app could run (sort of) without target hardware present, and gui debugging could therefore be done largely on the linux host. It could even be done on my Mac, due to Qt.

I have no experience with OpenEmbedded, though. The build folder is gigantic, more like the size of the file system for the Deep Thought machine, there are over 750.000 items in the 21 GB folder. The e2 sources seem to live in a gzip'ed repo in the sources folder. Is the idea to build, ie make, in a checked out e2 folder using cross tools separate from the bitbake environment, or is the idea to pack the edits back into the bitbake sources folder, and bitbake again? The latter would make a new image, I guess, but all I want for now is new e2 binaries for test, until things are ready for integration into a new image.

I am sorry if I have missed something obvious.

BTW, what I want to do right now is to look into a sporadic e2 crash when setting up the satellite tuners, fix a setup wizard issue where the name of the box appears as "%s%s" (not a disaster of course, but a useful exercise in order to learn how to create an image with at least one obvious change in it), and also fix and complete the norwegian translation, all just for hobby, and not to commit anything (if that's even possible).


Erling

Erling
28-03-15, 17:50
twol,

I'll try to locate that write up. However, it seems necessary to carve out a reasonable build environment out of the bitbake build folder (ie sources and cross tools). You mentioned the "relevant GITHUB databases". How did you figure out what's relevant for e2 development? Just trial and error (as the full bitbake was, by the way), or is this documented somewhere?


Erling

rossi2000
28-03-15, 18:03
if you just want to do those bits you mentioned

just clone the openvix enigma2 git, this is totally separate from the oe-alliance oe git.

once youve cloned the git, you will have all the required source files to mess around with, once you made an edit to the py files you can transfer that to your box and restart e2 to see if it works.

the translations are .po files in enigma2 aswell, you will need poedit to sort those out.