Skip to content

Repository files navigation

# Firmware Building And Installation

## Prerequisites

	Make sure you're running a supported Linux distribution.
	We recommend using Ubuntu 20.04 LTS (http://www.ubuntu.com/download/desktop).
	You might succeed with other distributions.

	It is recommended to use Docker environment to build RUTOS firmware which
	is accessible from "RUT9_R_GPL_00.07.06.21/scripts/dockerbuild".

## Building with Docker environment

	1. Install Docker (https://docs.docker.com/engine/install/ubuntu).

	2. Extract the GPL archive to an empty folder

		$ mkdir RUT9_R_GPL_00.07.06.21
		$ tar -xzf ~/Downloads/RUT9_R_GPL_00.07.06.21.tar.gz -C RUT9_R_GPL_00.07.06.21

	3. Update feeds

		$ cd RUT9_R_GPL_00.07.06.21
		$ ./scripts/dockerbuild ./scripts/feeds update -a

	4. Build the image

		$ ./scripts/dockerbuild make

	5. Sign the image with local keys (optional):

		This step is only necessary if the firmware needs to be flashed
		from the bootloader.

		$ ./scripts/dockerbuild make sign

## Building with Host OS

	1. Install NodeJS v12 (or newer) and NPM v6.9 (or newer).

		Please follow NodeJS and NPM installation guides for your distribution.

	2. Install required packages

		$ sudo apt update
		$ sudo apt install binutils binutils-gold bison build-essential bzip2 \
			ca-certificates curl default-jdk device-tree-compiler devscripts  \
			ecj file flex fuse g++ gawk gcc gcc-multilib gengetopt gettext    \
			git gnupg groff help2man java-wrappers java-propose-classpath jq  \
			libc6-dev libffi-dev libncurses5-dev libpcre3-dev libsqlite3-dev  \
			libssl-dev libxml-parser-perl lz4 make ocaml ocaml-findlib        \
			ocaml-nox patch pkg-config python3 python3-dev python3-distutils  \
			python3-yaml rsync ruby sharutils subversion swig u-boot-tools    \
			unzip uuid-dev vim-common wget zip zlib1g-dev


	3. Extract the GPL archive to an empty folder

		$ mkdir RUT9_R_GPL_00.07.06.21
		$ tar -xzf ~/Downloads/RUT9_R_GPL_00.07.06.21.tar.gz -C RUT9_R_GPL_00.07.06.21

	4. Update feeds

		$ cd RUT9_R_GPL_00.07.06.21
		$ ./scripts/feeds update -a

	5. Build the image

		$ make

	6. Sign the image with local keys (optional):

		This step is only necessary if the firmware needs to be flashed
		from the bootloader.

		$ make sign


## Installation

	After successful build you will get the firmware file in
		"RUT9_R_GPL_00.07.06.21/bin/targets/ath79/generic/tltFws".

	Update the new firmware via the web interface on your device.

# Firmware Rebranding

## WebUI rebranding

	All changes should be done in "RUT9_R_GPL_00.07.06.21/package/feeds/vuci/vuci-ui-core/bin/dist" folder.

	WebUI Colors can be changed in "brand/brand.css" file.
	Company information can be changed in "brand/brand.json" file.

	Logo and Icon changes:

		- Main WebUI logo is "tlt_networks_logo.svg".

		- Login page logo is "tlt-icons/tlt_networks_logo_white.svg".

		- Favicon is "favicon.ico" and "assets/favicon.ico".

		- All other icons can be found in "tlt-icons" folder.

## SSH Banner

	1. Install figlet tool:

		$ sudo apt install figlet

	2. Use figlet tool to generate needed text:

		$ figlet YOUR_TEXT > "RUT9_R_GPL_00.07.06.21/package/base-files/files/etc/banner.logo"

## Firmware Version Change

	1. Open configuration:

		$ make menuconfig
	
	2. Navigate to "Base system".

	3. Select "Branding" and then "libbrand-versioning".

	4. Change PREFIX, branch prefix or other version numbers.

## Default IP Change

	1. Open configuration:

		$ make menuconfig
	
	2. Navigate to "Target Firmware options".

	3. Select "Default IP address".

	4. Enter new default IP address and exit the configuration.

## Default Password Change

	To change the default device password changes need to be made inside "RUT9_R_GPL_00.07.06.21/package/base-files/files/lib/preinit/84_set_password" file.
	Change "admin01" to your password on line [ -z "$passwd" ] && passwd="$(mkpasswd admin01)"

About

Teltonika RUT950 GPL SDKs published in a Git repository for easier change tracking across firmware releases

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages