How to enable tc command when building a kernel using Yocto recipes

3.5k views Asked by At

I want to enable tc command that comes in iproute2 on my linux kernel. My kernel is built using yocto and bitbake.

So, I copied the iproute recipes and whole directory from the following link to try -- https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-connectivity/iproute2

And included in my yocto build. That picked up recipe and built it all well. But I tc command is still not available on the built kernel.

Question:
What am I missing and how to enable tc in the kernel of a linux image built using Yocto recipes?

1

There are 1 answers

0
Andreas Magnusson On

You shouldn't need to copy the whole recipe, poky should be in your sources directory. So just reference the recipe in your image. You need both iproute2 and iproute2-tc.

IMAGE_INSTALL += "iproute2 \
        iproute2-tc"

Additionally you may need to enable some kernel modules that tc make use of, depending on your needs:

CONFIG_NET_SCHED
CONFIG_NET_SCH_CBQ
CONFIG_NET_SCH_HTB
CONFIG_NET_SCH_HFSC
CONFIG_NET_SCH_ATM
CONFIG_NET_SCH_PRIO
CONFIG_NET_SCH_MULTIQ
CONFIG_NET_SCH_RED
CONFIG_NET_SCH_SFQ
CONFIG_NET_SCH_TEQL
CONFIG_NET_SCH_TBF
CONFIG_NET_SCH_GRED
CONFIG_NET_SCH_DSMARK
CONFIG_NET_SCH_NETEM
CONFIG_NET_SCH_INGRESS