1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Help: Shibby or Koitsu Firmware Build Question

Discussion in 'Tomato Firmware' started by Sean Rhodes, Dec 5, 2013.

  1. Sean Rhodes

    Sean Rhodes Serious Server Member

    I cloned the tomato.git repo, following koitsu's blog but I don't know which ones are shibby's.

    When I look at the files,
    git tag | grep tomato*
    I see only Toastman builds.

    I assume I just grab tomatousb-K26-1.28.9054.beta, which is the latest beta with USB and K26,

    I have an E4200 v1, so I think I understand what to add to the make command as regard v1 and v2, but i'm not sure which file to pull to start with.

    Can anyone please advise?
  2. koitsu

    koitsu Network Guru Member

    Since you're interested in shibby's firmware, you want to use a particular branch. git branch -a will show you all the branches.

    When selecting a remote branch, you do not need to include the origin/remotes part of the branch name. For example, you could say git checkout tomato-shibby-RT-N and it'll do the right thing. Shibby will need to explain to you what his branch names mean/are for (I do not know).

    To get a list of tags, you can use git tag -l (as you figured out). To switch to a particular tag, you can do git checkout tags/{tagname}. In this situation it is extremely important you include the tags/ string before the tagname, otherwise git has difficulty (sometimes) determining if you want a branch name or a tag name.

    You can combine these two things together assuming you know exactly what you want, i.e.:

    git checkout -b tomato-shibby-RT-N {tagname}

    I could be wrong about this however. I am not very good/familiar with git; I'm better with classic CVS and RCS, and barely subversion. git is completely insane and goes about its methodology very very differently than other VCSs.

    I also do not know what Shibby names his tags (hence git tag -l doesn't help me either because I don't know what he names them :) ), so he'll have to answer here.

    Shibby's makefile also supports lots of other build types compared to Toastman. You can use make help to get a list of what all the build types are. Choose wisely, do not brick yourself.

    Next: for the V1 and V2 parameters you pass make during your firmware build, please make sure they're in capitals, not lowercase. Your post says "as regard v1 and v2", which implies you're going to use lowercase -- don't. All those parameters do, by the way, is "define the version strings" to use within the firmware itself, i.e. what you want to show up in the "About" pages and so on. If Shibby has a naming convention he follows, I also recommend you follow it if building your own.

    Finally: I believe Shibby's firmwares require additional packages be installed on the host itself, e.g. more than the ones I list off in the post on my blog. You will know if the build fails in some wonky way (missing command, etc.). I only check Toastman's stuff, and I only use Debian. Shibby can probably tell you what packages you need to have installed on your system for it to work.

    Good luck.
  3. shibby20

    shibby20 Network Guru Member

    this should be enough. You may need also automake in version 1.13.2. You can download it from:

    it will works also on Debian.

    tomato-shibby-RT-N branch is discontinued. There are two active branch (for EN version):
    - tomato-shibby (for K24 use src directory and K26 use src-rt directory)
    - tomato-shibby-RT-AC (for K26RT-N use src-rt directory and K26RT-AC use src-rt-6.x directory).
  4. Sean Rhodes

    Sean Rhodes Serious Server Member

    Thanks guys! That's great information. I think I should be good to go now.
  5. Sean Rhodes

    Sean Rhodes Serious Server Member


    I have one more question regarding your comment above: When I git checkout tomato-shibby-RT-AC and try to cd into the release directory cd release/src-rt I find its not there only the src one is.
  6. shibby20

    shibby20 Network Guru Member

    git checkout origin/tomato-shibby-RT-AC
  7. Bungeman

    Bungeman Network Newbie Member

    I used the information on this thread and at http://tomatousb.org/tut:how-to-build-and-rebuild-tomato-for-total-noobs to get an idea of how to build. The following are my condensed notes on how to build at 471ce3777c9f28a6bf6b71d1bea9712f118b9258 for an RT-Nx device. If there is anything wrong here, please let me know. Hopefully this will be helpful information to the next person who tries to build.

    # Setup
    git clone git://repo.or.cz/tomato.git
    cd tomato
    # Branch tomato-shibby-RT-AC for RT devices.
    git checkout tomato-shibby-RT-AC
    sudo ln -s $PWD/tools/brcm /opt/brcm
    # Probably want this in ~/.profile, see example in tutorial.
    export PATH=$PATH:/opt/brcm/hndtools-mipsel-linux/bin:/opt/brcm/hndtools-mipsel-uclibc/bin

    # Clean the code base. Reset and normalize *all* the things!!!
    git clean -dfx
    git checkout .
    # Ensure all build files have same date, prevents unneeded runs of autotools.
    find . -exec touch -r VERSION {} \+
    # The pptpd Makefile needs absolute paths, so cannot be checked in; make sure it's generated.
    sudo apt-get install automake1.9
    touch release/src/router/pptpd/configure.in

    # Use src-rt for N, src-rt-6.x for AC.
    cd release/src-rt
    # Run 'make help' for available targets. Version format matches standard shibby builds.
    make r2m V1=RT-N5x- V2=-119
  8. Ares_

    Ares_ New Member Member

    Hi I've been trying to build tomato-shibby-RT-AC for my Asus RT-N12B1.

    I tried the image below and verified it works:
    tomato.groov.pl/download/K26RT-N/build5x-130-EN/Asus RT-Nxx/tomato-K26-1.28.RT-N5x-MIPSR2-130-Max.zip

    I now want to build that from source. If I understand correctly, a successful build of tomato-shibby-RT-AC, with "make r2m" should also work on that router. I issue the make command inside the release/scr-rt directory.

    However, my compilation fails with the following:

    make[5]: Entering directory `/home/***/Development/tomato_git/tomato/release/src/router/dropbear'
    mipsel-uclibc-gcc -I./libtomcrypt/src/headers/ -I. -I. -Os -Wall -DLINUX26 -DCONFIG_BCMWL5 -pipe -DBCMWPA2 -funit-at-a-time -Wno-pointer-sign -mtune=mips32 -mips32 -DARGTYPE=3 -ffunction-sections -fdata-sections -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -DDBMULTI_dropbear -DDBMULTI_dbclient -DDBMULTI_dropbearkey -DDBMULTI_scp -DDROPBEAR_MULTI -c -o dbmulti.o dbmulti.c
    make[5]: *** No rule to make target `-lcrypt', needed by `multibinary'. Stop.
    make[5]: *** Waiting for unfinished jobs....
    dbmulti.c: In function 'main':
    dbmulti.c:49: warning: implicit declaration of function 'cli_main'

    Am I supposed to make any modifications to be able to compile this? Any help is very much appreciated!!

  9. EasyIsEZ

    EasyIsEZ New Member Member

    All, just built Shibby's tomato-shibby-RT-AC branch and found out that the following packages also were required:

    sudo apt-get install texinfo lib32stdc++6

Share This Page