Export OpenWrt build config from existing image?

I'm working to build out an Octeon-generic build for the Itus Network's Shield device. OpenWRT doesn't provide a build for the device, however Itus Network's used OpenWRT for their images. So, I compiled an image from source. I've built the toolchain and crosscompile for mips64, loaded the existing OEM kernel config, built, copied, booted the image on the device. I'm having issues with what seems to be configuration issues with the interfaces (ref: this thread.

So the question is: Is there a way to extract the OpenWRT .config or the config settings (which work) from the existing (older) OpenWRT image?


No, there isn't - even less for the most critical components (kernel configuration/ patches).

1 Like

I was able to pull the kernel config from the OEM image (/proc/config.gz) and then do a make kernel_menuconfig to load it, so I have that going for me.

With Itus gone, I'm having to work through this solo, which is "interesting" to say the least!

Appreciate the input.

Well, I'm back with a better way to ask the question.

I've got a working .config file in my kernel build_dir. I pull this config files from /proc/config.gz on the device that was working. Long story is that I had a working config, lost my repo, and couldn't get the right settings to get it working again. I had one that worked, but no way to get it into the build system again.

I pulled the /proc/config.gz from the working image, uncompressed it, did a make clean to tidy up the build directory, then moved the config file into the kernel root's .config file.. I made one change to the file to fix the initramfs staging directory (the old repo used a different CPU define.) and didn't re-run make menuconfig.

I built the image out and put it on the device, and it worked (the issue was the ignorant Octeon III ethernet drivers being patched in and the correct config set.. I had the patches, but the config flags....)

So, now I know I have a valid kernel .config, where can I put it so it's not gone the next time I do a make clean? $buildroot/.config contains PACKAGE_ information and only some of the kernel flags.

Can I safely over-right my target/linux/octeon/config-4.19 file with the working config? I know the config-4.19 is used for defconfig, but is it used for what I'm trying to do?

Theres a huge difference between the kernel config target/linux/octeon/config-4.19 and the build config .config

make clean should not effect your .config at all, as long as it is in the top level build directory (openwrt folder).

IMO, you shouldn't have to copy anything from the OEM software to paste directly into Openwrt source, as long as you have root access you can find info that you need from the device and write it up yourself, and everything else you can model after a similar board's build configuration.

1 Like

Thanks @mpratt14! Honestly, I've found that I only needed to put the effected flags in the config-* file and then let menuconfig set everything else to is not set for me..

My issue at the time was trying to replicate a condition I was seeing in which the network drivers worked, but then didn't, since they had to be added in outside of OpenWrt. I knew that my existing /proc/config.gz worked, but the newer builds from that didn't. I've found myself in the weeds as far as the build system goes, but I'm learning :smiley:

Thanks again!

Yeah it's always good to sync configuration with make clean and make menuconfig

you also might want to touch all makefiles before that, if you don't see the changes being passed to .config
for file in `find . | grep Makefile`; do touch $file; done;

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.