Changes

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==

Navigation menu