====== Building DTVKit ====== DTVKit is a customisable and flexible software stack. The proposed automated build process is an optional component for all members of DTVKit. This package is released as of the March Release 20.3.0 on 26/03/20 Before running through this tutorial, it is assumed that the reader is already familiar the steps for building the modules individually - i.e. using example_setenv.sh, and make. You can find the package here: https://dtvkit-my.sharepoint.com/:f:/g/personal/philtevans_dtvkit_onmicrosoft_com/EszHzjWXn8xJq16wf9D6cVkBflKfirMzXawOHGt_mrRNFw?e=zprsoc Please check the forum, or email info@dtvkit.org for the password (members only) ===== Quick Start ===== ==== Preparation ==== Please ensure you have the following: * A GitHub account with access to the DTVKit repo's * Installed SSH keys so git clone is possible * Downloaded the tarball package (link in section above) * A 64-bit PC ==== Quick Start - 64-bit native, git master ==== In this 'quick' start tutorial, we will be building and running DTVKit on a 64-bit PC. To begin, 1. Extract the tarball anywhere beneath ${HOME} //This should create a top level directory called 'dtvkit'// 2. Change to the top level directory ''cd ~/dtvkit'' 3. The tarball puts the //Makefile// and //Makefile.bash// in the top level //dtvkit// directory 4. Read through the //Makefile// and //Makefile.bash// 5. Run ''make dtvkit-build-id DTVKIT_BUILD_ID=Host=x86_64:Guest=x86_64​'' 6. Clear the make targets with ''rm t-*-dvbcore'' 7. Run ''make t-clone-dvbcore'' ''make t-custom-dvbcore'' ''make t-setup-dvbcore'' ''make t-build-dvbcore'' 8. Run ''less $(ls -Rt logfiles/t-build-dvbcore-*)'' to inspect the most recent DVBCore logfile which contains a summary off the build configuration and the build output. 9. Clear the make targets with ''rm t-*-app'' 10. Run ''make t-build-app'' 11. There should now be an executable in ''App/build/bin/dtvkit'' 12. Copy the dtvkit executable into the App folder ''cp ~/dtvkit/App/build/bin/dtvkit ~/dtvkit/App/.'' 13. Create a ts folder in App ''cd ~/dtvkit/App'' ''mkdir ts'' 14. Place a transport stream in the ts folder e.g. ''App/ts/474000000.ts'' for example 15. Run the dtvkit application through the App folder ''cd ~/dtvkit/App'' ''./dtvkit'' If you have any issues with the above steps, please read on for further information, or post your issues in the forum and we will aim to get back to you as soon as possible. ==== Quick Start - 32-bit builds ==== This tutorial requires a 64-bit PC with a 32-bit VirtualBox Ubuntu VM. Using a shared folder, we will be building on the 64-bit host for a 32--bit Virtual Machine, then the application will run through the Virtual Machine. 1. Set the VM user to //dtvkit// and the hostname to //dtvkit32// 2. Create a shared folder on the VM ''/media/sf-dtvkit'' that exposes the //dtvkit// directory. The permissions will depend on where they are being examined but the same files will be visible on both. 3. Create a file in the VM ''${HOME}/.dtvkit-guest-path''​ containing the shared folder path ''/media/sf-dtvkit'' 4. Create a file in the VM ​''/media/sf-dtvkit/.dtvkit-guest-machine'' containing the username and hostname e.g.:​ dtvkit@dtvkit32 5. Move over to the host machine and run: ''make dtvkit-build-id DTVKIT_BUILD_ID=Host=x86_64:​Guest=i686​'' in the //dtvkit// directory 6. Run: ''make t-build-dvbcore'' ''make t-build-app'' 7. The logfile will show that the build took place inside the VM and that the ​//dtvkit// executable is 32 bit. The 32 bit executable will run on the VM desktop.