"No rule to make zImage" - Problems with building Tomato

Discussion in 'Tomato Firmware' started by NeoX, May 22, 2010.

  1. NeoX

    NeoX Addicted to LI Member

    Hi all!!

    I recently need to build tomato firmware for my own, cause i'd like to try add support for one of some routers into tomato.
    So i've proceed with README, and i'm still getting;

    "make[2]: *** No rule to make target `zImage'. Stop."

    What's wrong with this?
    I'm using a Gentoo which is using /bin/sh as a bash for default.
    Anyone tried to compile new versions of tomato?
  2. azdps

    azdps LI Guru Member

  3. Toastman

    Toastman Super Moderator Staff Member Member

    You didn't say what you were trying to compile and where the source came from. You may find some earlier versions of tomato mods give this message. SGTPepperKSU made some changes in the online git repository sources to correct this, which effectively means that most stuff compiled from the git online repository doesn't give this message. So look at the git repository - several months ago to see what was changed.

    There was a discussion on compiling from git here:


    And I have cut and pasted this from some PM's - it may also help. This example shows how to quickly make a compile for the ASUS RT-N16 from the git repository:

    Start again from the beginning, and try this:

    Delete tomato directory.

    Delete BRCM in /opt.


    git clone git://repo.or.cz/tomato.git /root/tomato
    cd /root/tomato
    gitk --all &

    You should now see the git graphical user interface, this confirms that you have the git downloaded and working. It will be a hidden directory in /root/tomato.


    git checkout -f origin/tomato-RT

    The tomato directory should now fill up with the source tree.

    You can make sure that the tree is "clean" now and at any time by returning it to the beginning with:

    git reset --hard && git clean -fdxq

    OK. Now we have a clean tree.

    Copy /root/tomato/tools/brcm to /opt

    export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin;export PATH=$PATH:/opt/brcm/hndtools-mipsel-linux/bin

    Now, you have a "work in progress" tree "base" used to compile both kernel 2.4 and 2.6 MIPS1 and MIPS2 versions of software. We now have to make sure the correct version will be compiled by compiling in the correct src directory - [ src for MIPS1 and src-rt for MIPS2 ]

    cd /root/tomato/release/src-rt

    Which selects the MIPS2 environment and toolchain for the RT-N16 MIPS2 variants.

    To compile, give it a version number, sub info, and choose what you want to compile:

    make V1=5000 V2=NeoX r2s r2e r2m r2v

    That will compile 4 versions of the software beginning with the standard version. They will appear together with a log file in /root/tomato/release/src-rt

    Explanation can be found in the makefile.

    To update your git with anything new that's been added

    git fetch

    Unless I left something out, that should work.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice