How do I compile this source code into a usable firmware image?
If I can figure that out I should be able to document a lot for the benefit of others who struggle with building firmware.
I have a fresh install of ubuntu10 on vbox. I have expanded the toolchain and sources and when I run make menuconfig I get a list of errors.
edit: maybe someone could have helped me if I had told them what I had typed as a command. This command syntax is incorrect.
GIT_HOME='pwd'/WNDR4300v2-V126.96.36.199_gpl_src/git_home make V=99
This command syntax is incorrect it is supposed to be:
GIT_HOME=/home/username/source_directory/WNDR4300v2-V188.8.131.52_gpl_src/git_home make V=99
Ignore the rest of these errors, they are misleading. They all went away after I corrected the command syntax.
error#1: I deleted the 'target/linux/x86/image/config.in. The bootloader for the wndr4300v2 is not grub and it is not an x86 platform. I don't understand why that stuff is even in this package. That error does not come up anymore when I run make menuconfig.
error#2 is the one I am working on now. Look down below the posting of the out put for more of my notes.
make menuconfig v=99 target/linux/x86/image/Config.in:5:warning: 'select' used by config symbol 'X86_GRUB_IMAGES' refer to undefined symbol 'PACKAGE_grub' package/dnibusybox/target-config.in:1:warning: config symbol defined without type package/dnibusybox/target-config.in:5:warning: config symbol defined without type package/dnibusybox/target-config.in:9:warning: config symbol defined without type tmp/.config-package.in:1608:warning: 'select' used by config symbol 'PACKAGE_dni-ip' refer to undefined symbol 'PACKAGE_libnl-tiny' tmp/.config-package.in:1671:warning: 'select' used by config symbol 'PACKAGE_dnippp-mod-pppoa' refer to undefined symbol 'PACKAGE_linux-atm' tmp/.config-package.in:1767:warning: 'select' used by config symbol 'PACKAGE_greendownload' refer to undefined symbol 'PACKAGE_' Your configuration changes were NOT saved.
Here is the contents of the target-config.in
vreppeto@ubuntu10:~/src/WNDR4300v2-V184.108.40.206_gpl_src/package/dnibusybox$ cat target-config.in config BUSYBOX_CONFIG_FEATURE_DEVFS default y if LINUX_2_4 default n if LINUX_2_6 config BUSYBOX_CONFIG_FEATURE_2_4_MODULES default y if LINUX_2_4 default n if LINUX_2_6 config BUSYBOX_CONFIG_FEATURE_2_6_MODULES default n if LINUX_2_4 default y if LINUX_2_6
analyzing this syntax 'package/dnibusybox/target-config.in:1:warning: config symbol defined without type'
I see target-config.in ... it is the only target-config.in file in the entire source tree. I will try a comparison with other config.in files but first I will search google for target-config.in ... okay its talkking about cross compilation. Compiling for the wndr4300v2 (mips) on an Ubuntu (x86) system.
Three error messages all the same except 1 5 9..... line #s. The syntax of those lines are similar. "without type" seems to be asking 'how do I know which kernel this system is using' ..... The people that distributed this source probably assumed I would already know i needed the kernel source packages for my system installed for make to refer to (link?) when needed.
So lets install the source for the current kernel and see if that helps.
- apt-get source linux-image-$(uname -r)
The source files are no longer available from the repositories so that command does not work anymore. I found my kernel and downloaded it. I may be able to expand it into the source tree. I am not sure if that is the right answer yet. I am going to step back and take a another look first. If you guys have some guidance here I would sure appreciate the help. If I can build some momentum here I will provide some documentation on this device and generate a current firmware image.