Jump to content

Template:Networking rutos software development kit software development kit instructions: Difference between revisions

no edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 29: Line 29:
     <li>An SDK intended for your router, which can be downloaded here: <b>[[Software Development Kit]]</b></li>
     <li>An SDK intended for your router, which can be downloaded here: <b>[[Software Development Kit]]</b></li>
</ul>
</ul>
==Ubuntu Installation and Pre-requisite==
Compiling the firmware should be achievable on any Linux-based machine. Alternatively, options like Oracle's VirtualBox or Windows' WSL can be used, though the setup process may vary slightly. For this example, I will be using VMWare.
You can download the '''VMWare''' here: [https://www.vmware.com/mena/products/workstation-pro/workstation-pro-evaluation.html VMWare]
1. You must download latest '''Ubuntu''' version can be found here: [https://ubuntu.com/download/desktop Ubuntu]
[[File:Ubunto.png|border|class=tlt-border]]
2. After initiating VMware, click Create a New Virtual Machine
[[File:Ubuntu2.jpg|border|class=tlt-border]]
3. Choose Typical -> choose the downloaded Ubuntu .iso file
[[File:Ubuntu3.jpg|border|class=tlt-border]]
then click Next.
4. Input Name, username, and password. Then input the Virtual Machine Name and the save path.
'''Note:''' allocate at least 30-50GB GB for disk size and click Store virtual disk as a single file.
[[File:Ubuntu4.jpg|border|class=tlt-border]]
Then click Next.
5. Select Customize Hardware. Allow for 4GB or more of memory and 2 or more processors *more is preferable* depending on your machine.
[[File:Ubuntu5.jpg|border|class=tlt-border]]
Finally, click Finish.
Ubuntu will initialize. Choose your language. The example will be in English.
6. Choose Minimal installation and check Install third-party software for graphics and Wi-Fi hardware and additional media formats.
[[File:Ubuntu6.jpg|border|class=tlt-border]]
Click Continue
7. Once installion is done, click on Restart Now.
8. Once Ubuntu is now running. Open a browser and download the SDK file from Teltonika Networks wiki. You can find it out here: [https://wiki.teltonika-networks.com/view/Software_Development_Kit Software Development Kit]


==Compiling a standard firmware==
==Compiling a standard firmware==
Line 35: Line 78:


  sudo apt update
  sudo apt update
sudo apt install nodejs
sudo apt install npm


  sudo apt install build-essential ccache ecj fastjar file flex g++ gawk \ gettext git java-propose-classpath java-wrappers jq libelf-dev \ libffi-dev libncurses5-dev libncursesw5-dev libssl-dev libtool \ python python2.7-dev python3 python3-dev python3-distutils \ python3-setuptools rsync subversion swig time u-boot-tools \ unzip wget xsltproc zlib1g-dev bison
  sudo apt install build-essential ccache ecj fastjar file flex g++ gawk \ gettext git java-propose-classpath java-wrappers jq libelf-dev \ libffi-dev libncurses5-dev libncursesw5-dev libssl-dev libtool \ python python2.7-dev python3 python3-dev python3-distutils \ python3-setuptools rsync subversion swig time u-boot-tools \ unzip wget xsltproc zlib1g-dev bison


Create a new folder (for this example I'll be using a directory called <i>RUTX_R</i> found at my <b>home</b> directory) and extract the SDK archive inside it. You can achieve this with drag and drop or by executing this command via Terminal:
Create a new folder (for this example I'll be using a directory called <i>RUTX_R</i> found at my <b>home</b> directory) and extract the SDK archive inside it.
[[File:SDK_EXTRACT.jpg|border|class=tlt-border]]
 
You can achieve this with drag and drop or by executing this command via Terminal:
 
Navigate to the "Downloads" folder:
cd ~/Downloads
Extract the tar.gz file:
tar -xzvf RUTX_R_GPL_00.07.05.X.tar.gz


tar -xf ~/Downloads/RUTX_R_GPL_00.XX.YY.Y.tar.gz -C ~/RUTX_R
This command will extract the contents of the RUTX_R_GPL_00.07.05.X.tar.gz file into the current directory, After running this command, you should find the extracted files in the same directory where you ran the command.


<b>Note</b>: don't forget to replace the file name and path in accordance with your own circumstances
<b>Note</b>: don't forget to replace the file name and path in accordance with your own circumstances


Open a Terminal inside the SDK directory. You can change the directory in your current terminal (<i>cd ~/RUTX_R/openwrt-gpl-ipq40xx.Linux-x86_64</i>).
Open a Terminal inside the SDK directory. You can change the directory in your current terminal (<i>cd ~/RUTX_R/openwrt-gpl-ipq40xx.Linux-x86_64</i>)


Once you open the Terminal, update the feeds:
Once you open the Terminal, update the feeds:
Line 57: Line 112:
[[File:Make_without_jobs_v1.gif]]
[[File:Make_without_jobs_v1.gif]]


<b>Note</b>: the first time you compile a firmware file it may take up to <b>two hours</b> before it is complete. Don't close the Terminal window up until then. Once it is finished, you will find the firmware in the <i>./bin/targets/ipq40xx/generic</i> directory. It should contain a file openwrt-ipq40xx-qcom-ipq4018-rutx-squashfs-apps.bin, it can be used to upgrade your router's firmware via its web interface.
<b>Note</b>: the first time you compile a firmware file it may take up to <b>30 minutes</b> before it is complete. Don't close the Terminal window up until then. Once it is finished, you will find the firmware in the <i>./bin/targets/ipq40xx/generic</i> directory. It should contain a file openwrt-ipq40xx-qcom-ipq4018-rutx-squashfs-apps.bin, it can be used to upgrade your router's firmware via its web interface.
----
----
You can speed up this process by passing an extra argument <b>-j</b>. This argument then compiles the necessary packages in parallel.  
You can speed up this process by passing an extra argument <b>-j</b>. This argument then compiles the necessary packages in parallel.  
Line 69: Line 124:


[[File:make_with_jobs_v1.gif]]
[[File:make_with_jobs_v1.gif]]
'''Troubleshooting tips:'''
1. If you get error on first ‘make’, do ./scripts/feeds update -a once more.
2. Once you extract the SDK files, Rename rutos-ipq40xx-rutx-gpl to a different file name and move it to home directory.
3. Try running `make distclean` if you believe that your SDK installation is corrupt. This will recompile the firmware from scratch.
4. Allowing us to run command. “make -j<nproc_output> V=sc” for verbose output. This way you will see more logs that may help to troubleshoot compilation issues.


==Changing default settings==
==Changing default settings==