Coool / FreshTomato-ARM

FreshTomato-ARM | Main repository - Fork

Home Page:https://bitbucket.org/pedro311/freshtomato-arm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FreshTomato-ARM

.

Forked off from Tomato-ARM by Shibby, builds compiled by pedro .

For the following ARM routers: Asus N18U, AC56S, AC56U/AC56R, N66U C1, AC66U B1, RT-AC1750 B1, AC67U, AC68U(A1,A2,B1,B2,C1,E1,V3)/R/P, AC1900P/U, AC3200, Netgear R6250, R6300v2, R6400, R6400v2, R6700v1, R6700v3, R6900, XR300, R7000, R8000, Linksys EA6200, EA6350v1, EA6300v1/EA6400, EA6500v2, EA6700, EA6900, Tenda AC15, AC18, Huawei WS880, Dlink DIR868L (rev A1/B1/C1), Xiaomi R1D, Belkin F9K1113v2.
.

Disclaimer: I am not responsible for any bricked routers, nor do I encourage other people to flash alternative firmwares on their routers. Use at your own risk!
.

.
HOW TO PREPARE A WORK ENVIRONMENT FOR FRESHTOMATO COMPILATION (on Debian 9.x/64bit or Debian 10.x/64bit)

  1. Install Debian via the graphical interface (for simplicity); install the SSH server, choose default [username]; the rest may be the default

  2. Login as root

  3. Update system:

    $ apt-get update
    $ apt-get dist-upgrade
  4. Install basic packages:

    $ apt-get install build-essential net-tools
  5. NOT NECESSARY (depends if sys is on vmware); install vmware-tools:

    $ mkdir /mnt/cd
    $ mount /dev/cdrom /mnt/cd

    unpack

    $ ./vmware-install.pl

    Or from debian package:

    $ apt-get install open-vm-tools
  6. Set proper date/time:

    $ dpkg-reconfigure tzdata

    In case of problems here:

    $ export PATH=$PATH:/usr/sbin
  7. Add your [username] to sudo group:

    $ apt-get install sudo
    $ adduser [username] sudo
    $ reboot
  8. Login as [username], install base packages with all dependencies:

    $ sudo apt-get install autoconf m4 bison flex g++ libtool sqlite gcc binutils patch bzip2 make gettext unzip zlib1g-dev libc6 gperf automake groff
    $ sudo apt-get install lib32stdc++6 libncurses5 libncurses5-dev gawk gitk zlib1g-dev autopoint shtool autogen mtd-utils gcc-multilib gconf-editor lib32z1-dev pkg-config libssl-dev automake1.11
    $ sudo apt-get install libmnl-dev libxml2-dev intltool libglib2.0-dev libstdc++5 texinfo dos2unix xsltproc libnfnetlink0 libcurl4-openssl-dev libgtk2.0-dev libnotify-dev libevent-dev git
    $ sudo apt-get install re2c texlive libelf1 nodejs zip mc cmake curl libglib2.0-dev-bin libglib2.0-dev
    $ sudo apt-get install linux-headers-$(uname -r)
  9. Remove libicu-dev if it's installed, it stopped PHP compilation:

    $ sudo apt-get remove libicu-dev
  10. Remove uuid-dev if it's installed, it stopped miniupnpd compilation:

    $ sudo apt-get remove uuid-dev
  11. Install i386 elf1 packages:

    $ sudo dpkg --add-architecture i386
    $ sudo apt-get update
    $ sudo apt-get install libelf1:i386 libelf-dev:i386
  12. Clone/download repository:

    $ git clone https://bitbucket.org/pedro311/freshtomato-arm.git
  13. Reboot system

  14. Add your email address to git config:

    $ cd freshtomato-arm
    $ git config --global user.email "[email-address]"
  15. Add your username to git config:

    $ cd freshtomato-arm
    $ git config --global user.name [name]

.
HOW TO COMPILE

  1. Change dir to git repository ie: $ cd freshtomato-arm
  2. Before every compilation, use $ git clean -fdxq && git reset --hard, and possibly $ git pull to pull recent changes from remote
  3. To compile SDK6 image, use: $ git checkout arm-master then: $ cd release/src-rt-6.x.4708, check for possible targets: $ make help, use one (RT-N18U/AC56S without SMP build AIO): $ make n18z
  4. To compile SDK7 image, use: $ git checkout arm-sdk7 then: $ cd release/src-rt-7.x.main/src, check for possible targets: $ make help, use one (RT-AC3200 build AIO): $ make ac3200z