+coreplay2,
Thanks for your reply. You are genius and your script is awesome. It's my pleasure to test on my side and let you know. Thanks Again.
+bmarkus
We are on the same boat. In my case, the device driver which I am gonna to pull out was built in kernel and not a module. That's why I need re-compile the kernel. As I said, I used to re-compiled x86 kernel v2.6 and let it run on 32 bit TC 4.6 (or 4.7, I forgot due to it's been long time). The only thing I did, removed the particular device driver from "make menuconfig" and "make bzImage", no any change on modules.gz.
Now, I am worry about "config-3.8.13-tinycore64" is not "clean", and there is one or more "new modules" has been built-in the custom kernel during re-compiling. And they are not in the official modules64.gz.
I did another rebuild last night. This time, I copied from "config-3.8.13-tinycore64" to ".config" and "make bzImage" directly without any change. I still got "KP" (some register and memory was dumped). I gave myself enough patient this time. I've seen some thing interesting came out. It kept moving forward and recursive message had scrolled up, said "[nnn] modprob xxx error" and went into dead loop.
So let me clarify myself clearly:
Requirement: Remove the built-in driver (which is '*' but not 'M' when using make menuconfig) from kernel (3.8.13)
Concept: corepure64.gz = rootfs64.gz + modules64.gz
tc (x86_64) = vmlinuz64 -> modules64.gz -> rootfs64.gz
vmlinuz64 = linux core (x86_64) + statistic driver + dynamic driver (modules) + others
modules64.gz includes all "dynamic modules" base on your choice during compiling kernel. It is external. It should be OK if I remove some drivers from statistic part and official modules64.gz still contains all modules that kernel needs. If there is any module not found, the only reason is, the new custom kernel is "bigger" than modules64.gz you are using.
I apologize for my bad English and please correct me if I am wrong. I am still looking for your help.
Regards,