Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
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.
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.
Tried that and it still can't find the map file. It must be a problem with the 2.6.27.4 kernel as I have the 2.6.22.5 kernel installed on a USB stick of exactly the same size and type as the 2.6.27.4 one and there isn't a problem.
Either you ran 'make clean' or you haven't permissions. There is some silly nonsense there, as a kernel build makes a System.map. Nobody can particularly help you. Hunt around as root and sort it.
Either you ran 'make clean' or you haven't permissions. There is some silly nonsense there, as a kernel build makes a System.map. Nobody can particularly help you. Hunt around as root and sort it.
I must have permissions as I build and install as root. I run make mrproper as the LFS6.4 book says and I chown -R 0:0 on the linux source directory.
make mrproper removes everything from your build, leaving only a vanilla kernel. Even your .config is gone, unless you made a backup. If you repeat the 'make' with a copy of your backup, you won't have to install anything except the System.map
cp (your backup kernel .config) /usr/src/linux-*
make
cp System.map /boot/System.map-2.6.27.4
If you have a boot partition, remember that if it's not mounted and you write to it, the files go into the directory /boot. Then you mount the partition, and the files are invisible.
Also try
updatedb
locate System.map*
to search the disk for it. typos are possible in lfs - Take it from someone whop made many.
make mrproper removes everything from your build, leaving only a vanilla kernel. Even your .config is gone, unless you made a backup. If you repeat the 'make' with a copy of your backup, you won't have to install anything except the System.map
cp (your backup kernel .config) /usr/src/linux-*
make
cp System.map /boot/System.map-2.6.27.4
If you have a boot partition, remember that if it's not mounted and you write to it, the files go into the directory /boot. Then you mount the partition, and the files are invisible.
Also try
updatedb
locate System.map*
to search the disk for it. typos are possible in lfs - Take it from someone whop made many.
I've done all that you have suggested with no luck. I'm now on kernel version 2.6.27.10 and it can't find that one either. However both kernels do conpile and boot to a command line. The only way I could do this though was to use the config file from my 2.6.22.5 system and run make oldconfig.
Otherwise succesfully booting a kernel is impossible without a kernel panic, how I managed it with the 2.6.22.5 version I don't know. It was more luck than anything else.
There are so many options most of which mean nothing to me (and to most people I suspect). Anyway rant over.
I think the main problem I have is that I've installed LFS onto USB 2.0 sticks and I wouldn't have these problems if I install LFS on a hard disk.
ok. You sound like you are getting there. But if you lose System.map you are doing something wrong. After the make there should be a system.map (presuming you have modules. It should be in the kernel source. Copying it to /boot should succeed. Check these steps.
Configuring your kernel is an education. Take your time and read the help.
If you blank out, you can do: make allmodconfig. That makes all things as modules where possible. You can usually ignore options that require server support (= cpu time from a server).
I back up every .config to /root. There are web guides on kernel building. We are running
make modules_install, aren't we?? Send exact errors.
Last edited by business_kid; 12-23-2008 at 08:15 AM.
If you blank out, you can do: make allmodconfig. That makes all things as modules where possible. You can usually ignore options that require server support (= cpu time from a server).
make modules_install, aren't we?? Send exact errors.
I build everything statically. I make absolutely sure I don't make any modules. Now I know this makes the kernel bigger but I have 2GB of RAM and I haven't installed X windows yet. So I don't run make modules_install.
I tried reading the /etc/modprobe.conf man and info pages but I can't make head or tail of them so I don't use modules at all.
Thanks for that. I never considered that as a possibility.
I would run 'make modules' and 'make modules_install' as the lfs book says. That will create a System.map appropriate to your kernel. Then install it and we can kill off this thread. By now you must have been told "FBBG"
Follow the Book; The Book is Good!
The story with modprobe.conf requires a little explaining: Prior kernel versions (2.0, 2.2) had a very dodgy module interface, which peaked at user friendliness in the 2.4 kernels. So, of course, it was blindingly obvious that this had to be rewritten :-/. The 2.6 kernel interface gave us 'features' that didn't work, and were later dropped. As soon as you get used to one thing, the rule is they have to change it. So it's not modprobe.conf any more, it's /etc/modprobe.d/files (Don't ask me why)
To cut to the chase, you go around your devices driven by modules and throw in lines as required.
alias device module, e.g.
alias eth0 via-rhine #loads the via rhine module when the kernel is looking for eth0. It's a way of telling the kernel what driver to use.
options via-rhine <whatever> e.g.
options via-rhine -c1 -b3 -x2
would pass those options to the via rhine module every time it was put in. Alsa throws in a bit of this. I haven't had to use it elsewhere - it's for things like isa sound cards and weirdo devices.
Forget the rest.
Last edited by business_kid; 12-27-2008 at 05:10 AM.
Reason: mistake
Install the modules, if the kernel configuration uses them:
The operative word being if. Since I make sure there are no CONFIG options set to m in my config file I don't run make modules_install.
Your right though I think it is about time this thread is closed. I've done a bit of googling and it appears LFS have had this problem since version 5.1, opensuse has this problem and RedHat has had it since 1996! So I not the only one
Thanks for all your help especially concerning the /etc/modprobe.d/files directory as I was wondering what this was for if there was an /etc/modprobe.conf file
Install the modules, if the kernel configuration uses them:
The operative word being if. Since I make sure there are no CONFIG options set to m in my config file I don't run make modules_install.
If you ran make modules and System.map appeared, I would give them hell on the lfs list over that. BTW, I disagree with making non modular kernels. If you ever had an issue with a module (Like I did for 4 years with ehci-hcd) having it non modular is a disaster. I could always run 'rmmod -f ehci_hcd). Also, I remember days of low ram, dodgy modules needing options, and have certain habits formed.
Just an additional note (yes, I know this thread is closed!): I've had exactly the same problem in LFS6.4 with a lovingly hand-crafted kernel and (just like gazza1z) I worked exactly from the book. System.map-($uname -r) is present in /boot AND I soft-linked it to /boot/System.map.
I built LFS 6.3 last year in a similar manner with no problems at all (so it's unlikely I've been an idiot this time).
Unfortunately (according to the klogd manual page) there are some drivers that require the map, so I can't just ignore it (and I hate unexplained things in my distro anyway). There's been no subsequent Internet posting that solves this issue, so I guess I'll have to trawl through the source code for klogd next :-(
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.