Huge difference in build sizes
Hello all, I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are : $ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler? Thanks in advance. Raghavendra ------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ] This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
On Tue, Dec 2, 2014 at 7:08 AM, Raghavendra <arrao@cdac.in> wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler?
Are you sure that you have build with the same optimization flags? I guess that "-O2" is missing in the big example. Could you double check? Regards
Thanks in advance.
Raghavendra
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Simplicity is the ultimate sophistication
Hello Tinti, Thank you for the reply. On Tuesday 02 December 2014 05:21 PM, Vinícius Tinti wrote:
On Tue, Dec 2, 2014 at 7:08 AM, Raghavendra <arrao@cdac.in> wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler? Are you sure that you have build with the same optimization flags?
I guess that "-O2" is missing in the big example. Could you double check? Actually, I haven't use any optimization flags. I've just hit 'make' from the command line while compiling for both the kernels. I even checked the Makefile of both the kernels. -O2 flag is used in the same way in both the Makefiles.
Regards, Raghavendra
Regards
Thanks in advance.
Raghavendra
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ] This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
On Tue, Dec 2, 2014 at 10:37 AM, Raghavendra <arrao@cdac.in> wrote:
Hello Tinti,
Thank you for the reply.
On Tuesday 02 December 2014 05:21 PM, Vinícius Tinti wrote:
On Tue, Dec 2, 2014 at 7:08 AM, Raghavendra <arrao@cdac.in> wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler?
Are you sure that you have build with the same optimization flags?
I guess that "-O2" is missing in the big example. Could you double check?
Actually, I haven't use any optimization flags. I've just hit 'make' from the command line while compiling for both the kernels. I even checked the Makefile of both the kernels. -O2 flag is used in the same way in both the Makefiles.
Strange. Can you try this?
Regards, Raghavendra
Regards
Thanks in advance.
Raghavendra
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken.
-------------------------------------------------------------------------------------------------------------------------------
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
-- Simplicity is the ultimate sophistication
On Tue, Dec 2, 2014 at 10:50 AM, Vinícius Tinti <viniciustinti@gmail.com> wrote:
On Tue, Dec 2, 2014 at 10:37 AM, Raghavendra <arrao@cdac.in> wrote:
Hello Tinti,
Thank you for the reply.
On Tuesday 02 December 2014 05:21 PM, Vinícius Tinti wrote:
On Tue, Dec 2, 2014 at 7:08 AM, Raghavendra <arrao@cdac.in> wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler?
Are you sure that you have build with the same optimization flags?
I guess that "-O2" is missing in the big example. Could you double check?
Actually, I haven't use any optimization flags. I've just hit 'make' from the command line while compiling for both the kernels. I even checked the Makefile of both the kernels. -O2 flag is used in the same way in both the Makefiles.
Strange. Can you try this?
Opps. http://stackoverflow.com/questions/1999654/how-can-i-tell-if-a-library-was-c... Maybe there are debug symbols in one of the kernels. Dunno.
Regards, Raghavendra
Regards
Thanks in advance.
Raghavendra
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken.
-------------------------------------------------------------------------------------------------------------------------------
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
-- Simplicity is the ultimate sophistication
-- Simplicity is the ultimate sophistication
On Tue, Dec 02, 2014 at 02:38:27PM +0530, Raghavendra wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler?
You have not "stripped" the debug symbols from the kernel you built, which is what Ubuntu does as part of their build process. I suggest turning off that kernel configuration option, as it's probably not needed for your development. Hope this helps, greg k-h
Hello Greg, Thank you for the reply. On Tuesday 02 December 2014 11:46 PM, Greg KH wrote:
On Tue, Dec 02, 2014 at 02:38:27PM +0530, Raghavendra wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler? You have not "stripped" the debug symbols from the kernel you built, which is what Ubuntu does as part of their build process. I suggest turning off that kernel configuration option, as it's probably not needed for your development. If you are referring to the option "CONFIG_DEBUG_INFO", then it is said to 'y' in both the kernel's configuration files. Is there any other config. option or compiler flags that I need to look for?
Hope this helps,
greg k-h Thanks, Raghavendra
------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ] This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
On Wed, Dec 03, 2014 at 09:26:34AM +0530, Raghavendra wrote:
Hello Greg,
Thank you for the reply.
On Tuesday 02 December 2014 11:46 PM, Greg KH wrote:
On Tue, Dec 02, 2014 at 02:38:27PM +0530, Raghavendra wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler? You have not "stripped" the debug symbols from the kernel you built, which is what Ubuntu does as part of their build process. I suggest turning off that kernel configuration option, as it's probably not needed for your development. If you are referring to the option "CONFIG_DEBUG_INFO", then it is said to 'y' in both the kernel's configuration files. Is there any other config. option or compiler flags that I need to look for?
That's a good one to turn off, start with that and see what happens.
On Wednesday 03 December 2014 09:45 AM, Greg KH wrote:
On Wed, Dec 03, 2014 at 09:26:34AM +0530, Raghavendra wrote:
Hello Greg,
Thank you for the reply.
On Tuesday 02 December 2014 11:46 PM, Greg KH wrote:
On Tue, Dec 02, 2014 at 02:38:27PM +0530, Raghavendra wrote:
Hello all,
I am using Ubuntu-12.04 which came with 3.2 kernel. Parallel to this, I've compiled and installed 3.12.1 kernel using the Ubuntu-3.2's configuration, and the compiler which came with the distro. I've noticed that there is a huge difference in the size of the .ko file between the Ubuntu's kernel and the kernel which I've compiled. Sample results are :
$ du -sh usb-storage.ko It shows : 56K for the Ubuntu's 3.2 kernel 1.3M for the custom kernel that I've compiled
I've tested the same thing for a simple hello world module : $ du -sh hello.ko It shows : 4.0k for the Ubuntu's 3.2 kernel 56k for the custom kernel that I've compiled
What could be the reason for this huge amount of difference of storage space in spite of using the same config file and compiler? You have not "stripped" the debug symbols from the kernel you built, which is what Ubuntu does as part of their build process. I suggest turning off that kernel configuration option, as it's probably not needed for your development. If you are referring to the option "CONFIG_DEBUG_INFO", then it is said to 'y' in both the kernel's configuration files. Is there any other config. option or compiler flags that I need to look for? That's a good one to turn off, start with that and see what happens.
Yeah, I turned off the config option and compared the sizes. Now, both result in the same build size. Thanks for the suggestion Greg. Still, my concern is that the distro's build is generating a small build size in spite of having the option 'CONFIG_DEBUG_INFO' set to 'y'. Any thoughts? Thanks, Raghavendra ------------------------------------------------------------------------------------------------------------------------------- [ C-DAC is on Social-Media too. Kindly follow us at: Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ] This e-mail is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies and the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email is strictly prohibited and appropriate legal action will be taken. -------------------------------------------------------------------------------------------------------------------------------
On Wed Dec 03 2014 at 7:18:01 AM Raghavendra <arrao@cdac.in> wrote:
On Wednesday 03 December 2014 09:45 AM, Greg KH wrote:
On Wed, Dec 03, 2014 at 09:26:34AM +0530, Raghavendra wrote:
Hello Greg,
Thank you for the reply.
On Tuesday 02 December 2014 11:46 PM, Greg KH wrote:
You have not "stripped" the debug symbols from the kernel you built, which is what Ubuntu does as part of their build process. I suggest turning off that kernel configuration option, as it's probably not needed for your development. If you are referring to the option "CONFIG_DEBUG_INFO", then it is said to 'y' in both the kernel's configuration files. Is there any other config. option or compiler flags that I need to look for? That's a good one to turn off, start with that and see what happens.
Yeah, I turned off the config option and compared the sizes. Now, both result in the same build size. Thanks for the suggestion Greg. Still, my concern is that the distro's build is generating a small build size in spite of having the option 'CONFIG_DEBUG_INFO' set to 'y'. Any thoughts?
Well, the distribution is for sure building the debug info. But later on, they strip out the debug info and creates a 2nd kernel package (and 2nd packages for all modules) with the debug info. Thus, the regular kernel image and modules appears as stripped ones on your system. Cheers, Anders
participants (4)
-
Anders Darander -
Greg KH -
Raghavendra -
Vinícius Tinti