================================================================================= qMpfw SDK ================================================================================= qMpfw is a tool for developers to create a development enviroment for qMp. Basically it consists in one Makefile, so it is called using "make" command. Read Only URL: http://qmp.cat/git/qmpfw.git Developer URL: ssh://gitosis@qmp.cat:221/qmpfw.git ================================================================================= Command options ================================================================================= To compile a qMp image from scratch, you need to specify the target (next example with target=rspro): This command will run all necessary commands to compile the image. After the compilation you can see the LEDE code in directory: build/[target] make T=rspro build Also you can specify the number of parallel processes for compilation and the verbose level: make V=99 J=2 T=rspro build For work in developer mode (uses QMP readwrite repository instead readonly one) make T=rspro DEV=1 build --------------------------------------------------------------------------------- To see list of avaiable targets run: make list_targets --------------------------------------------------------------------------------- This will update the repositories on the target specified make update T=rspro --------------------------------------------------------------------------------- This will update all sources make update_all --------------------------------------------------------------------------------- To syncronize config files from configs/ dir to existing target make T=rspro sync_config --------------------------------------------------------------------------------- To run menuconfig (from LEDE): make T=rspro menuconfig After that, the new config file will be applied to destination target and also it will by copied inside build/configs directory --------------------------------------------------------------------------------- To run kernel menuconfig (from LEDE), in this case config file will be not copied because it is not directly compatible with configs/target/kernel_config: make T=rspro kernel_menuconfig --------------------------------------------------------------------------------- To run the initial checkout: make T=rspro checkout --------------------------------------------------------------------------------- Copy images built before to output directory make T=rspro post_build --------------------------------------------------------------------------------- To clean specific target: make T=rspro clean --------------------------------------------------------------------------------- To clean all targets: make clean --------------------------------------------------------------------------------- To clean just qmp packages from a target make T=rspro clean_qmp --------------------------------------------------------------------------------- To configure some general parameters from qMp you can run: make config TODO: This feature is missing ================================================================================= Directory structure ================================================================================= There are several directories and files. This is the functionallity for each of them: - Makefile: the main makefile - targets.mk: file which contains all information related with targets. If you want to add a new supported device you must edit it - build: here you will have all needed sources - build/configs: if you do some change in config file using "menuconfig" option, the new config is placed here (and also in destination target) - dl: download folder for LEDE/OpenWrt packages - configs: config files for each kind of hardware. These are the default ones provided by qmpfw - images: output directory for compiled images, each of them has a different timestamp, so you can have as many as you want - files: directories and files inside will be directly copied to the root of the system image - scripts: special directory to execute arbitrari script before and/or after the compilation process, see scripts/README