dimag0g
Very Active Member
Hello all,
This is a thread about the current developments in cdevtools package (aka cdevtools v2). The package is now distributed as an update to the origial cdevtools package released by freamon. The thread about the older versions of the package is here.
The killer feature of cdevtools is the ability to automatically download kernel sources and build a working kernel.
I started to work on this PND when I realized that the original cdevtools was not supported anymore. This was also an opportuniny to impose some strict guidelines which I intend to follow in the future versions:
- it is supposed to include dev packages for all* libraries included in the firmware. The versions of these dev packages should correspond to the up to date firmware versions of the libraries.
- it is supposed to include all* command-line development tools for C/C++. These tools should be updated to the recent versions, not necessarily corresponding to packages in openpandora feed.
- no extra libraries should be included in the PND, unless they are required by included development tools or otherwise absolutely necessary.
(by all* I mean all libs/tools which are actually useful to someone. I will be willing to add them on request in the future versions, unless they create problems. I also might remove some of the libs/tools if noone seems to use them, or if they break the toolchain).
Of course, you will need to include additionnal libraries for projects you will build with cdevtools. There are two choices as for how to proceed:
1. add library packages from the feeds
(addipk will not install dependencies automatically, but will inform you about any missing dependencies, which you should in turn install with addipk. By default, openpandora base feed and angstrom base feed are used, you can add more feeds via appdata/cdevtools/etc/opkg/*.conf files)
2. build the library from soucrces
(at this point, you should have all the files in the right places, and the library should be available to the toolchain without any further tweaks)
If make install fails with error "Cannot chmod directory: operation not permitted", you can try to install directly in the appdata folder:
(at this point you must close and reopen the PND so that new files become visible at PND mountpoint)
Running
will install documentation in form of man and texinfo pages, so you will have something to read when you need a break from coding. You should be able to find information on a topic with "man topic", or by typing "info" pressing "m" and typing the topic name. Searching by keyword would be "man -k keyword" or "info -k keyword". More sophisticated natures could try "apropos keyword", while straightforward types would just ask "whatis keyword".
The PND contains all the scripts which I used to produce this package. In case you want to build your own toolchain, you might want to extract the setup folder in an empty root folder and run get-libs.sh, get-tools.sh and pack-pnd.sh. This should produce a more or less working PND in the setup. The toolchain will still need some intervention (mostly installing missing or newer tools like automake or man) to work correctly, but at least you start with something.
By carefully selecting the dev packages you need, you could actually be able to make a small enough PND to fit into the firmware (in the /pandora directory), the advantage over the root install being the compression and reduced chances to screw up with dependencies to the point when you will need a reflash.
Comments, suggestions and bug reports are welcome. Download link is at the top in case you overlooked it.
This is a thread about the current developments in cdevtools package (aka cdevtools v2). The package is now distributed as an update to the origial cdevtools package released by freamon. The thread about the older versions of the package is here.
The killer feature of cdevtools is the ability to automatically download kernel sources and build a working kernel.
I started to work on this PND when I realized that the original cdevtools was not supported anymore. This was also an opportuniny to impose some strict guidelines which I intend to follow in the future versions:
- it is supposed to include dev packages for all* libraries included in the firmware. The versions of these dev packages should correspond to the up to date firmware versions of the libraries.
- it is supposed to include all* command-line development tools for C/C++. These tools should be updated to the recent versions, not necessarily corresponding to packages in openpandora feed.
- no extra libraries should be included in the PND, unless they are required by included development tools or otherwise absolutely necessary.
(by all* I mean all libs/tools which are actually useful to someone. I will be willing to add them on request in the future versions, unless they create problems. I also might remove some of the libs/tools if noone seems to use them, or if they break the toolchain).
Of course, you will need to include additionnal libraries for projects you will build with cdevtools. There are two choices as for how to proceed:
1. add library packages from the feeds
Code:
$ addipk libzizi-dev
libzizi-dev depends on libzizi2
$ addipk libzizi2
(addipk will not install dependencies automatically, but will inform you about any missing dependencies, which you should in turn install with addipk. By default, openpandora base feed and angstrom base feed are used, you can add more feeds via appdata/cdevtools/etc/opkg/*.conf files)
2. build the library from soucrces
Code:
$ wget http://zizihost.org/releases/libzizi-src-2.0.tar.gz
$ tar zxf libzizi-src-2.0.tar.gz
$ cd libzizi-src-2.0
$ ./configure --prefix=$CDEVROOT/usr
$ make && make install
(at this point, you should have all the files in the right places, and the library should be available to the toolchain without any further tweaks)
If make install fails with error "Cannot chmod directory: operation not permitted", you can try to install directly in the appdata folder:
Code:
$ cd libzizi-src-2.0
$ ./configure --prefix=$APPDATADIR/usr
$ make && make install
(at this point you must close and reopen the PND so that new files become visible at PND mountpoint)
Running
Code:
$ cd $CDEVROOT/setup
$ ./get-docs.sh
$ ./index-docs.sh
will install documentation in form of man and texinfo pages, so you will have something to read when you need a break from coding. You should be able to find information on a topic with "man topic", or by typing "info" pressing "m" and typing the topic name. Searching by keyword would be "man -k keyword" or "info -k keyword". More sophisticated natures could try "apropos keyword", while straightforward types would just ask "whatis keyword".
The PND contains all the scripts which I used to produce this package. In case you want to build your own toolchain, you might want to extract the setup folder in an empty root folder and run get-libs.sh, get-tools.sh and pack-pnd.sh. This should produce a more or less working PND in the setup. The toolchain will still need some intervention (mostly installing missing or newer tools like automake or man) to work correctly, but at least you start with something.
By carefully selecting the dev packages you need, you could actually be able to make a small enough PND to fit into the firmware (in the /pandora directory), the advantage over the root install being the compression and reduced chances to screw up with dependencies to the point when you will need a reflash.
Comments, suggestions and bug reports are welcome. Download link is at the top in case you overlooked it.
Last edited by a moderator: