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 43: |
Line 86: |
| | | |
| 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. | | 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: | | You can achieve this with drag and drop or by executing this command via Terminal: |
Line 81: |
Line 125: |
| [[File:make_with_jobs_v1.gif]] | | [[File:make_with_jobs_v1.gif]] |
| | | |
− | Troubleshooting tips: | + | '''Troubleshooting tips:''' |
| + | |
| 1. If you get error on first ‘make’, do ./scripts/feeds update -a once more. | | 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. | | 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. | | 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. | | 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. |
| | | |