Здравствуйте.
Есть цель положить бинарный файл в вашу оригинальную прошивку.
Как я себе это представляю, можно сделать это парой способов:
1) разобрать уже готовую прошивку, достать rootfs положить бинарник, и упаковать обратно.
2) скомпилировать прошивку из исходных кодов.
по первому пункту, сделать у меня это не получилось, по второму в общем тоже, в связи с чем вопрос.
скачал
файл с исходными кодами. исходя из документации которую я нашел внутри архива, для того что бы скомпилировать прошивку, для начала нужно скомпилировать toolchain. По инструкции это делается запуском sh скрипта "build_tool_chain.sh"
при запуске данного скрипта, на 3-х системах (ubuntu-server, gentoo-x86, gentoo-64) мне вылетает ошибка компиляции
Enable security options (UCLIBC_SECURITY) [N/y] n
*
* uClibc development/debugging options
*
Cross-compiling toolchain prefix (CROSS_COMPILER_PREFIX) [/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-] /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-
Build uClibc with debugging symbols (DODEBUG) [N/y/?] n
Build pthread with debugging output (DODEBUG_PT) [N/y/?] n
Build uClibc with run-time assertion testing (DOASSERTS) [N/y/?] n
Build the shared library loader with debugging support (SUPPORT_LD_DEBUG) [N/y/?] n
Build the shared library loader with early debugging support (SUPPORT_LD_DEBUG_EARLY) [N/y/?] n
Compiler Warnings (WARNINGS) [-Wall] -Wall
Manuel's hidden warnings (UCLIBC_MJN3_ONLY) [N/y/?] n
make: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28'
make: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Команда не найдена
make: Entering directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28'
make: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Команда не найдена
+ ./extra/scripts/fix_includes.sh -k /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/linux -t mips
Current kernel version is 2.4.25
Using kernel headers from 2.4.25 for architecture 'mips'
provided in directory /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/linux
rm: cannot remove `include/asm': Is a directory
rm: cannot remove `include/asm-mips': Is a directory
rm: cannot remove `include/linux': Is a directory
+ TOPDIR=.
+ CC=' /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc'
+ /bin/sh extra/scripts/gen_bits_syscall_h.sh
extra/scripts/gen_bits_syscall_h.sh: line 18: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: No such file or directory
extra/scripts/gen_bits_syscall_h.sh: line 15: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: No such file or directory
+ cmp include/bits/sysnum.h include/bits/sysnum.h.new
+ mv -f include/bits/sysnum.h.new include/bits/sysnum.h
make -C libc/sysdeps/linux/common headers
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[1]: Entering directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/libc/sysdeps/linux/common'
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
ln -fs ../libc/sysdeps/linux/common/fpu_control.h ../../../..//include/
make[1]: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/libc/sysdeps/linux/common'
make -C libc/sysdeps/linux/mips headers
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[1]: Entering directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/libc/sysdeps/linux/mips'
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
ln -fs ../libc/sysdeps/linux/mips/sgidefs.h ../../../..//include/
ln -fs ../libc/sysdeps/linux/mips/fpu_control.h ../../../..//include/
make[1]: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/libc/sysdeps/linux/mips'
make -C ldso
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[1]: Entering directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/ldso'
make[1]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
ln -fs ../../include/elf.h include/elf.h
ln -fs ../ldso/mips/dl-startup.h include/dl-startup.h
ln -fs ../ldso/mips/dl-syscalls.h include/dl-syscalls.h
ln -fs ../ldso/mips/dl-sysdep.h include/dl-sysdep.h
ln -fs ../ldso/mips/dl-debug.h include/dl-debug.h
echo '#include "mips/elfinterp.c"' \
> include/dl-progname.h
make -C ldso
make[2]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[2]: Entering directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/ldso/ldso'
make[2]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[2]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -O2 -DUCLIBC_LDSO=\"ld-uClibc.so.0\" -mno-split-addresses -mips32 -mtune=mips32 -fPIC -DUCLIBC_RUNTIME_PREFIX=\"/\" -fno-builtin -nostdinc -D_LIBC -I../../ldso/include -I. -I../../include -isystem -c mips/resolve.S -o mips/resolve.o
make[2]: /home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/build_mipsel/staging_dir/bin/mipsel-linux-uclibc-gcc: Command not found
make[2]: *** [mips/resolve.o] Error 127
make[2]: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/ldso/ldso'
make[1]: *** [ldso] Error 2
make[1]: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28/ldso'
make: *** [_dir_ldso] Ошибка 2
make: Leaving directory `/home/den/work/router_firmware/dir300/dir300b_v2.01/buildroot/toolchain_build_mipsel/uClibc-0.9.28'
Use source ./setupenv to setup your environment variables !
Очень прошу вас помочь мне с решением данной проблемы.
Заранее спасибо!