puma6 toolchain: https://sourceforge.net/projects/sb6190.arris/files/ puma7 toolchain: https://sourceforge.net/projects/tg3442.arris/files/ 1. Build and install toolchain. Requires Ubuntu 12, Ubuntu 14 may work. 2. Get dependencies puma6: - libpcap-1.10.4 - ncurses-6.4 - libnet-1.1.6 puma7: - libpcap-1.10.4 - ncurses-5.9 - libnet-1.2 3. Build libpcap puma6: CC=armeb-buildroot-linux-uclibcgnueabi-gcc CXX=armeb-buildroot-linux-uclibcgnueabi-g++ ./configure --host=armeb-buildroot-linux-uclibcgnueabi make -j $(nproc) puma7: CC=armeb-rdk-linux-gnueabi-gcc CXX=armeb-rdk-linux-gnueabi-g++ ./configure --host=armeb-rdk-linux-gnueabi make -j $(nproc) 4. Build libnet puma6: ./autogen.sh CC=armeb-buildroot-linux-uclibcgnueabi-gcc CXX=armeb-buildroot-linux-uclibcgnueabi-g++ ./configure --host=armeb-buildroot-linux-uclibcgnueabi make -j $(nproc) chmod +x libnet-config cp src/.libs/* . puma7: ./autogen.sh CC=armeb-rdk-linux-gnueabi-gcc CXX=armeb-rdk-linux-gnueabi-g++ ./configure --host=armeb-rdk-linux-gnueabi make -j $(nproc) chmod +x libnet-config cp src/.libs/* . 5. Build ncurses (need to add fallbacks) puma6: CC=armeb-buildroot-linux-uclibcgnueabi-gcc CXX=armeb-buildroot-linux-uclibcgnueabi-g++ ./configure --host=armeb-buildroot-linux-uclibcgnueabi make -j $(nproc) cd ncurses chmod +x tinfo/MKfallback.sh ./tinfo/MKfallback.sh /usr/share/terminfo/ ../misc/terminfo.src `which tic` `which infocmp` linux vt100 xterm xterm-256color > fallback.c cd ../ make -j $(nproc) // you may need to remove some lines from ncurses/fallback.c that fail to compile. Just delete and keep trying to make puma7: CC=armeb-rdk-linux-gnueabi-gcc CXX=armeb-rdk-linux-gnueabi-g++ ./configure --host=armeb-rdk-linux-gnueabi make -j $(nproc) cd ncurses chmod +x tinfo/MKfallback.sh ./tinfo/MKfallback.sh /usr/share/terminfo/ ../misc/terminfo.src `which tic` `which infocmp` linux vt100 xterm xterm-256color > fallback.c cd ../ make -j $(nproc) // you may need to remove some lines from ncurses/fallback.c that fail to compile. Just delete and keep trying to make 6. Build yersinia puma6: ./autogen.sh CC=armeb-buildroot-linux-uclibcgnueabi-gcc CXX=armeb-buildroot-linux-uclibcgnueabi-g++ ./configure - -host=armeb-buildroot-linux-uclibcgnueabi --with-pcap-includes=/full/path/to/libpcap-1.10.4 --with-libnet-includes=/full/path/to/libnet-1.1.6/include --with-ncurses=/full/path/to/ncurses-6.4 --disable-admin --disable-gtk // edit src/Makefile CFLAGS line and add -static. Optially set -Os and remove -g make -j $(nproc) puma7: ./autogen.sh CC=armeb-rdk-linux-gnueabi-gcc CXX=armeb-rdk-linux-gnueabi-g++ ./configure --host=armeb-rdk-linux-gnueabi --with-libnet-includes=/full/path/to/libnet-1.2/include --with-ncurses=/full/path/to/ncurses-5.9 --disable-admin --disable-gtk // edit src/Makefile CFLAGS line and add -static. Optially set -Os and remove -g make -j $(nproc)