1

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?

TheWaterProgrammer
  • 7,055
  • 12
  • 70
  • 159
  • You need to specify `DEPENDS += iproute2` in your kernel recipe. So that all the files of iproute is available during kernel compilation. – Parthiban Oct 06 '18 at 02:44

1 Answers1

2

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
Andreas Magnusson
  • 7,321
  • 3
  • 31
  • 36