Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
10-14-2014, 09:16 AM
|
#1
|
LQ Newbie
Registered: Oct 2014
Location: planet Earth
Distribution: Slackware
Posts: 21
Rep:
|
Slackware 14.1-64 how to create vmlinux-huge-3.10.17
Hi all,
After installing Slackware 14.1-64 I see that vmlinuz-huge-3.10.17 is 6.290 kb in size. And I'm wondering what config file is/was used to create such a big file. And where can I find that config file?
When I compile the kernel (no matter what config file I use), the biggest vmlinux that I can create is about half the size.
greetings,
Colweb
|
|
|
10-14-2014, 09:24 AM
|
#2
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
|
|
|
10-14-2014, 09:53 AM
|
#3
|
LQ Veteran
Registered: May 2008
Posts: 7,014
|
Depends on how much you build-in as modules. Slackware's generic kernel runs in at 3,372k. My hand crafted 'custom' kernel runs in at 4,164k, which looks bigger but I build-in almost everything I want and have far fewer kernel modules as a result.
|
|
|
10-14-2014, 11:04 AM
|
#4
|
LQ Guru
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552
|
Quote:
Originally Posted by GazL
4,164k... I build-in almost everything I want and have far fewer kernel modules as a result.
|
I just configure some filesystems and sata drivers as built-in but always end with a ~4.2MB kernel file size, I guess I need to remove more features
|
|
|
10-14-2014, 11:31 AM
|
#5
|
LQ Newbie
Registered: Oct 2014
Location: planet Earth
Distribution: Slackware
Posts: 21
Original Poster
Rep:
|
Quote:
Originally Posted by frushiyama
|
Well, I did download that source and places config-huge-3.10.17.x64 in the same directory. Of course, I copied it to .config and then did make -j200
After a very long time (dual core 2.66 Ghz machine) I have a vmlinux that is 27270182 bytes (26 MiB). That's 4.2 times bigger then vmlinuz-huge.3.10.17 as found in /boot.
Still wondering what Pat used to create the vmlinuz-huge that is in /boot and where I can find that config file.
Last edited by colweb; 10-14-2014 at 11:33 AM.
|
|
|
10-14-2014, 11:42 AM
|
#6
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
Quote:
Originally Posted by colweb
Well, I did download that source and places config-huge-3.10.17.x64 in the same directory. Of course, I copied it to .config and then did make -j200
After a very long time (dual core 2.66 Ghz machine) I have a vmlinux that is 27270182 bytes (26 MiB). That's 4.2 times bigger then vmlinuz-huge.3.10.17 as found in /boot.
Still wondering what Pat used to create the vmlinuz-huge that is in /boot and where I can find that config file.
|
You did not run make oldconfig ?
It is your premise but why 200 multiple jobs on a dual core? Just curious because i have a dual core machine too.
|
|
|
10-14-2014, 12:26 PM
|
#7
|
LQ Newbie
Registered: Oct 2014
Location: planet Earth
Distribution: Slackware
Posts: 21
Original Poster
Rep:
|
No, didn't run make oldconfig.
I thought that if there is a .config file you don't need to run make oldconfig. Maybe I'm wrong here.
200 multiple jobs to speed things up. Just doing make takes forever. Make -j did run out of memory (while it has 6 gig intern and 6 gig swap).
|
|
|
10-14-2014, 12:49 PM
|
#8
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
I always follow some parts of http://docs.slackware.com/howtos:sla...nd_configuring when i build my kernels.
From the link
Quote:
Run make oldconfig in the kernel source directory so that the defaults are used from the .config file you just installed.
|
Maybe what you built is the whole kernel (with what all config to default?)...
|
|
|
10-14-2014, 12:51 PM
|
#9
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,182
Rep:
|
Just use a provided -generic kernel and be happy.
Unless you need to build you own, of course, but unless I missed something you didn't state that need yet.
Last edited by Didier Spaier; 10-14-2014 at 01:03 PM.
|
|
|
10-14-2014, 01:38 PM
|
#10
|
LQ Newbie
Registered: Oct 2014
Location: planet Earth
Distribution: Slackware
Posts: 21
Original Poster
Rep:
|
Usually I build my own kernel. And currently it is about 2.8 MiB.
It is not that I need to build vmlinuz-huge but when you do a clean install of 14.1-64 you would expect to be able to build both the huge and generic kernels that are installed in /boot
There are 2 config files in /boot as well and I tried both of them. But no matter what I tried, it never creates the same 6.1 MiB vmlinuz-huge file. Why not? Is /boot/config-huge-3.10.17 not the config file that is used to create vmlinuz-huge?
|
|
|
10-14-2014, 01:51 PM
|
#11
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,182
Rep:
|
The procedure used by Pat is here.
|
|
|
10-14-2014, 02:08 PM
|
#12
|
Member
Registered: Aug 2004
Distribution: Slackware
Posts: 216
Rep:
|
Quote:
Originally Posted by colweb
Usually I build my own kernel. And currently it is about 2.8 MiB.
It is not that I need to build vmlinuz-huge but when you do a clean install of 14.1-64 you would expect to be able to build both the huge and generic kernels that are installed in /boot
There are 2 config files in /boot as well and I tried both of them. But no matter what I tried, it never creates the same 6.1 MiB vmlinuz-huge file. Why not? Is /boot/config-huge-3.10.17 not the config file that is used to create vmlinuz-huge?
|
There are a few steps to carry out:
cd /usr/src/linux
make mrproper
cp /boot/config-huge-3.10.17 .config
make oldconfig
and/or make menuconfig and add/remove the stuff you want/don't want
make -j(number of processors*cores on your computer NOT more) bzImage
Now go check the size of arch/x86/boot/bzImage:
ls -l arch/x86/boot/bzImage
Last edited by rogan; 10-14-2014 at 02:09 PM.
|
|
|
10-18-2014, 03:10 AM
|
#13
|
LQ Newbie
Registered: Oct 2014
Location: planet Earth
Distribution: Slackware
Posts: 21
Original Poster
Rep:
|
I want to thank you all for telling me how to compile a kernel.
But... so far, none of you could tell me what to do to create an exact copy of the huge kernel found in /boot.
Even if I follow the steps that Pat uses, it doesn't create the same file. And please take notice: I don't need to re-create the same file, I'm just wondering what to do to create the same thing.
If anybody managed to re-create the same file, please don't hesitate to post how you did it.
|
|
|
10-18-2014, 03:56 AM
|
#14
|
LQ Newbie
Registered: Oct 2013
Posts: 20
Rep:
|
Maybe Pat has a special configuration file. For the purposes of the new edition of Slackware.
Or something in your machine is wrong
|
|
|
10-18-2014, 05:40 AM
|
#15
|
Senior Member
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Rep:
|
When I use the documented procedure, arch/x86/boot/bzImage is 6438016 bytes. /boot/vmlinuz-huge-3.10.17 is 6441264 bytes. That's 3248 bytes difference. That's plenty close enough.
If you want a bit-for-bit exactly reproducible executable, that is not possible without the use of experimental tools. There are multiple sources of nondeterminism; date and time stamps are just one example. We already had another thread about that this week ( here). If you want to know more, look at https://wiki.debian.org/ReproducibleBuilds and https://wiki.debian.org/SameKernel
|
|
|
All times are GMT -5. The time now is 07:08 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|