Line 9: |
Line 9: |
| | | |
| <ul> | | <ul> |
− | <li>Teltonika Router running RutOS</li> | + | <li>A RUTOS supported router</li> |
− | <li>[https://ubuntu.com/download/desktop/ Ubuntu 22.04.3 LTS OS]</li> | + | <li>[http://releases.ubuntu.com/ Ubuntu 18.04 OS]</li> |
− | <li>SDK version <b>R_00.07.05.x</b></li> | + | <li>SDK version <b>R_00.07.03.x</b></li> |
| </ul> | | </ul> |
| | | |
− | The examples apply to various RUTOS routers, SDK versions and operating systems. In most cases the difference will only be that of a visual nature, The availability of SDK Firmware branding begins from version 7.05, although some of these modifications may be accessible on earlier firmware versions. | + | The examples apply to various RUTOS routers, SDK versions and operating systems. In most cases the difference will only be that of a visual nature. |
| | | |
| Most examples provided in this page are independent from each other. But it is highly recommended to acquaint yourself with the basics by reading the "[[#Prerequisites|Prerequisites]]" and "[[#Compiling_a_standard_firmware|Compiling a standard firmware]]" sections first as they contain information that will be necessary in order to understand some aspects of the other examples. | | Most examples provided in this page are independent from each other. But it is highly recommended to acquaint yourself with the basics by reading the "[[#Prerequisites|Prerequisites]]" and "[[#Compiling_a_standard_firmware|Compiling a standard firmware]]" sections first as they contain information that will be necessary in order to understand some aspects of the other examples. |
| | | |
− | It should also be noted early that the first time you compile a firmware it may take up to a few hours to complete. Once the initial compilation is complete, packages will not be re-compiled next time, therefore the duration will decrease significantly. Please be aware that this also depends on your machine. | + | It should also be noted early that the first time you compile a firmware it may take <b>about two hours</b> to complete. On later attempts the duration is considerably lower. |
| | | |
| ==Prerequisites== | | ==Prerequisites== |
Line 25: |
Line 25: |
| | | |
| <ul> | | <ul> |
− | <li>A PC, laptop or virtual machine running Linux OS (We recommend using Ubuntu 22.04.3 LTS)</li> | + | <li>A PC, laptop or virtual machine running Linux OS (We recommend using Ubuntu 18.04 LTS)</li> |
| <li>A RUTOS supported router (version R_00.07.00 and up)</li> | | <li>A RUTOS supported router (version R_00.07.00 and up)</li> |
| <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> |
Line 35: |
Line 35: |
| | | |
| 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. | + | 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: |
| | | |
− | You can achieve this with drag and drop or by executing this command via Terminal:
| + | tar -xf ~/Downloads/RUTX_R_GPL_00.XX.YY.Y.tar.gz -C ~/RUTX_R |
− | | |
− | Navigate to the "Downloads" folder:
| |
− | cd ~/Downloads | |
− | Extract the tar.gz file:
| |
− | tar -xzvf RUTX_R_GPL_00.07.05.X.tar.gz
| |
− | | |
− | 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 68: |
Line 57: |
| [[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>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. | + | <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. |
| ---- | | ---- |
| 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 80: |
Line 69: |
| | | |
| [[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== |